mesa: Enables GL_RGB and GL_RGBA unsized internal formats for OpenGL ES 3.0
authorEduardo Lima Mitev <elima@igalia.com>
Thu, 20 Nov 2014 13:02:46 +0000 (14:02 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Tue, 9 Dec 2014 10:40:00 +0000 (11:40 +0100)
GL_RGB and GL_RGBA are valid internal formats on a GLES3 profile. See
"Table 1. Unsized Internal Formats" at
https://www.khronos.org/opengles/sdk/docs/man3/html/glTexImage2D.xhtml.

Fixes 2 dEQP tests:
- dEQP-GLES3.functional.state_query.internal_format.rgb_samples
- dEQP-GLES3.functional.state_query.internal_format.rgba_samples

Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/fbobject.c

index f5c11c460a9d591fa10a8d58b14dcc8099e5fcdf..4c3c157a47e798b10147c7277a0c2de59f039e84 100644 (file)
@@ -1430,6 +1430,9 @@ _mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat)
    case GL_RGB8:
       return GL_RGB;
    case GL_RGB:
+      if (_mesa_is_gles3(ctx))
+         return GL_RGB;
+      /* fallthrough */
    case GL_R3_G3_B2:
    case GL_RGB4:
    case GL_RGB5:
@@ -1444,6 +1447,9 @@ _mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat)
    case GL_RGBA8:
       return GL_RGBA;
    case GL_RGBA:
+      if (_mesa_is_gles3(ctx))
+         return GL_RGBA;
+      /* fallthrough */
    case GL_RGBA2:
    case GL_RGBA12:
    case GL_RGBA16: