radeonsi: mark ssbo and images descriptor pointers dirty at beginning of CS
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 13 Apr 2016 17:17:28 +0000 (12:17 -0500)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 14 Apr 2016 21:29:23 +0000 (16:29 -0500)
Without this, we were getting non-deterministic VM faults under high pressure.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_descriptors.c

index b5557d800c76445afb6d4f156a5a62e1a20c8c28..7fc1461ec9b6d3ea78194cc87702741ea45d4a40 100644 (file)
@@ -1192,7 +1192,9 @@ static void si_mark_shader_pointers_dirty(struct si_context *sctx,
 {
        sctx->const_buffers[shader].desc.pointer_dirty = true;
        sctx->rw_buffers[shader].desc.pointer_dirty = true;
+       sctx->shader_buffers[shader].desc.pointer_dirty = true;
        sctx->samplers[shader].views.desc.pointer_dirty = true;
+       sctx->images[shader].desc.pointer_dirty = true;
 
        if (shader == PIPE_SHADER_VERTEX)
                sctx->vertex_buffers.pointer_dirty = true;