From 7342fa5ed906a8a089575cc695bbd84993c52632 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 13 Dec 2021 15:18:56 -0500 Subject: [PATCH] pan/indirect_draw: Don't upload garbage UBO There should never be a CPU pointer in GPU memory, let's say that... Fixes: 2e6d94c198e ("panfrost: Add helpers to support indirect draws") Signed-off-by: Alyssa Rosenzweig Part-of: (cherry picked from commit d696183d4dc2ac695f74f802e03b893397e9567d) --- .pick_status.json | 2 +- src/panfrost/lib/pan_indirect_draw.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 34db407728a..cc8699eec17 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1363,7 +1363,7 @@ "description": "pan/indirect_draw: Don't upload garbage UBO", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "2e6d94c198e4d10c82ed3ffd59e85f460bd58950" }, diff --git a/src/panfrost/lib/pan_indirect_draw.c b/src/panfrost/lib/pan_indirect_draw.c index f2b73fb5c19..06c7183936b 100644 --- a/src/panfrost/lib/pan_indirect_draw.c +++ b/src/panfrost/lib/pan_indirect_draw.c @@ -1171,15 +1171,15 @@ get_ubos(struct pan_pool *pool, const struct indirect_draw_inputs *inputs) { struct panfrost_ptr inputs_buf = - pan_pool_alloc_aligned(pool, sizeof(inputs), 16); + pan_pool_alloc_aligned(pool, sizeof(*inputs), 16); - memcpy(inputs_buf.cpu, &inputs, sizeof(inputs)); + memcpy(inputs_buf.cpu, inputs, sizeof(*inputs)); struct panfrost_ptr ubos_buf = pan_pool_alloc_desc(pool, UNIFORM_BUFFER); pan_pack(ubos_buf.cpu, UNIFORM_BUFFER, cfg) { - cfg.entries = DIV_ROUND_UP(sizeof(inputs), 16); + cfg.entries = DIV_ROUND_UP(sizeof(*inputs), 16); cfg.pointer = inputs_buf.gpu; }