Module: Mesa Branch: master Commit: d7a015cbc6a6c12a87ee7ec725cc399d3712f43c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7a015cbc6a6c12a87ee7ec725cc399d3712f43c
Author: Eric Anholt <e...@anholt.net> Date: Thu Mar 22 13:52:11 2018 -0700 broadcom/vc5: Account for InstanceID/VertexID in VPM segment size. Fixes failure in GTF-GLES3.gtf.GL3Tests.draw_instanced.draw_instanced_attrib_size --- src/broadcom/compiler/vir.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c index ff9405e6c1..93990ee806 100644 --- a/src/broadcom/compiler/vir.c +++ b/src/broadcom/compiler/vir.c @@ -728,15 +728,20 @@ uint64_t *v3d_compile_vs(const struct v3d_compiler *compiler, prog_data->vpm_input_size += c->vattr_sizes[i]; } - /* Input/output segment size are in 8x32-bit multiples. */ - prog_data->vpm_input_size = align(prog_data->vpm_input_size, 8) / 8; - prog_data->vpm_output_size = align(c->num_vpm_writes, 8) / 8; - prog_data->uses_vid = (s->info.system_values_read & (1ull << SYSTEM_VALUE_VERTEX_ID)); prog_data->uses_iid = (s->info.system_values_read & (1ull << SYSTEM_VALUE_INSTANCE_ID)); + if (prog_data->uses_vid) + prog_data->vpm_input_size++; + if (prog_data->uses_iid) + prog_data->vpm_input_size++; + + /* Input/output segment size are in 8x32-bit multiples. */ + prog_data->vpm_input_size = align(prog_data->vpm_input_size, 8) / 8; + prog_data->vpm_output_size = align(c->num_vpm_writes, 8) / 8; + return v3d_return_qpu_insts(c, final_assembly_size); } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit