summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_screen.c
diff options
context:
space:
mode:
authorGert Wollny <gert.wollny@collabora.com>2023-01-03 17:04:19 +0100
committerMarge Bot <emma+marge@anholt.net>2023-01-12 08:34:49 +0000
commit153af03b941469c22a1b66e7d9e015d5564322a1 (patch)
treed62922a6baec23cc6a3db13694f0b097dd1986fb /src/gallium/auxiliary/util/u_screen.c
parente3e74a44024e0f1586b39796180f654958b6f5ca (diff)
gallium: Add cap to request state validation for all dirty state
With aaa4b0e6 state validation is no longer called for all changed states, but only for states that will be active with a new shader program. Not all drivers support this and might prefer if the state validation is emitted for all states that might be changed. So add a cap that the driver can signal one or the other preference, and default to the new behavior. Fixes: aaa4b0e6 st/mesa: move check_program_state code into _mesa_update_state v2: - Rename cap and and invert its meaning, query the cap only once and store it in st, handle the mask update when updating the shader i.e. not in st_validate_state (Marek) Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20493>
Diffstat (limited to 'src/gallium/auxiliary/util/u_screen.c')
-rw-r--r--src/gallium/auxiliary/util/u_screen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c
index 16c31819c89..f0e1b7e599d 100644
--- a/src/gallium/auxiliary/util/u_screen.c
+++ b/src/gallium/auxiliary/util/u_screen.c
@@ -523,6 +523,9 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
case PIPE_CAP_QUERY_TIMESTAMP_BITS:
return 64;
+ case PIPE_CAP_VALIDATE_ALL_DIRTY_STATES:
+ return 0;
+
default:
unreachable("bad PIPE_CAP_*");
}