crocus/gen5: add dirty flags for urb fences.

Fixes hang with some gtk4 apps.

Fixes: f3630548f1 ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13282>
(cherry picked from commit 2d15557fd3)
This commit is contained in:
Dave Airlie 2021-10-11 13:30:55 +10:00 committed by Dylan Baker
parent e74e0807dc
commit a285a9d0f4
2 changed files with 5 additions and 3 deletions

View file

@ -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"
},

View file

@ -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) {