mesa/gles: Allow format GL_RED to be used with MESA_FORMAT_R_UNORM

If the bound framebuffer has a format of MESA_FORMAT_R_UNORM, then
IMPLEMENTATION_COLOR_READ_FORMAT will return GL_RED. This change
applies to OpenGLES contexts where additional restrictions are placed
on the formats that are allowed to be supported.

Fixes OpenGLES 3.1 CTS tests:
 * ES31-CTS.texture_border_clamp.sampling_texture.Texture2DDC16
 * ES31-CTS.texture_border_clamp.sampling_texture.Texture2DDC16Linear
 * ES31-CTS.texture_border_clamp.sampling_texture.Texture2DDC32F
 * ES31-CTS.texture_border_clamp.sampling_texture.Texture2DDC32FLinear

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Jordan Justen 2016-04-24 19:38:03 -07:00
parent c4cb879f00
commit 50b82ecd77

View file

@ -858,6 +858,8 @@ _mesa_get_color_read_format(struct gl_context *ctx)
return GL_BGRA;
else if (format == MESA_FORMAT_B5G6R5_UNORM)
return GL_BGR;
else if (format == MESA_FORMAT_R_UNORM8)
return GL_RED;
switch (data_type) {
case GL_UNSIGNED_INT: