mesa/st: don't guess the internal format if it's known

This fixes tests using imageLoad/imageStore on texture
created using glEGLImageTargetTexture2DOES.

Before this change, the format was guessed as GL_RGBA,
which would be rejected by _mesa_get_shader_image_format.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16662>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2022-05-20 17:31:46 +02:00 committed by Marge Bot
parent 085bdd89c2
commit 8856379a03
13 changed files with 10 additions and 42 deletions

View File

@ -413,7 +413,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb@sRGB decode,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail

View File

@ -160,8 +160,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode ful
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb@sRGB decode,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_textureSize,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail

View File

@ -140,9 +140,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
wgl@wgl-multi-context-single-window,Fail
wgl@wgl-multi-window-single-context,Fail

1 # piglit failures
140 spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
141 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
142 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
143 spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
144 wgl@wgl-multi-context-single-window,Fail
145 wgl@wgl-multi-window-single-context,Fail

View File

@ -148,9 +148,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
wgl@wgl-multi-context-single-window,Fail
wgl@wgl-multi-window-single-context,Fail

1 # piglit failures
148 spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
149 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
150 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
151 spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
152 wgl@wgl-multi-context-single-window,Fail
153 wgl@wgl-multi-window-single-context,Fail

View File

@ -247,9 +247,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
wgl@wgl-multi-context-single-window,Fail
wgl@wgl-multi-window-single-context,Fail

1 # piglit failures
247 spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
248 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
249 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
250 spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
251 wgl@wgl-multi-context-single-window,Fail
252 wgl@wgl-multi-window-single-context,Fail

View File

@ -252,9 +252,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@nv_compute_shader_derivatives@compiler@new_functions.comp,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
wgl@wgl-multi-context-single-window,Fail
wgl@wgl-multi-window-single-context,Fail

1 # piglit failures
252 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
253 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
254 spec@nv_compute_shader_derivatives@compiler@new_functions.comp,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
255 spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
256 wgl@wgl-multi-context-single-window,Fail
257 wgl@wgl-multi-window-single-context,Fail

View File

@ -158,9 +158,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
wgl@wgl-multi-context-single-window,Fail
wgl@wgl-multi-window-single-context,Fail

1 # piglit failures
158 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
159 spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
160 spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
161 wgl@wgl-multi-context-single-window,Fail
162 wgl@wgl-multi-window-single-context,Fail
163 wgl@wgl-sanity,Fail

View File

@ -126,9 +126,6 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode ful
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
CreateContext/VAAPICreateContext.CreateContext/1035,Crash
CreateContext/VAAPICreateContext.CreateContext/1120,Crash

View File

@ -1346,10 +1346,6 @@ spec@nv_primitive_restart@primitive-restart-draw-mode-triangle_strip,Fail
spec@nv_primitive_restart@primitive-restart-draw-mode-triangles,Fail
spec@nv_read_depth@read_depth_gles3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_texture_view@rendering-formats,Fail
spec@oes_texture_view@rendering-formats@clear GL_RGBA8_SNORM as GL_R32F,Fail
spec@!opengl 1.0@depth-clear-precision-check,Fail

View File

@ -956,9 +956,6 @@ spec@nv_copy_image@nv_copy_image-formats@Source: GL_DEPTH_COMPONENT24/Destinatio
spec@nv_primitive_restart@primitive-restart-draw-mode-polygon,Crash
spec@nv_primitive_restart@primitive-restart-draw-mode-quad_strip,Crash
spec@nv_read_depth@read_depth_gles3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail
spec@!opengl 1.0@depth-clear-precision-check,Fail
spec@!opengl 1.0@depth-clear-precision-check@depth32,Fail

View File

@ -362,10 +362,6 @@ spec@arb_tessellation_shader@execution@tcs-tes-levels-out-of-bounds-write,Crash
spec@khr_texture_compression_astc@array-gles,Fail
spec@khr_texture_compression_astc@array-gles@12x12 Block Dim,Fail
spec@khr_texture_compression_astc@array-gles@5x5 Block Dim,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
#literally no driver can pass these
spec@!opengl 1.0@rasterpos,Fail

View File

@ -225,7 +225,3 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full
# piglit: error: Mode: ldrs Block: 5x5.
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageLoad,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail

View File

@ -272,12 +272,16 @@ st_bind_egl_image(struct gl_context *ctx,
GLenum internalFormat;
mesa_format texFormat;
/* map pipe format to base format */
if (util_format_get_component_bits(stimg->format,
UTIL_FORMAT_COLORSPACE_RGB, 3) > 0)
internalFormat = GL_RGBA;
else
internalFormat = GL_RGB;
if (stimg->internalformat) {
internalFormat = stimg->internalformat;
} else {
/* map pipe format to base format */
if (util_format_get_component_bits(stimg->format,
UTIL_FORMAT_COLORSPACE_RGB, 3) > 0)
internalFormat = GL_RGBA;
else
internalFormat = GL_RGB;
}
/* switch to surface based */
if (!texObj->surface_based) {