GL_BGR can't be used with the packed types, according to the GL spec. Enforce such.
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 12 May 2004 22:54:47 +0000 (22:54 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 12 May 2004 22:54:47 +0000 (22:54 +0000)
src/mesa/main/image.c

index db14e38c57c9b78deea244c66ffc618458aa0514..03f6aff339172ac100159456f979738afa8d790a 100644 (file)
@@ -377,7 +377,6 @@ _mesa_is_legal_format_and_type( GLcontext *ctx, GLenum format, GLenum type )
                return GL_FALSE;
          }
       case GL_RGB:
-      case GL_BGR:
          switch (type) {
             case GL_BYTE:
             case GL_UNSIGNED_BYTE:
@@ -396,6 +395,21 @@ _mesa_is_legal_format_and_type( GLcontext *ctx, GLenum format, GLenum type )
             default:
                return GL_FALSE;
          }
+      case GL_BGR:
+         switch (type) {
+            case GL_BYTE:
+            case GL_UNSIGNED_BYTE:
+            case GL_SHORT:
+            case GL_UNSIGNED_SHORT:
+            case GL_INT:
+            case GL_UNSIGNED_INT:
+            case GL_FLOAT:
+               return GL_TRUE;
+            case GL_HALF_FLOAT_ARB:
+               return ctx->Extensions.ARB_half_float_pixel;
+            default:
+               return GL_FALSE;
+         }
       case GL_RGBA:
       case GL_BGRA:
       case GL_ABGR_EXT: