r600g: only set the index type if drawing is indexed
This commit is contained in:
parent
1cfb55c509
commit
d9ba1b0beb
|
@ -1089,13 +1089,14 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *dinfo)
|
|||
}
|
||||
|
||||
/* draw packet */
|
||||
cs->buf[cs->cdw++] = PKT3(PKT3_INDEX_TYPE, 0, rctx->predicate_drawing);
|
||||
cs->buf[cs->cdw++] = ib.index_size == 4 ?
|
||||
(VGT_INDEX_32 | (R600_BIG_ENDIAN ? VGT_DMA_SWAP_32_BIT : 0)) :
|
||||
(VGT_INDEX_16 | (R600_BIG_ENDIAN ? VGT_DMA_SWAP_16_BIT : 0));
|
||||
cs->buf[cs->cdw++] = PKT3(PKT3_NUM_INSTANCES, 0, rctx->predicate_drawing);
|
||||
cs->buf[cs->cdw++] = info.instance_count;
|
||||
if (info.indexed) {
|
||||
cs->buf[cs->cdw++] = PKT3(PKT3_INDEX_TYPE, 0, rctx->predicate_drawing);
|
||||
cs->buf[cs->cdw++] = ib.index_size == 4 ?
|
||||
(VGT_INDEX_32 | (R600_BIG_ENDIAN ? VGT_DMA_SWAP_32_BIT : 0)) :
|
||||
(VGT_INDEX_16 | (R600_BIG_ENDIAN ? VGT_DMA_SWAP_16_BIT : 0));
|
||||
|
||||
va = r600_resource_va(ctx->screen, ib.buffer);
|
||||
va += ib.offset;
|
||||
cs->buf[cs->cdw++] = PKT3(PKT3_DRAW_INDEX, 3, rctx->predicate_drawing);
|
||||
|
|
Loading…
Reference in New Issue