OSDN Git Service

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 10acb27..eb79578 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);
        }
 }