diff options
author | Gert Wollny <gert.wollny@collabora.com> | 2023-01-03 17:04:19 +0100 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-01-12 08:34:49 +0000 |
commit | 153af03b941469c22a1b66e7d9e015d5564322a1 (patch) | |
tree | d62922a6baec23cc6a3db13694f0b097dd1986fb /src/gallium/auxiliary/util/u_screen.c | |
parent | e3e74a44024e0f1586b39796180f654958b6f5ca (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.c | 3 |
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_*"); } |