summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/a4xx/fd4_draw.h
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2014-12-21 11:14:24 -0500
committerRob Clark <[email protected]>2015-02-24 14:23:38 -0500
commit4aef0d79ee2cebf3d11b803c5df016d87f3ba9fd (patch)
tree4c1a259f8e7f1cfbdac806e44a35abee3e2782d8 /src/gallium/drivers/freedreno/a4xx/fd4_draw.h
parent86d88e2fbb509a85083725650f19442ad518f37e (diff)
freedreno/a4xx: pass number of instances to draw
a4xx has it's own draw packet, so needs equivalent update to what a3xx already got. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/a4xx/fd4_draw.h')
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_draw.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_draw.h b/src/gallium/drivers/freedreno/a4xx/fd4_draw.h
index dd2516aa985..1bd376ca6ec 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_draw.h
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_draw.h
@@ -51,7 +51,7 @@ fd4_draw(struct fd_context *ctx, struct fd_ringbuffer *ring,
enum pc_di_primtype primtype,
enum pc_di_vis_cull_mode vismode,
enum pc_di_src_sel src_sel, uint32_t count,
- enum a4xx_index_size idx_type,
+ uint32_t instances, enum a4xx_index_size idx_type,
uint32_t idx_size, uint32_t idx_offset,
struct fd_bo *idx_bo)
{
@@ -73,7 +73,7 @@ fd4_draw(struct fd_context *ctx, struct fd_ringbuffer *ring,
} else {
OUT_RING(ring, DRAW4(primtype, src_sel, idx_type, vismode));
}
- OUT_RING(ring, 0x1); /* XXX */
+ OUT_RING(ring, instances); /* NumInstances */
OUT_RING(ring, count); /* NumIndices */
if (idx_bo) {
OUT_RING(ring, 0x0); /* XXX */
@@ -127,7 +127,8 @@ fd4_draw_emit(struct fd_context *ctx, struct fd_ringbuffer *ring,
}
fd4_draw(ctx, ring, ctx->primtypes[info->mode], vismode, src_sel,
- info->count, idx_type, idx_size, idx_offset, idx_bo);
+ info->count, info->instance_count,
+ idx_type, idx_size, idx_offset, idx_bo);
}
#endif /* FD4_DRAW_H_ */