Add call sites for OpenGL's debug label extension
Change-Id: I9c689127e8166cbef92c935f8aa07217ab806dda
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 @@
///////////////////////////////////////////////////////////////////////////////
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 @@
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;