aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian H. Kristensen <[email protected]>2020-05-20 22:34:59 -0700
committerMarge Bot <[email protected]>2020-05-29 18:59:56 +0000
commitc15db8928fb7d16a0cf5443fefce7efde5a50eaa (patch)
tree8a7675711be608ce77f58b5dd4f5a4fe63c9b15d
parent601a029e67cc62a32cf028d87653a877c18ecfbd (diff)
freedreno/a6xx: Move per element offset to VFD_DECODE
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140>
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_emit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
index 23941873edb..5f5198f2652 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
@@ -581,7 +581,7 @@ build_vbo_state(struct fd6_emit *emit, const struct ir3_shader_variant *vp)
const struct pipe_vertex_buffer *vb =
&vtx->vertexbuf.vb[elem->vertex_buffer_index];
struct fd_resource *rsc = fd_resource(vb->buffer.resource);
- uint32_t off = vb->buffer_offset + elem->src_offset;
+ uint32_t off = vb->buffer_offset;
uint32_t size = fd_bo_size(rsc->bo) - off;
#ifdef DEBUG
@@ -611,6 +611,7 @@ build_vbo_state(struct fd6_emit *emit, const struct ir3_shader_variant *vp)
debug_assert(fmt != FMT6_NONE);
OUT_RING(ring, A6XX_VFD_DECODE_INSTR_IDX(j) |
+ A6XX_VFD_DECODE_INSTR_OFFSET(elem->src_offset) |
A6XX_VFD_DECODE_INSTR_FORMAT(fmt) |
COND(elem->instance_divisor, A6XX_VFD_DECODE_INSTR_INSTANCED) |
A6XX_VFD_DECODE_INSTR_SWAP(fd6_pipe2swap(pfmt)) |