From: Kenneth Graunke Date: Sat, 5 Mar 2016 05:43:37 +0000 (-0800) Subject: mesa: Add GL_RED and GL_RG to ES3 effective internal format mapping. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8b3496f3782cc48b15fc7221392af2e416d9c2cb;p=mesa.git mesa: Add GL_RED and GL_RG to ES3 effective internal format mapping. The dEQP-GLES3.functional.fbo.completeness.renderable.texture. {color0,depth,stencil}.{red,rg}_unsigned_byte tests appear to expect GL_RED/GL_RG and GL_UNSIGNED_BYTE to map to GL_R8/GL_RG8, rather than returning an INVALID_OPERATION error. This makes perfect sense. However, RED and RG are strangely missing from the ES 3.0/3.1/3.2 spec's "Effective internal format corresponding to external format and type" tables. It may be worth filing a spec bug. Fixes the 6 dEQP tests mentioned above. Signed-off-by: Kenneth Graunke Reviewed-by: Alejandro PiƱeiro --- diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c index edfd7d6ed53..cf6495885b6 100644 --- a/src/mesa/main/glformats.c +++ b/src/mesa/main/glformats.c @@ -2603,6 +2603,10 @@ _mesa_es3_effective_internal_format_for_format_and_type(GLenum format, return GL_RGBA8; case GL_RGB: return GL_RGB8; + case GL_RG: + return GL_RG8; + case GL_RED: + return GL_R8; /* Although LUMINANCE_ALPHA, LUMINANCE and ALPHA appear in table 3.12, * (section 3.8 Texturing, page 128 of the OpenGL-ES 3.0.4) as effective * internal formats, they do not correspond to GL constants, so the base