diff options
author | 2025-02-24 16:15:09 +0000 | |
---|---|---|
committer | 2025-02-25 18:39:55 +0000 | |
commit | df578c312241e44865cdd6d812bee7beb01d5712 (patch) | |
tree | 0255d7ea4a8e65fb15c7ff29d6dc55ff76ca7b55 /cmds/flatland/GLHelper.cpp | |
parent | fa43de91e0107627265eb03d1992def4670ccd01 (diff) |
BufferQueues: clean up constructors for GLConsumer and CpuConsumer
These currently use flags that muddy up client code. We've added nice
new *::create methods, so lets use those and clean
things up.
BYPASS_IGBP_IGBC_API_REASON=warren buffers
Bug: 398822412
Flag: EXEMPT refactor
Test: builds, presubmit
Change-Id: If86b22a6ddaed044afdaa06a2e2fb1c7a79ba941
Diffstat (limited to 'cmds/flatland/GLHelper.cpp')
-rw-r--r-- | cmds/flatland/GLHelper.cpp | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/cmds/flatland/GLHelper.cpp b/cmds/flatland/GLHelper.cpp index 77e732805e..6e6d27d463 100644 --- a/cmds/flatland/GLHelper.cpp +++ b/cmds/flatland/GLHelper.cpp @@ -202,26 +202,13 @@ bool GLHelper::getShaderProgram(const char* name, GLuint* outPgm) { } bool GLHelper::createNamedSurfaceTexture(GLuint name, uint32_t w, uint32_t h, - sp<GLConsumer>* glConsumer, EGLSurface* surface) { -#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ) - sp<GLConsumer> glc = new GLConsumer(name, GL_TEXTURE_EXTERNAL_OES, false, true); + sp<GLConsumer>* glConsumer, EGLSurface* surface) { + auto [glc, surf] = GLConsumer::create(name, GL_TEXTURE_EXTERNAL_OES, false, true); glc->setDefaultBufferSize(w, h); - glc->getSurface()->setMaxDequeuedBufferCount(2); glc->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER); + surf->setMaxDequeuedBufferCount(2); + sp<ANativeWindow> anw = surf; - sp<ANativeWindow> anw = glc->getSurface(); -#else - sp<IGraphicBufferProducer> producer; - sp<IGraphicBufferConsumer> consumer; - BufferQueue::createBufferQueue(&producer, &consumer); - sp<GLConsumer> glc = new GLConsumer(consumer, name, - GL_TEXTURE_EXTERNAL_OES, false, true); - glc->setDefaultBufferSize(w, h); - producer->setMaxDequeuedBufferCount(2); - glc->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER); - - sp<ANativeWindow> anw = new Surface(producer); -#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ) EGLSurface s = eglCreateWindowSurface(mDisplay, mConfig, anw.get(), nullptr); if (s == EGL_NO_SURFACE) { fprintf(stderr, "eglCreateWindowSurface error: %#x\n", eglGetError()); |