freedreno/a5xx: correct max_indicies for indirect draws
[mesa.git] / src / gallium / drivers / freedreno / a5xx / fd5_draw.h
index d1069157e75d13b35689112f5fe07bfb2f12ee0c..3edfc391fdfb2763478dd1cb072c65bc6cde4578 100644 (file)
@@ -97,7 +97,8 @@ fd5_draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
 
                if (info->index_size) {
                        struct pipe_resource *idx = info->index.resource;
-                       unsigned max_indicies = idx->width0 / info->index_size;
+                       unsigned max_indicies = (idx->width0 - info->indirect->offset) /
+                                       info->index_size;
 
                        OUT_PKT7(ring, CP_DRAW_INDX_INDIRECT, 6);
                        OUT_RINGP(ring, DRAW4(primtype, DI_SRC_SEL_DMA,