freedreno/a5xx: Fix indirect draw max_indices calculation
The number of elements to draw should not be affected by the offset.
A similar fix was submitted for a6xx at 79180a05
.
Fixes these dEQP tests on a5xx:
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_500x500_drawcount_8
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_500x500_drawcount_2500
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_separate_grid_500x500_drawcount_2500
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_combined_grid_500x500_drawcount_2500
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_500x500_drawcount_8
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_500x500_drawcount_2500
Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
40699f74b8
commit
3fb7b1fd35
|
@ -98,8 +98,7 @@ fd5_draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
|
||||||
|
|
||||||
if (info->index_size) {
|
if (info->index_size) {
|
||||||
struct pipe_resource *idx = info->index.resource;
|
struct pipe_resource *idx = info->index.resource;
|
||||||
unsigned max_indicies = (idx->width0 - info->indirect->offset) /
|
unsigned max_indicies = idx->width0 / info->index_size;
|
||||||
info->index_size;
|
|
||||||
|
|
||||||
OUT_PKT7(ring, CP_DRAW_INDX_INDIRECT, 6);
|
OUT_PKT7(ring, CP_DRAW_INDX_INDIRECT, 6);
|
||||||
OUT_RINGP(ring, DRAW4(primtype, DI_SRC_SEL_DMA,
|
OUT_RINGP(ring, DRAW4(primtype, DI_SRC_SEL_DMA,
|
||||||
|
|
Loading…
Reference in New Issue