From 1deac99c557d4be757c266e066a0d614c1959474 Mon Sep 17 00:00:00 2001 From: John Reck Date: Tue, 27 Sep 2016 14:45:28 -0700 Subject: [PATCH] Support EGL_KHR_partial_update without EGL_EXT_buffer_age Bug: 31334677 Test: manual && hwuimacro --onscreen partialdamage Change-Id: I9b346b4053ec12c8a78a143a4dc0e708c44888a2 --- libs/hwui/renderthread/EglManager.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/hwui/renderthread/EglManager.cpp b/libs/hwui/renderthread/EglManager.cpp index ac6a28fe62891..86731c9581be9 100644 --- a/libs/hwui/renderthread/EglManager.cpp +++ b/libs/hwui/renderthread/EglManager.cpp @@ -134,7 +134,12 @@ void EglManager::initialize() { void EglManager::initExtensions() { auto extensions = StringUtils::split( eglQueryString(mEglDisplay, EGL_EXTENSIONS)); - EglExtensions.bufferAge = extensions.has("EGL_EXT_buffer_age"); + // For our purposes we don't care if EGL_BUFFER_AGE is a result of + // EGL_EXT_buffer_age or EGL_KHR_partial_update as our usage is covered + // under EGL_KHR_partial_update and we don't need the expanded scope + // that EGL_EXT_buffer_age provides. + EglExtensions.bufferAge = extensions.has("EGL_EXT_buffer_age") + || extensions.has("EGL_KHR_partial_update"); EglExtensions.setDamage = extensions.has("EGL_KHR_partial_update"); LOG_ALWAYS_FATAL_IF(!extensions.has("EGL_KHR_swap_buffers_with_damage"), "Missing required extension EGL_KHR_swap_buffers_with_damage");