OSDN Git Service

mesa: add another special/optimized case in _mesa_unpack_depth_span()
authorBrian Paul <brianp@vmware.com>
Tue, 7 Apr 2009 23:31:14 +0000 (17:31 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 7 Apr 2009 23:31:14 +0000 (17:31 -0600)
src/mesa/main/image.c

index 5cb110f..ddae456 100644 (file)
@@ -4546,6 +4546,17 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
          }
          return;
       }
+      if (srcType == GL_UNSIGNED_INT_24_8
+          && dstType == GL_UNSIGNED_INT
+          && depthMax == 0xffffff) {
+         const GLuint *src = (const GLuint *) source;
+         GLuint *dst = (GLuint *) dest;
+         GLuint i;
+         for (i = 0; i < n; i++) {
+            dst[i] = src[i] >> 8;
+         }
+         return;
+      }
       /* XXX may want to add additional cases here someday */
    }