Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 712d610d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Refactor TextureLayer JNI to use only APEX APIs"

parents dbd6e739 5af5d307
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -23,10 +23,10 @@
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>

#include <gui/Surface.h>
#include <gui/surfacetexture/SurfaceTexture.h>
#include <gui/BufferQueue.h>
#include <gui/surfacetexture/surface_texture_platform.h>
#include <gui/Surface.h>
#include <surfacetexture/SurfaceTexture.h>
#include <surfacetexture/surface_texture_platform.h>

#include "core_jni_helpers.h"

+4 −4
Original line number Diff line number Diff line
@@ -27,14 +27,14 @@
#include "android_runtime/android_view_Surface.h"
#include "android_runtime/android_graphics_SurfaceTexture.h"

#include <gui/Surface.h>
#include <gui/surfacetexture/SurfaceTexture.h>
#include <gui/IGraphicBufferProducer.h>
#include <gui/IProducerListener.h>
#include <ui/GraphicBuffer.h>
#include <system/window.h>
#include <gui/Surface.h>
#include <hardware/camera3.h>
#include <surfacetexture/SurfaceTexture.h>
#include <system/camera_metadata.h>
#include <system/window.h>
#include <ui/GraphicBuffer.h>

#include <stdint.h>
#include <inttypes.h>
+3 −8
Original line number Diff line number Diff line
@@ -19,12 +19,9 @@
#include "jni.h"
#include <nativehelper/JNIHelp.h>

#include <android/surface_texture_jni.h>
#include "core_jni_helpers.h"
#include <android_runtime/android_graphics_SurfaceTexture.h>

#include <gui/IGraphicBufferProducer.h>
#include <gui/surfacetexture/surface_texture_platform.h>
#include <gui/surfacetexture/SurfaceTexture.h>
#include <hwui/Paint.h>
#include <SkMatrix.h>
#include <DeferredLayerUpdater.h>
@@ -61,10 +58,8 @@ static void TextureLayer_setTransform(JNIEnv* env, jobject clazz,
static void TextureLayer_setSurfaceTexture(JNIEnv* env, jobject clazz,
        jlong layerUpdaterPtr, jobject surface) {
    DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerUpdaterPtr);
    auto consumer = SurfaceTexture_getSurfaceTexture(env, surface);
    auto producer = SurfaceTexture_getProducer(env, surface);
    layer->setSurfaceTexture(AutoTextureRelease(
            ASurfaceTexture_create(consumer, producer)));
    ASurfaceTexture* surfaceTexture = ASurfaceTexture_fromSurfaceTexture(env, surface);
    layer->setSurfaceTexture(AutoTextureRelease(surfaceTexture, &ASurfaceTexture_release));
}

static void TextureLayer_updateSurfaceTexture(JNIEnv* env, jobject clazz,
+3 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>

// TODO: Use public SurfaceTexture APIs once available and include public NDK header file instead.
#include <surfacetexture/surface_texture_platform.h>
#include "AutoBackendTextureRelease.h"
#include "Matrix.h"
#include "Properties.h"
@@ -34,6 +36,7 @@ namespace uirenderer {
DeferredLayerUpdater::DeferredLayerUpdater(RenderState& renderState)
        : mRenderState(renderState)
        , mBlend(false)
        , mSurfaceTexture(nullptr, [](ASurfaceTexture*) {})
        , mTransform(nullptr)
        , mGLContextAttached(false)
        , mUpdateTexImage(false)
+2 −3
Original line number Diff line number Diff line
@@ -21,8 +21,7 @@
#include <SkMatrix.h>
#include <android/hardware_buffer.h>
#include <cutils/compiler.h>
// TODO: Use public SurfaceTexture APIs once available and include public NDK header file instead.
#include <gui/surfacetexture/surface_texture_platform.h>
#include <android/surface_texture.h>

#include <map>
#include <memory>
@@ -37,7 +36,7 @@ namespace uirenderer {
class AutoBackendTextureRelease;
class RenderState;

typedef std::unique_ptr<ASurfaceTexture> AutoTextureRelease;
typedef std::unique_ptr<ASurfaceTexture, decltype(&ASurfaceTexture_release)> AutoTextureRelease;

// Container to hold the properties a layer should be set to at the start
// of a render pass
Loading