Module: Mesa Branch: master Commit: 08c71740ad609b26477b4062bb1794bb322e8b43 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=08c71740ad609b26477b4062bb1794bb322e8b43
Author: Nicolai Hähnle <[email protected]> Date: Sun Jan 10 19:54:44 2016 -0500 gallium/radeon: reset valid_buffer_range on PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE This accomodates a streaming pattern where the discard flag is set when the application wraps back to the beginning of the buffer. Reviewed-by: Marek Olšák <[email protected]> --- src/gallium/drivers/radeon/r600_buffer_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c index 484f5c8..aeb9a20 100644 --- a/src/gallium/drivers/radeon/r600_buffer_common.c +++ b/src/gallium/drivers/radeon/r600_buffer_common.c @@ -280,7 +280,10 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx, if (r600_rings_is_buffer_referenced(rctx, rbuffer->buf, RADEON_USAGE_READWRITE) || !rctx->ws->buffer_wait(rbuffer->buf, 0, RADEON_USAGE_READWRITE)) { rctx->invalidate_buffer(&rctx->b, &rbuffer->b.b); + } else { + util_range_set_empty(&rbuffer->valid_buffer_range); } + /* At this point, the buffer is always idle. */ usage |= PIPE_TRANSFER_UNSYNCHRONIZED; } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
