diff options
Diffstat (limited to 'libs/hwui/Caches.cpp')
| -rw-r--r-- | libs/hwui/Caches.cpp | 50 |
1 files changed, 32 insertions, 18 deletions
diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp index 123695a..f210820 100644 --- a/libs/hwui/Caches.cpp +++ b/libs/hwui/Caches.cpp @@ -48,25 +48,9 @@ namespace uirenderer { /////////////////////////////////////////////////////////////////////////////// Caches::Caches(): Singleton<Caches>(), mInitialized(false) { - GLint maxTextureUnits; - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &maxTextureUnits); - if (maxTextureUnits < REQUIRED_TEXTURE_UNITS_COUNT) { - ALOGW("At least %d texture units are required!", REQUIRED_TEXTURE_UNITS_COUNT); - } - - glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize); - - if (extensions.hasDebugMarker()) { - eventMark = glInsertEventMarkerEXT; - startMark = glPushGroupMarkerEXT; - endMark = glPopGroupMarkerEXT; - } else { - eventMark = eventMarkNull; - startMark = startMarkNull; - endMark = endMarkNull; - } - init(); + initExtensions(); + initConstraints(); mDebugLevel = readDebugLevel(); ALOGD("Enabling debug mode %d", mDebugLevel); @@ -105,6 +89,36 @@ void Caches::init() { mInitialized = true; } +void Caches::initExtensions() { + if (extensions.hasDebugMarker()) { + eventMark = glInsertEventMarkerEXT; + startMark = glPushGroupMarkerEXT; + endMark = glPopGroupMarkerEXT; + } else { + eventMark = eventMarkNull; + startMark = startMarkNull; + endMark = endMarkNull; + } + + if (extensions.hasDebugLabel()) { + setLabel = glLabelObjectEXT; + getLabel = glGetObjectLabelEXT; + } else { + setLabel = setLabelNull; + getLabel = getLabelNull; + } +} + +void Caches::initConstraints() { + GLint maxTextureUnits; + glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &maxTextureUnits); + if (maxTextureUnits < REQUIRED_TEXTURE_UNITS_COUNT) { + ALOGW("At least %d texture units are required!", REQUIRED_TEXTURE_UNITS_COUNT); + } + + glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize); +} + void Caches::terminate() { if (!mInitialized) return; |
