anv: skip gfx push constants alloc optimization on gfx9/11
Always reallocate in cmd_buffer_flush_gfx_push_constants like was done
before the the optimization got introduced.
Fixes: 62d96a6546
("anv: add dirty tracking for push constant data")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11064
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Mark Janes <markjanes@swizzler.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28999>
This commit is contained in:
@@ -489,8 +489,11 @@ cmd_buffer_flush_gfx_push_constants(struct anv_cmd_buffer *cmd_buffer,
|
||||
/* Setting NULL resets the push constant state so that we allocate a new one
|
||||
* if needed. If push constant data not dirty, get_push_range_address can
|
||||
* re-use existing allocation.
|
||||
*
|
||||
* Always reallocate on gfx9, gfx11 to fix push constant related flaky tests.
|
||||
* See https://gitlab.freedesktop.org/mesa/mesa/-/issues/11064
|
||||
*/
|
||||
if (gfx_state->base.push_constants_data_dirty)
|
||||
if (gfx_state->base.push_constants_data_dirty || GFX_VER < 12)
|
||||
gfx_state->base.push_constants_state = ANV_STATE_NULL;
|
||||
|
||||
anv_foreach_stage(stage, dirty_stages) {
|
||||
|
Reference in New Issue
Block a user