radeonsi: set descriptor dirty mask on shader buffer unbind
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 3 Jun 2016 13:17:25 +0000 (15:17 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Mon, 6 Jun 2016 19:43:18 +0000 (21:43 +0200)
Found randomly while skimming the code. This might have caused VM faults in
robustness tests.

Cc: 12.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_descriptors.c

index baddc5f245ce35a789d5c828dfff6707990d5be7..f48ddb77aabe672ec38796983be4c61c6bc120a0 100644 (file)
@@ -968,6 +968,7 @@ static void si_set_shader_buffers(struct pipe_context *ctx, unsigned shader,
                        pipe_resource_reference(&buffers->buffers[slot], NULL);
                        memset(desc, 0, sizeof(uint32_t) * 4);
                        buffers->desc.enabled_mask &= ~(1u << slot);
+                       buffers->desc.dirty_mask |= 1u << slot;
                        continue;
                }