From: Ilia Mirkin Date: Sun, 27 Nov 2016 06:15:03 +0000 (-0500) Subject: swr: add streamout buffer offset into pBuffer pointer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ef59cb0820c5542af9d62721a51c7f7256155069;p=mesa.git swr: add streamout buffer offset into pBuffer pointer The buffer_size does not take the offset into account. Just add the offset into the pointer which lines up the structures much better. Signed-off-by: Ilia Mirkin Reviewed-by: Tim Rowley --- diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp index fc835dc1867..4475252e50e 100644 --- a/src/gallium/drivers/swr/swr_state.cpp +++ b/src/gallium/drivers/swr/swr_state.cpp @@ -1488,10 +1488,11 @@ swr_update_derived(struct pipe_context *pipe, continue; buffer.enable = true; buffer.pBuffer = - (uint32_t *)swr_resource_data(ctx->so_targets[i]->buffer); + (uint32_t *)(swr_resource_data(ctx->so_targets[i]->buffer) + + ctx->so_targets[i]->buffer_offset); buffer.bufferSize = ctx->so_targets[i]->buffer_size >> 2; buffer.pitch = stream_output->stride[i]; - buffer.streamOffset = ctx->so_targets[i]->buffer_offset >> 2; + buffer.streamOffset = 0; SwrSetSoBuffers(ctx->swrContext, &buffer, i); }