From 0dc539a87227e88bbee790ecc6ec8ec6eb991333 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 9 Feb 2021 09:46:12 -0500 Subject: [PATCH] panfrost: Respect buffer_offset when mapping to CPU Previously not seen since mesa/st seems to leave this zero for uniforms. Still wrong, though. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Boris Brezillon Part-of: --- src/gallium/drivers/panfrost/pan_cmdstream.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c index 7a61bb5..55a52f6 100644 --- a/src/gallium/drivers/panfrost/pan_cmdstream.c +++ b/src/gallium/drivers/panfrost/pan_cmdstream.c @@ -965,14 +965,14 @@ panfrost_map_constant_buffer_cpu(struct panfrost_context *ctx, struct pipe_constant_buffer *cb = &buf->cb[index]; struct panfrost_resource *rsrc = pan_resource(cb->buffer); - if (rsrc) - return rsrc->bo->ptr.cpu; - else if (cb->user_buffer) { + if (rsrc) { panfrost_bo_mmap(rsrc->bo); panfrost_flush_batches_accessing_bo(ctx, rsrc->bo, false); panfrost_bo_wait(rsrc->bo, INT64_MAX, false); - return cb->user_buffer; + return rsrc->bo->ptr.cpu + cb->buffer_offset; + } else if (cb->user_buffer) { + return cb->user_buffer + cb->buffer_offset; } else unreachable("No constant buffer"); } -- 2.7.4