[Mesa-dev] [PATCH] panfrost: Always shadow vertex elements buffers
Alyssa Rosenzweig
alyssa at rosenzweig.io
Fri Mar 15 14:39:39 UTC 2019
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 <alyssa at rosenzweig.io>
---
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
More information about the mesa-dev
mailing list