Mesa (staging/21.2): crocus/gen5: add dirty flags for urb fences.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Oct 11 16:26:40 UTC 2021
Module: Mesa
Branch: staging/21.2
Commit: a285a9d0f4ebdcc4f7040282f7bb4913164e9bae
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a285a9d0f4ebdcc4f7040282f7bb4913164e9bae
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Oct 11 13:30:55 2021 +1000
crocus/gen5: add dirty flags for urb fences.
Fixes hang with some gtk4 apps.
Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13282>
(cherry picked from commit 2d15557fd3a36ce22ad1996d5159e5912ec49b70)
---
.pick_status.json | 2 +-
src/gallium/drivers/crocus/crocus_state.c | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/.pick_status.json b/.pick_status.json
index 9c1ded941ed..6b51cde1d10 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -193,7 +193,7 @@
"description": "crocus/gen5: add dirty flags for urb fences.",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "f3630548f1da904ec6c63b43ece7e68afdb8867e"
},
diff --git a/src/gallium/drivers/crocus/crocus_state.c b/src/gallium/drivers/crocus/crocus_state.c
index 9dbe0a49e2d..4160b6260c6 100644
--- a/src/gallium/drivers/crocus/crocus_state.c
+++ b/src/gallium/drivers/crocus/crocus_state.c
@@ -5861,8 +5861,10 @@ crocus_upload_dirty_render_state(struct crocus_context *ice,
bool ret = crocus_calculate_urb_fence(batch, ice->curbe.total_size,
brw_vue_prog_data(ice->shaders.prog[MESA_SHADER_VERTEX]->prog_data)->urb_entry_size,
((struct brw_sf_prog_data *)ice->shaders.sf_prog->prog_data)->urb_entry_size);
- if (ret)
- dirty |= CROCUS_DIRTY_GEN5_PIPELINED_POINTERS;
+ if (ret) {
+ dirty |= CROCUS_DIRTY_GEN5_PIPELINED_POINTERS | CROCUS_DIRTY_RASTER | CROCUS_DIRTY_CLIP;
+ stage_dirty |= CROCUS_STAGE_DIRTY_GS | CROCUS_STAGE_DIRTY_VS;
+ }
}
#endif
if (dirty & CROCUS_DIRTY_CC_VIEWPORT) {
More information about the mesa-commit
mailing list