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 <robclark@freedesktop.org>
This commit is contained in:
parent
86d88e2fbb
commit
4aef0d79ee
|
@ -305,7 +305,7 @@ fd4_clear(struct fd_context *ctx, unsigned buffers,
|
|||
OUT_RING(ring, 0x00000001);
|
||||
|
||||
fd4_draw(ctx, ring, DI_PT_RECTLIST, USE_VISIBILITY,
|
||||
DI_SRC_SEL_AUTO_INDEX, 2, INDEX_SIZE_IGN, 0, 0, NULL);
|
||||
DI_SRC_SEL_AUTO_INDEX, 2, 1, INDEX_SIZE_IGN, 0, 0, NULL);
|
||||
|
||||
OUT_PKT3(ring, CP_UNKNOWN_1A, 1);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
|
|
|
@ -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_ */
|
||||
|
|
|
@ -156,7 +156,7 @@ emit_gmem2mem_surf(struct fd_context *ctx,
|
|||
A4XX_RB_COPY_DEST_INFO_SWAP(fd4_pipe2swap(psurf->format)));
|
||||
|
||||
fd4_draw(ctx, ring, DI_PT_RECTLIST, IGNORE_VISIBILITY,
|
||||
DI_SRC_SEL_AUTO_INDEX, 2, INDEX_SIZE_IGN, 0, 0, NULL);
|
||||
DI_SRC_SEL_AUTO_INDEX, 2, 1, INDEX_SIZE_IGN, 0, 0, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -270,7 +270,7 @@ emit_mem2gmem_surf(struct fd_context *ctx, uint32_t base,
|
|||
fd4_emit_gmem_restore_tex(ring, psurf);
|
||||
|
||||
fd4_draw(ctx, ring, DI_PT_RECTLIST, IGNORE_VISIBILITY,
|
||||
DI_SRC_SEL_AUTO_INDEX, 2, INDEX_SIZE_IGN, 0, 0, NULL);
|
||||
DI_SRC_SEL_AUTO_INDEX, 2, 1, INDEX_SIZE_IGN, 0, 0, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue