Mesa (main): freedreno/a5xx: Don't try to emit FS images in binning command streams.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Aug 4 17:39:01 UTC 2021
Module: Mesa
Branch: main
Commit: 1f66fcf5a6df73fc9b9f0642fe6c27cb67363be5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f66fcf5a6df73fc9b9f0642fe6c27cb67363be5
Author: Emma Anholt <emma at anholt.net>
Date: Tue Aug 3 17:01:26 2021 -0700
freedreno/a5xx: Don't try to emit FS images in binning command streams.
We don't have a compiled FS in that case, so the shader deref fails. We
don't need the state, anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12192>
---
src/freedreno/ci/deqp-freedreno-a530-fails.txt | 10 ----------
src/gallium/drivers/freedreno/a5xx/fd5_emit.c | 12 +++++++-----
.../drivers/freedreno/ci/piglit-freedreno-a530-fails.txt | 1 -
3 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/src/freedreno/ci/deqp-freedreno-a530-fails.txt b/src/freedreno/ci/deqp-freedreno-a530-fails.txt
index 9b5a94d1d48..5b3c54406b4 100644
--- a/src/freedreno/ci/deqp-freedreno-a530-fails.txt
+++ b/src/freedreno/ci/deqp-freedreno-a530-fails.txt
@@ -6,16 +6,6 @@ dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner,Fail
-dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil,Crash
-dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo,Crash
-dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo_with_no_stencil,Crash
-dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_stencil,Crash
-dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_stencil_fbo,Crash
-dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_stencil_fbo_with_no_stencil,Crash
-dEQP-GLES31.functional.layout_binding.image.image2d.fragment_binding_array,Crash
-dEQP-GLES31.functional.layout_binding.image.image2d.fragment_binding_max,Crash
-dEQP-GLES31.functional.layout_binding.image.image3d.fragment_binding_array,Crash
-dEQP-GLES31.functional.layout_binding.image.image3d.fragment_binding_max,Crash
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth24_stencil8.gather_size_pot,Fail
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.gather_size_pot,Fail
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.linear_size_pot,Fail
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
index 5476f5bd3a4..b98608c10b9 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
@@ -873,12 +873,14 @@ fd5_emit_state(struct fd_context *ctx, struct fd_ringbuffer *ring,
if (needs_border)
emit_border_color(ctx, ring);
- if (ctx->dirty_shader[PIPE_SHADER_FRAGMENT] & FD_DIRTY_SHADER_SSBO)
- emit_ssbos(ctx, ring, SB4_SSBO, &ctx->shaderbuf[PIPE_SHADER_FRAGMENT],
- fp);
+ if (!emit->binning_pass) {
+ if (ctx->dirty_shader[PIPE_SHADER_FRAGMENT] & FD_DIRTY_SHADER_SSBO)
+ emit_ssbos(ctx, ring, SB4_SSBO, &ctx->shaderbuf[PIPE_SHADER_FRAGMENT],
+ fp);
- if (ctx->dirty_shader[PIPE_SHADER_FRAGMENT] & FD_DIRTY_SHADER_IMAGE)
- fd5_emit_images(ctx, ring, PIPE_SHADER_FRAGMENT, fp);
+ if (ctx->dirty_shader[PIPE_SHADER_FRAGMENT] & FD_DIRTY_SHADER_IMAGE)
+ fd5_emit_images(ctx, ring, PIPE_SHADER_FRAGMENT, fp);
+ }
}
void
diff --git a/src/gallium/drivers/freedreno/ci/piglit-freedreno-a530-fails.txt b/src/gallium/drivers/freedreno/ci/piglit-freedreno-a530-fails.txt
index 309075ee4ca..d6a44470b43 100644
--- a/src/gallium/drivers/freedreno/ci/piglit-freedreno-a530-fails.txt
+++ b/src/gallium/drivers/freedreno/ci/piglit-freedreno-a530-fails.txt
@@ -321,7 +321,6 @@ spec at nv_copy_depth_to_color@nv_copy_depth_to_color 1 0x223344ff,Crash
spec at nv_copy_depth_to_color@nv_copy_depth_to_color 1 0x76356278,Crash
spec at nv_copy_image@nv_copy_image-formats,Fail
spec at nv_copy_image@nv_copy_image-formats at Source: GL_DEPTH32F_STENCIL8/Destination: GL_DEPTH32F_STENCIL8,Fail
-spec at nv_image_formats@nv_image_formats-gles3,Crash
spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Crash
spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
spec at glsl-1.30@execution at clipping@fs-clip-distance-interpolated,Crash
More information about the mesa-commit
mailing list