diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 65d6d4df280..6b55bf7895f 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -1534,9 +1534,11 @@ ntq_setup_vs_inputs(struct v3d_compile *c) unsigned num_components = 0; uint32_t vpm_components_queued = 0; bool uses_iid = c->s->info.system_values_read & - (1ull << SYSTEM_VALUE_INSTANCE_ID); + (1ull << SYSTEM_VALUE_INSTANCE_ID | + 1ull << SYSTEM_VALUE_INSTANCE_INDEX); bool uses_vid = c->s->info.system_values_read & - (1ull << SYSTEM_VALUE_VERTEX_ID); + (1ull << SYSTEM_VALUE_VERTEX_ID | + 1ull << SYSTEM_VALUE_VERTEX_ID_ZERO_BASE); num_components += uses_iid; num_components += uses_vid; diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c index 34f63a573da..805f1f382a3 100644 --- a/src/broadcom/compiler/vir.c +++ b/src/broadcom/compiler/vir.c @@ -625,9 +625,12 @@ v3d_vs_set_prog_data(struct v3d_compile *c, } prog_data->uses_vid = (c->s->info.system_values_read & - (1ull << SYSTEM_VALUE_VERTEX_ID)); + (1ull << SYSTEM_VALUE_VERTEX_ID | + 1ull << SYSTEM_VALUE_VERTEX_ID_ZERO_BASE)); + prog_data->uses_iid = (c->s->info.system_values_read & - (1ull << SYSTEM_VALUE_INSTANCE_ID)); + (1ull << SYSTEM_VALUE_INSTANCE_ID | + 1ull << SYSTEM_VALUE_INSTANCE_INDEX)); if (prog_data->uses_vid) prog_data->vpm_input_size++;