From 6e6646c03788f198a9878763680c05342d7622f3 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Mon, 14 Sep 2015 15:54:12 -0700 Subject: Unify extensions parsing behavior Removes remnants of EGL extension support, and persistence of GL extension list. Change-Id: I35aec12d900bdb33549ea47654bb8146f350ef48 --- libs/hwui/Extensions.cpp | 66 +++++++----------------------------------------- 1 file changed, 9 insertions(+), 57 deletions(-) (limited to 'libs/hwui/Extensions.cpp') diff --git a/libs/hwui/Extensions.cpp b/libs/hwui/Extensions.cpp index 3d350c98892b..06c8a21b019b 100644 --- a/libs/hwui/Extensions.cpp +++ b/libs/hwui/Extensions.cpp @@ -18,23 +18,14 @@ #include "Debug.h" #include "Properties.h" +#include "utils/StringUtils.h" -#include -#include #include #include namespace android { - -using namespace uirenderer; -ANDROID_SINGLETON_STATIC_INSTANCE(Extensions); - namespace uirenderer { -/////////////////////////////////////////////////////////////////////////////// -// Defines -/////////////////////////////////////////////////////////////////////////////// - // Debug #if DEBUG_EXTENSIONS #define EXT_LOGD(...) ALOGD(__VA_ARGS__) @@ -42,20 +33,16 @@ namespace uirenderer { #define EXT_LOGD(...) #endif -/////////////////////////////////////////////////////////////////////////////// -// Constructors -/////////////////////////////////////////////////////////////////////////////// Extensions::Extensions() { - // Query GL extensions - findExtensions((const char*) glGetString(GL_EXTENSIONS), mGlExtensionList); - mHasNPot = hasGlExtension("GL_OES_texture_npot"); - mHasFramebufferFetch = hasGlExtension("GL_NV_shader_framebuffer_fetch"); - mHasDiscardFramebuffer = hasGlExtension("GL_EXT_discard_framebuffer"); - mHasDebugMarker = hasGlExtension("GL_EXT_debug_marker"); - mHas1BitStencil = hasGlExtension("GL_OES_stencil1"); - mHas4BitStencil = hasGlExtension("GL_OES_stencil4"); - mHasUnpackSubImage = hasGlExtension("GL_EXT_unpack_subimage"); + StringCollection extensions((const char*) glGetString(GL_EXTENSIONS)); + mHasNPot = extensions.has("GL_OES_texture_npot"); + mHasFramebufferFetch = extensions.has("GL_NV_shader_framebuffer_fetch"); + mHasDiscardFramebuffer = extensions.has("GL_EXT_discard_framebuffer"); + mHasDebugMarker = extensions.has("GL_EXT_debug_marker"); + mHas1BitStencil = extensions.has("GL_OES_stencil1"); + mHas4BitStencil = extensions.has("GL_OES_stencil4"); + mHasUnpackSubImage = extensions.has("GL_EXT_unpack_subimage"); const char* version = (const char*) glGetString(GL_VERSION); @@ -78,40 +65,5 @@ Extensions::Extensions() { } } -/////////////////////////////////////////////////////////////////////////////// -// Methods -/////////////////////////////////////////////////////////////////////////////// - -bool Extensions::hasGlExtension(const char* extension) const { - const String8 s(extension); - return mGlExtensionList.indexOf(s) >= 0; -} - -bool Extensions::hasEglExtension(const char* extension) const { - const String8 s(extension); - return mEglExtensionList.indexOf(s) >= 0; -} - -void Extensions::findExtensions(const char* extensions, SortedVector& list) const { - const char* current = extensions; - const char* head = current; - EXT_LOGD("Available extensions:"); - do { - head = strchr(current, ' '); - String8 s(current, head ? head - current : strlen(current)); - if (s.length()) { - list.add(s); - EXT_LOGD(" %s", s.string()); - } - current = head + 1; - } while (head); -} - -void Extensions::dump() const { - ALOGD("%s", (const char*) glGetString(GL_VERSION)); - ALOGD("Supported GL extensions:\n%s", (const char*) glGetString(GL_EXTENSIONS)); - ALOGD("Supported EGL extensions:\n%s", eglQueryString(eglGetCurrentDisplay(), EGL_EXTENSIONS)); -} - }; // namespace uirenderer }; // namespace android -- cgit v1.2.3-59-g8ed1b