summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2016-07-27 14:58:43 -0700
committerEric Anholt <[email protected]>2016-08-03 10:25:08 -0700
commit02f8c444e853ddb1db4f5354c613a172f6a98ef5 (patch)
treeb7e01093d281356ae8ac085284899fe80285943f /src/gallium/drivers/vc4
parent9128acfb5781c43abd3ffe3ef74ee1d32138f6bc (diff)
vc4: Fix handling of UBO range offsets.
The ranges are in units of bytes, not dwords. This wasn't caught by piglit tests because ttn tends to make one big uniform file, so we only had one UBO range with a src and dst offset of 0.
Diffstat (limited to 'src/gallium/drivers/vc4')
-rw-r--r--src/gallium/drivers/vc4/vc4_uniforms.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/vc4/vc4_uniforms.c b/src/gallium/drivers/vc4/vc4_uniforms.c
index c9d6b537720..528f10eb25a 100644
--- a/src/gallium/drivers/vc4/vc4_uniforms.c
+++ b/src/gallium/drivers/vc4/vc4_uniforms.c
@@ -182,10 +182,11 @@ vc4_upload_ubo(struct vc4_context *vc4,
return NULL;
struct vc4_bo *ubo = vc4_bo_alloc(vc4->screen, shader->ubo_size, "ubo");
- uint32_t *data = vc4_bo_map(ubo);
+ void *data = vc4_bo_map(ubo);
for (uint32_t i = 0; i < shader->num_ubo_ranges; i++) {
memcpy(data + shader->ubo_ranges[i].dst_offset,
- gallium_uniforms + shader->ubo_ranges[i].src_offset,
+ ((const void *)gallium_uniforms +
+ shader->ubo_ranges[i].src_offset),
shader->ubo_ranges[i].size);
}