r600g: fix clear_buffer fallback with offset != 0
authorMarek Olšák <marek.olsak@amd.com>
Thu, 5 Nov 2015 11:24:20 +0000 (12:24 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 13 Nov 2015 18:54:40 +0000 (19:54 +0100)
Discovered by luck. This code path hasn't been exercised since transform
feedback was implemented.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/r600/r600_blit.c

index aede84084469af4e7150b2bbcacf750666bd1f56..90a1453ef698918c6bad9180b820948e8933e2e9 100644 (file)
@@ -604,6 +604,7 @@ static void r600_clear_buffer(struct pipe_context *ctx, struct pipe_resource *ds
        } else {
                uint32_t *map = r600_buffer_map_sync_with_rings(&rctx->b, r600_resource(dst),
                                                                 PIPE_TRANSFER_WRITE);
+               map += offset / 4;
                size /= 4;
                for (unsigned i = 0; i < size; i++)
                        *map++ = value;