Mesa (main): crocus: dirty blend state more often.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jun 24 07:09:35 UTC 2021
Module: Mesa
Branch: main
Commit: 0fa4b64f6c349da91bde6bcadda307b249705862
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fa4b64f6c349da91bde6bcadda307b249705862
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Jun 24 14:20:25 2021 +1000
crocus: dirty blend state more often.
The blend state depends on wm_prog_data dual_src and it also
depends on the cbuf formats in can_emit_logic_op.
Dirty it in the correct places.
Fixes:
dEQP-GLES3.functional.fbo.invalidate*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11567>
---
src/gallium/drivers/crocus/crocus_program.c | 2 +-
src/gallium/drivers/crocus/crocus_state.c | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/crocus/crocus_program.c b/src/gallium/drivers/crocus/crocus_program.c
index 8b2cd2deb79..b236a267a61 100644
--- a/src/gallium/drivers/crocus/crocus_program.c
+++ b/src/gallium/drivers/crocus/crocus_program.c
@@ -1977,7 +1977,7 @@ crocus_update_compiled_fs(struct crocus_context *ice)
if (devinfo->ver < 6)
ice->state.dirty |= CROCUS_DIRTY_GEN4_CLIP_PROG | CROCUS_DIRTY_GEN4_SF_PROG;
else
- ice->state.dirty |= CROCUS_DIRTY_CLIP;
+ ice->state.dirty |= CROCUS_DIRTY_CLIP | CROCUS_DIRTY_GEN6_BLEND_STATE;
if (devinfo->ver == 6)
ice->state.dirty |= CROCUS_DIRTY_RASTER;
if (devinfo->ver >= 7)
diff --git a/src/gallium/drivers/crocus/crocus_state.c b/src/gallium/drivers/crocus/crocus_state.c
index 8cb00a98fa1..b39b5232d12 100644
--- a/src/gallium/drivers/crocus/crocus_state.c
+++ b/src/gallium/drivers/crocus/crocus_state.c
@@ -3379,10 +3379,8 @@ crocus_set_framebuffer_state(struct pipe_context *ctx,
}
#endif
-#if GFX_VER >= 6
- if (cso->nr_cbufs != state->nr_cbufs) {
- ice->state.dirty |= CROCUS_DIRTY_GEN6_BLEND_STATE;
- }
+#if GFX_VER >= 6 && GFX_VER < 8
+ ice->state.dirty |= CROCUS_DIRTY_GEN6_BLEND_STATE;
#endif
if ((cso->layers == 0) != (layers == 0)) {
More information about the mesa-commit
mailing list