From 1af39eda6ec4761b63a6fc07f99415a5c71bd665 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 3 Jan 2023 17:07:28 +0100 Subject: [PATCH] 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 Part-of: --- src/gallium/drivers/r600/r600_pipe.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index ce77d77c32c..35119b66322 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -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); }