rusticl/queue: clear shader images when destroying queues
The pipe_context might never be reused or the new queue won't ever reuse
all shader image slots leading to stale objects being referenced by the
driver.
Fixes: 50dbcb1d00 ("rusticl: stop clearing shader images after every dispatch")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36243>
This commit is contained in:
@@ -133,6 +133,7 @@ impl Deref for QueueContext<'_> {
|
||||
impl Drop for QueueContext<'_> {
|
||||
fn drop(&mut self) {
|
||||
self.set_constant_buffer(0, &[]);
|
||||
self.ctx.clear_shader_images(self.dev.caps.max_write_images);
|
||||
if self.kernel_state.get_mut().builds.is_some() {
|
||||
// SAFETY: We simply unbind here. The bound cso will only be dropped at the end of this
|
||||
// drop handler.
|
||||
|
||||
Reference in New Issue
Block a user