From d70edfcfd53b50da0c4bb7aad909302dca6d4722 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Mon, 17 Aug 2015 02:01:40 +0300 Subject: [PATCH] mesa: Initialize image unit state to different defaults in GLES. There is no GL_R8 image format in GLES, according to the state table 20.32 of the GLES 3.1 spec the default value should be GL_R32UI. The ES31-CTS.shader_image_load_store.basic-api-bind Khronos conformance test checks that this is the case. Reviewed-by: Ian Romanick --- src/mesa/main/shaderimage.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c index 48e3e09dd5d..5a3c47a62c8 100644 --- a/src/mesa/main/shaderimage.c +++ b/src/mesa/main/shaderimage.c @@ -397,10 +397,11 @@ is_image_format_supported(const struct gl_context *ctx, GLenum format) struct gl_image_unit _mesa_default_image_unit(struct gl_context *ctx) { + const GLenum format = _mesa_is_desktop_gl(ctx) ? GL_R8 : GL_R32UI; const struct gl_image_unit u = { .Access = GL_READ_ONLY, - .Format = GL_R8, - ._ActualFormat = _mesa_get_shader_image_format(GL_R8) + .Format = format, + ._ActualFormat = _mesa_get_shader_image_format(format) }; return u; } -- 2.30.2