From dfdbf5bf947578284444734f4868b650d3441507 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alejandro=20Pi=C3=B1eiro?= Date: Fri, 12 May 2023 14:04:56 +0200 Subject: [PATCH] broadcom/compiler: clarify use of QFILE_VPM This was only used for version < 40 (See commit 22a02f3e3). Adding some extra explanations and asserts of places where it is used. As we are here also move the definition of a register with QFILE_VPM, to avoid defining it if not needed. Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/compiler/nir_to_vir.c | 3 +-- src/broadcom/compiler/v3d_compiler.h | 2 ++ src/broadcom/compiler/vir_to_qpu.c | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 2b5a0a8..cb401d3 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 61d0c5c..82f789b 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 246a3a1..45e6bfa 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; -- 2.7.4