diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 2b5a0a8a47f..cb401d37c4b 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2197,14 +2197,13 @@ ntq_emit_vpm_read(struct v3d_compile *c, uint32_t *remaining, uint32_t vpm_index) { - struct qreg vpm = vir_reg(QFILE_VPM, vpm_index); - if (c->devinfo->ver >= 40 ) { return vir_LDVPMV_IN(c, vir_uniform_ui(c, (*num_components_queued)++)); } + struct qreg vpm = vir_reg(QFILE_VPM, vpm_index); if (*num_components_queued != 0) { (*num_components_queued)--; return vir_MOV(c, vpm); diff --git a/src/broadcom/compiler/v3d_compiler.h b/src/broadcom/compiler/v3d_compiler.h index 61d0c5ccdc8..82f789b3ea8 100644 --- a/src/broadcom/compiler/v3d_compiler.h +++ b/src/broadcom/compiler/v3d_compiler.h @@ -99,6 +99,8 @@ enum qfile { /** * VPM reads use this with an index value to say what part of the VPM * is being read. + * + * Used only for ver < 40. For ver >= 40 we use ldvpm. */ QFILE_VPM, diff --git a/src/broadcom/compiler/vir_to_qpu.c b/src/broadcom/compiler/vir_to_qpu.c index 246a3a1a86a..45e6bfa1470 100644 --- a/src/broadcom/compiler/vir_to_qpu.c +++ b/src/broadcom/compiler/vir_to_qpu.c @@ -230,6 +230,7 @@ v3d_generate_code_block(struct v3d_compile *c, break; case QFILE_VPM: + assert(c->devinfo->ver < 40); assert((int)qinst->src[i].index >= last_vpm_read_index); (void)last_vpm_read_index;