radeonsi: mark all bound shader buffer ranges as initialized
authorMarek Olšák <marek.olsak@amd.com>
Mon, 6 Mar 2017 00:47:52 +0000 (01:47 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 13 Mar 2017 22:34:52 +0000 (23:34 +0100)
This should prevent cases when a buffer was incorrectly mapped without
synchronization just because this wasn't done.

Cc: 13.0 17.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/gallium/drivers/radeonsi/si_descriptors.c

index 10acb27a25ecc0feb850576e3a9736e4f97a8700..eb79578b3475d27359574191394912fc24657b32 100644 (file)
@@ -1227,6 +1227,9 @@ static void si_set_shader_buffers(struct pipe_context *ctx,
                descs->dirty_mask |= 1u << slot;
                sctx->descriptors_dirty |=
                        1u << si_shader_buffer_descriptors_idx(shader);
+
+               util_range_add(&buf->valid_buffer_range, sbuffer->buffer_offset,
+                              sbuffer->buffer_offset + sbuffer->buffer_size);
        }
 }