]> git.cworth.org Git - apitrace/commitdiff
Fix cube map image dumping.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Fri, 28 Sep 2012 16:39:51 +0000 (17:39 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Fri, 28 Sep 2012 17:51:38 +0000 (18:51 +0100)
retrace/glstate_images.cpp

index 6390980966a91c8e17048718b20f01630e6aa338..9bae85bba4861d73de6ef4ec9e723c3508ecb5d8 100644 (file)
@@ -232,6 +232,8 @@ getActiveTextureLevelDescOES(Context &context, GLenum target, GLint level, Image
 static inline bool
 getActiveTextureLevelDesc(Context &context, GLenum target, GLint level, ImageDesc &desc)
 {
+    assert(target != GL_TEXTURE_CUBE_MAP);
+
     if (context.ES) {
         return getActiveTextureLevelDescOES(context, target, level, desc);
     }
@@ -431,15 +433,18 @@ dumpTexture(JSONWriter &json, Context &context, GLenum target, GLenum binding)
     GLint level = 0;
     do {
         ImageDesc desc;
-        if (!getActiveTextureLevelDesc(context, target, level, desc)) {
-            break;
-        }
 
         if (target == GL_TEXTURE_CUBE_MAP) {
             for (int face = 0; face < 6; ++face) {
+                if (!getActiveTextureLevelDesc(context, GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level, desc)) {
+                    return;
+                }
                 dumpActiveTextureLevel(json, context, GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level);
             }
         } else {
+            if (!getActiveTextureLevelDesc(context, target, level, desc)) {
+                return;
+            }
             dumpActiveTextureLevel(json, context, target, level);
         }