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:
Karol Herbst
2025-07-19 14:31:17 +02:00
committed by Marge Bot
parent a245ed462a
commit dad43d6c4a

View File

@@ -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.