[PATCH 4/9] gles: sanity check GL_COMBINED_TEXTURE_IMAGE_UNITS

Imre Deak imre.deak at intel.com
Wed Apr 11 08:19:34 PDT 2012


At least the Android software GL implementation doesn't return the
proper value for this, but rather returns 0. The GL(ES) specification
mandates a minimum value of 2, so use this as a fall-back value.

Signed-off-by: Imre Deak <imre.deak at intel.com>
---
 glstate_images.cpp |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/glstate_images.cpp b/glstate_images.cpp
index 2c7c66b..edda6fc 100644
--- a/glstate_images.cpp
+++ b/glstate_images.cpp
@@ -429,7 +429,10 @@ dumpTextures(JSONWriter &json, Context &context)
     glGetIntegerv(GL_MAX_TEXTURE_COORDS, &max_texture_coords);
     GLint max_combined_texture_image_units = 0;
     glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &max_combined_texture_image_units);
+    glGetIntegerv(GL_MAX_TEXTURE_UNITS, &max_combined_texture_image_units);
     GLint max_units = std::max(max_combined_texture_image_units, max_texture_coords);
+    if (!max_units)
+        max_units = 2;
     for (GLint unit = 0; unit < max_units; ++unit) {
         GLenum texture = GL_TEXTURE0 + unit;
         glActiveTexture(texture);
-- 
1.7.5.4



More information about the apitrace mailing list