r600: Request that state validation is emitted for all changed states

Restricting the state change only to newly used states results in problems,
because SSBOs, Images, and the framebuffers make use of the same limited
set of resources, and not properly unbinding un-used resoureces leads to
invalid rendering and GPU hangs.

Fixes: aaa4b0e6
   st/mesa: move check_program_state code into _mesa_update_state

v2: use new cap name and switched meaning

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7969

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20493>
This commit is contained in:
Gert Wollny
2023-01-03 17:07:28 +01:00
committed by Marge Bot
parent 153af03b94
commit 1af39eda6e

View File

@@ -539,6 +539,9 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
return EG_MAX_ATOMIC_BUFFERS;
return 0;
case PIPE_CAP_VALIDATE_ALL_DIRTY_STATES:
return 1;
default:
return u_pipe_screen_get_param_defaults(pscreen, param);
}