Mesa (main): crocus/gen5: add dirty flags for urb fences.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Oct 11 03:52:53 UTC 2021
Module: Mesa
Branch: main
Commit: 2d15557fd3a36ce22ad1996d5159e5912ec49b70
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d15557fd3a36ce22ad1996d5159e5912ec49b70
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>
---
src/gallium/drivers/crocus/crocus_state.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/crocus/crocus_state.c b/src/gallium/drivers/crocus/crocus_state.c
index 632cddbbb2f..95a28803a4d 100644
--- a/src/gallium/drivers/crocus/crocus_state.c
+++ b/src/gallium/drivers/crocus/crocus_state.c
@@ -5876,8 +5876,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