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

Commit 821b38ca authored by Wonsik Kim's avatar Wonsik Kim
Browse files

librenderfright: remove libgui dependency

Bug: 160259947
Test: builds
Change-Id: Ieeae24acfd415b65be0166905191578196702eeb
parent 3e475acc
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ cc_defaults {
        "libEGL",
        "libGLESv1_CM",
        "libGLESv2",
        "libgui",
        "liblog",
        "libnativewindow",
        "libprocessgroup",
+35 −3
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@

#include <cutils/properties.h>
#include <log/log.h>
#include <private/gui/SyncFeatures.h>
#include "gl/GLESRenderEngine.h"
#include "threaded/RenderEngineThreaded.h"

@@ -52,6 +51,39 @@ std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArg

RenderEngine::~RenderEngine() = default;

// static
SyncFeatures &SyncFeatures::GetInstance() {
    static SyncFeatures syncFeatures;
    return syncFeatures;
}

bool SyncFeatures::useNativeFenceSync() const { return mHasNativeFenceSync; }
bool SyncFeatures::useFenceSync() const { return mHasFenceSync; }
bool SyncFeatures::useWaitSync() const { return mHasWaitSync; }

SyncFeatures::SyncFeatures()
    : mHasNativeFenceSync(false),
      mHasFenceSync(false),
      mHasWaitSync(false) {
    EGLDisplay dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
    // This can only be called after EGL has been initialized; otherwise the
    // check below will abort.
    const char* exts = eglQueryString(dpy, EGL_EXTENSIONS);
    LOG_ALWAYS_FATAL_IF(exts == nullptr, "eglQueryString failed");
    if (strstr(exts, "EGL_ANDROID_native_fence_sync")) {
        // This makes GLConsumer use the EGL_ANDROID_native_fence_sync
        // extension to create Android native fences to signal when all
        // GLES reads for a given buffer have completed.
        mHasNativeFenceSync = true;
    }
    if (strstr(exts, "EGL_KHR_fence_sync")) {
        mHasFenceSync = true;
    }
    if (strstr(exts, "EGL_KHR_wait_sync")) {
        mHasWaitSync = true;
    }
}

namespace impl {

RenderEngine::RenderEngine(const RenderEngineCreationArgs& args) : mArgs(args) {}
@@ -59,11 +91,11 @@ RenderEngine::RenderEngine(const RenderEngineCreationArgs& args) : mArgs(args) {
RenderEngine::~RenderEngine() = default;

bool RenderEngine::useNativeFenceSync() const {
    return SyncFeatures::getInstance().useNativeFenceSync();
    return SyncFeatures::GetInstance().useNativeFenceSync();
}

bool RenderEngine::useWaitSync() const {
    return SyncFeatures::getInstance().useWaitSync();
    return SyncFeatures::GetInstance().useWaitSync();
}

} // namespace impl
+0 −6
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@
#include <android-base/stringprintf.h>
#include <cutils/compiler.h>
#include <cutils/properties.h>
#include <gui/DebugEGLImageTracker.h>
#include <renderengine/Mesh.h>
#include <renderengine/Texture.h>
#include <renderengine/private/Description.h>
@@ -436,7 +435,6 @@ GLESRenderEngine::~GLESRenderEngine() {
        EGLImageKHR expired = mFramebufferImageCache.front().second;
        mFramebufferImageCache.pop_front();
        eglDestroyImageKHR(mEGLDisplay, expired);
        DEBUG_EGL_IMAGE_TRACKER_DESTROY();
    }
    eglDestroyImageKHR(mEGLDisplay, mPlaceholderImage);
    mImageCache.clear();
@@ -1012,15 +1010,11 @@ EGLImageKHR GLESRenderEngine::createFramebufferImageIfNeeded(ANativeWindowBuffer
                EGLImageKHR expired = mFramebufferImageCache.front().second;
                mFramebufferImageCache.pop_front();
                eglDestroyImageKHR(mEGLDisplay, expired);
                DEBUG_EGL_IMAGE_TRACKER_DESTROY();
            }
            mFramebufferImageCache.push_back({graphicBuffer->getId(), image});
        }
    }

    if (image != EGL_NO_IMAGE_KHR) {
        DEBUG_EGL_IMAGE_TRACKER_CREATE();
    }
    return image;
}

+0 −2
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@
#include <GLES/glext.h>
#include <GLES2/gl2ext.h>
#include <GLES3/gl3.h>
#include <gui/DebugEGLImageTracker.h>
#include <nativebase/nativebase.h>
#include <utils/Trace.h>
#include "GLESRenderEngine.h"
@@ -48,7 +47,6 @@ bool GLFramebuffer::setNativeWindowBuffer(ANativeWindowBuffer* nativeBuffer, boo
    if (mEGLImage != EGL_NO_IMAGE_KHR) {
        if (!usingFramebufferCache) {
            eglDestroyImageKHR(mEGLDisplay, mEGLImage);
            DEBUG_EGL_IMAGE_TRACKER_DESTROY();
        }
        mEGLImage = EGL_NO_IMAGE_KHR;
        mBufferWidth = 0;
+0 −3
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@

#include <vector>

#include <gui/DebugEGLImageTracker.h>
#include <log/log.h>
#include <utils/Trace.h>
#include "GLESRenderEngine.h"
@@ -59,7 +58,6 @@ bool GLImage::setNativeWindowBuffer(ANativeWindowBuffer* buffer, bool isProtecte
        if (!eglDestroyImageKHR(mEGLDisplay, mEGLImage)) {
            ALOGE("failed to destroy image: %#x", eglGetError());
        }
        DEBUG_EGL_IMAGE_TRACKER_DESTROY();
        mEGLImage = EGL_NO_IMAGE_KHR;
    }

@@ -71,7 +69,6 @@ bool GLImage::setNativeWindowBuffer(ANativeWindowBuffer* buffer, bool isProtecte
            ALOGE("failed to create EGLImage: %#x", eglGetError());
            return false;
        }
        DEBUG_EGL_IMAGE_TRACKER_CREATE();
        mProtected = isProtected;
    }

Loading