Mesa (main): mesa/st: don't guess the internal format if it's known
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jul 7 12:52:37 UTC 2022
Module: Mesa
Branch: main
Commit: 8856379a030be313227ba4d92083a4b05749b58e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8856379a030be313227ba4d92083a4b05749b58e
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date: Fri May 20 17:31:46 2022 +0200
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 at redhat.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16662>
---
src/freedreno/ci/freedreno-a630-fails.txt | 1 -
src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt | 2 --
src/gallium/drivers/radeonsi/ci/gfx10-navi10-fail.csv | 3 ---
src/gallium/drivers/radeonsi/ci/gfx10_3-navi21-fail.csv | 3 ---
src/gallium/drivers/radeonsi/ci/gfx8-polaris11-fail.csv | 3 ---
src/gallium/drivers/radeonsi/ci/gfx9-raven-fail.csv | 3 ---
src/gallium/drivers/radeonsi/ci/gfx9-vega20-fail.csv | 3 ---
.../drivers/radeonsi/ci/radeonsi-stoney-fails.txt | 3 ---
src/gallium/drivers/softpipe/ci/softpipe-fails.txt | 4 ----
src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt | 3 ---
src/gallium/drivers/zink/ci/zink-lvp-fails.txt | 4 ----
src/intel/ci/iris-kbl-fails.txt | 4 ----
src/mesa/state_tracker/st_cb_eglimage.c | 16 ++++++++++------
13 files changed, 10 insertions(+), 42 deletions(-)
diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt
index 0c41d07ab4c..e2b50755547 100644
--- a/src/freedreno/ci/freedreno-a630-fails.txt
+++ b/src/freedreno/ci/freedreno-a630-fails.txt
@@ -413,7 +413,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full precision,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb at sRGB decode,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
diff --git a/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt b/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt
index 3c59a3cbb19..d165affe0ef 100644
--- a/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt
+++ b/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt
@@ -160,8 +160,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode ful
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb at sRGB decode,Fail
spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_textureSize,Fail
spec at arb_gpu_shader_fp64@execution at conversion@frag-conversion-explicit-dmat2-mat2,Fail
diff --git a/src/gallium/drivers/radeonsi/ci/gfx10-navi10-fail.csv b/src/gallium/drivers/radeonsi/ci/gfx10-navi10-fail.csv
index 308a7745a51..d76031c1f7f 100644
--- a/src/gallium/drivers/radeonsi/ci/gfx10-navi10-fail.csv
+++ b/src/gallium/drivers/radeonsi/ci/gfx10-navi10-fail.csv
@@ -140,9 +140,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full precision,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode full precision,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_shader_io_blocks@compiler at layout-location-aliasing.vert,Fail
wgl at wgl-multi-context-single-window,Fail
wgl at wgl-multi-window-single-context,Fail
diff --git a/src/gallium/drivers/radeonsi/ci/gfx10_3-navi21-fail.csv b/src/gallium/drivers/radeonsi/ci/gfx10_3-navi21-fail.csv
index 4dd7599f501..95bebb9e3ea 100644
--- a/src/gallium/drivers/radeonsi/ci/gfx10_3-navi21-fail.csv
+++ b/src/gallium/drivers/radeonsi/ci/gfx10_3-navi21-fail.csv
@@ -148,9 +148,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full precision,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode full precision,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_shader_io_blocks@compiler at layout-location-aliasing.vert,Fail
wgl at wgl-multi-context-single-window,Fail
wgl at wgl-multi-window-single-context,Fail
diff --git a/src/gallium/drivers/radeonsi/ci/gfx8-polaris11-fail.csv b/src/gallium/drivers/radeonsi/ci/gfx8-polaris11-fail.csv
index 54fbbc9a528..f9cc7a9d444 100644
--- a/src/gallium/drivers/radeonsi/ci/gfx8-polaris11-fail.csv
+++ b/src/gallium/drivers/radeonsi/ci/gfx8-polaris11-fail.csv
@@ -247,9 +247,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full precision,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode full precision,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_shader_io_blocks@compiler at layout-location-aliasing.vert,Fail
wgl at wgl-multi-context-single-window,Fail
wgl at wgl-multi-window-single-context,Fail
diff --git a/src/gallium/drivers/radeonsi/ci/gfx9-raven-fail.csv b/src/gallium/drivers/radeonsi/ci/gfx9-raven-fail.csv
index 7cd5f50959e..1f52c4ca20e 100644
--- a/src/gallium/drivers/radeonsi/ci/gfx9-raven-fail.csv
+++ b/src/gallium/drivers/radeonsi/ci/gfx9-raven-fail.csv
@@ -252,9 +252,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode full precision,Fail
spec at nv_compute_shader_derivatives@compiler at new_functions.comp,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_shader_io_blocks@compiler at layout-location-aliasing.vert,Fail
wgl at wgl-multi-context-single-window,Fail
wgl at wgl-multi-window-single-context,Fail
diff --git a/src/gallium/drivers/radeonsi/ci/gfx9-vega20-fail.csv b/src/gallium/drivers/radeonsi/ci/gfx9-vega20-fail.csv
index 8b6ece3128d..b8048c8931e 100644
--- a/src/gallium/drivers/radeonsi/ci/gfx9-vega20-fail.csv
+++ b/src/gallium/drivers/radeonsi/ci/gfx9-vega20-fail.csv
@@ -158,9 +158,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full precision,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode full precision,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_shader_io_blocks@compiler at layout-location-aliasing.vert,Fail
wgl at wgl-multi-context-single-window,Fail
wgl at wgl-multi-window-single-context,Fail
diff --git a/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt b/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt
index e53dd245806..15ab0aa63d8 100644
--- a/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt
+++ b/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt
@@ -126,9 +126,6 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode ful
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full precision,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
CreateContext/VAAPICreateContext.CreateContext/1035,Crash
CreateContext/VAAPICreateContext.CreateContext/1120,Crash
diff --git a/src/gallium/drivers/softpipe/ci/softpipe-fails.txt b/src/gallium/drivers/softpipe/ci/softpipe-fails.txt
index 67984a05fea..95257ca3113 100644
--- a/src/gallium/drivers/softpipe/ci/softpipe-fails.txt
+++ b/src/gallium/drivers/softpipe/ci/softpipe-fails.txt
@@ -1346,10 +1346,6 @@ spec at nv_primitive_restart@primitive-restart-draw-mode-triangle_strip,Fail
spec at nv_primitive_restart@primitive-restart-draw-mode-triangles,Fail
spec at nv_read_depth@read_depth_gles3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
-
spec at oes_texture_view@rendering-formats,Fail
spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_R32F,Fail
spec@!opengl 1.0 at depth-clear-precision-check,Fail
diff --git a/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt b/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt
index 76d71cad565..e3732a59883 100644
--- a/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt
+++ b/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt
@@ -956,9 +956,6 @@ spec at nv_copy_image@nv_copy_image-formats at Source: GL_DEPTH_COMPONENT24/Destinatio
spec at nv_primitive_restart@primitive-restart-draw-mode-polygon,Crash
spec at nv_primitive_restart@primitive-restart-draw-mode-quad_strip,Crash
spec at nv_read_depth@read_depth_gles3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
spec at oes_shader_io_blocks@compiler at layout-location-aliasing.vert,Fail
spec@!opengl 1.0 at depth-clear-precision-check,Fail
spec@!opengl 1.0 at depth-clear-precision-check@depth32,Fail
diff --git a/src/gallium/drivers/zink/ci/zink-lvp-fails.txt b/src/gallium/drivers/zink/ci/zink-lvp-fails.txt
index 39dc17d70ea..c4d6172eaaa 100644
--- a/src/gallium/drivers/zink/ci/zink-lvp-fails.txt
+++ b/src/gallium/drivers/zink/ci/zink-lvp-fails.txt
@@ -362,10 +362,6 @@ spec at arb_tessellation_shader@execution at tcs-tes-levels-out-of-bounds-write,Crash
spec at khr_texture_compression_astc@array-gles,Fail
spec at khr_texture_compression_astc@array-gles at 12x12 Block Dim,Fail
spec at khr_texture_compression_astc@array-gles at 5x5 Block Dim,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
-
#literally no driver can pass these
spec@!opengl 1.0 at rasterpos,Fail
diff --git a/src/intel/ci/iris-kbl-fails.txt b/src/intel/ci/iris-kbl-fails.txt
index 14abde12feb..adbaf54618a 100644
--- a/src/intel/ci/iris-kbl-fails.txt
+++ b/src/intel/ci/iris-kbl-fails.txt
@@ -225,7 +225,3 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp at sRGB decode full
# piglit: error: Mode: ldrs Block: 5x5.
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode full precision,Fail
-
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
-spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
diff --git a/src/mesa/state_tracker/st_cb_eglimage.c b/src/mesa/state_tracker/st_cb_eglimage.c
index 0912c35f5ae..03ff48b672f 100644
--- a/src/mesa/state_tracker/st_cb_eglimage.c
+++ b/src/mesa/state_tracker/st_cb_eglimage.c
@@ -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) {
More information about the mesa-commit
mailing list