There is no BO tracking for vertex buffers yet, so it is not safe to directly map even when we can according to alignment restrictions. For now, always create a shadow buffer.
Signed-off-by: Alyssa Rosenzweig <[email protected]> --- src/gallium/drivers/panfrost/pan_context.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index b6cf5302cae..a255e09b886 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -691,7 +691,10 @@ panfrost_emit_vertex_data(struct panfrost_context *ctx) mali_ptr effective_address = (rsrc->bo->gpu[0] + buf->buffer_offset); - if (effective_address & 0x3F) { + /* Due to lack of BO waits and such, it's not safe to direct + * map ever yet, so always do a shadow buffer */ + + if (/*effective_address & 0x3F*/1) { attrs[i].elements = panfrost_upload_transient(ctx, rsrc->bo->cpu[0] + buf->buffer_offset, attrs[i].size) | 1; } else { attrs[i].elements = effective_address | 1; -- 2.20.1 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
