gallium: Add cap to request state validation for all dirty state
Withaaa4b0e6
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>
This commit is contained in:
@@ -639,6 +639,7 @@ The integer capabilities:
|
||||
* ``PIPE_CAP_HARDWARE_GL_SELECT``: Enable hardware accelerated GL_SELECT for this driver.
|
||||
* ``PIPE_CAP_DEVICE_PROTECTED_CONTEXT``: Whether the device supports protected / encrypted context which can manipulate protected / encrypted content (some devices might need protected contexts to access protected content, whereas ``PIPE_CAP_DEVICE_PROTECTED_SURFACE`` does not require any particular context to do so).
|
||||
* ``PIPE_CAP_ALLOW_GLTHREAD_BUFFER_SUBDATA_OPT``: Whether to allow glthread to convert glBufferSubData to glCopyBufferSubData. This may improve or worsen performance depending on your driver.
|
||||
* ``PIPE_CAP_VALIDATE_ALL_DIRTY_STATES`` : Whether state validation must also validate the state changes for resources types used in the previous shader but not in the current shader.
|
||||
|
||||
.. _pipe_capf:
|
||||
|
||||
|
Reference in New Issue
Block a user