mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
zink: set PIPE_CAP_VALIDATE_ALL_DIRTY_STATES
failing to set this yields patterns like * bind fs * bind samplerviews * draw * bind fs2 * ~~unbind samplerviews~~ (eliminated) * draw the eliminated unbinding of samplerviews between draws also eliminates a descriptor update, triggering various artifacts in certain corner cases (like DOOM2016 shadows) it's possible to manage the updating during shader binding, but the detection is a bit more complex, and the cpu overhead from maintaining the current codepath with an extra pipe_context::set_sampler_views (et al) isn't high enough to warrant further investigation at this time fixes #8252 Fixes:153af03b94("gallium: Add cap to request state validation for all dirty state") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21176> (cherry picked from commitb9181c3218)
This commit is contained in:
parent
b6ccf26d26
commit
e0b3d5c76a
2 changed files with 2 additions and 1 deletions
|
|
@ -661,7 +661,7 @@
|
|||
"description": "zink: set PIPE_CAP_VALIDATE_ALL_DIRTY_STATES",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "153af03b941469c22a1b66e7d9e015d5564322a1"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -524,6 +524,7 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_NATIVE_FENCE_FD:
|
||||
return screen->instance_info.have_KHR_external_semaphore_capabilities && screen->info.have_KHR_external_semaphore_fd;
|
||||
|
||||
case PIPE_CAP_VALIDATE_ALL_DIRTY_STATES:
|
||||
case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION:
|
||||
case PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE:
|
||||
case PIPE_CAP_SHAREABLE_SHADERS:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue