Mesa (master): broadcom/compiler: Enable PER_QUAD for UBO and SSBO loads.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 20 20:25:22 UTC 2020


Module: Mesa
Branch: master
Commit: a104902590512f30c55e6a2e4f7b75627c056e27
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a104902590512f30c55e6a2e4f7b75627c056e27

Author: Arcady Goldmints-Orlov <agoldmints at igalia.com>
Date:   Sun Aug  9 22:17:01 2020 -0500

broadcom/compiler: Enable PER_QUAD for UBO and SSBO loads.

Helper invocations need to be able to read from UBOs since those values
can be used for flow control, but writes from helper invocations need to
be dropped.

Fixes CTS tests:
  dEQP-VK.glsl.derivate.*.uniform_loop.*

Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6356>

---

 src/broadcom/compiler/nir_to_vir.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c
index e48db957bfb..171028b627e 100644
--- a/src/broadcom/compiler/nir_to_vir.c
+++ b/src/broadcom/compiler/nir_to_vir.c
@@ -339,9 +339,12 @@ ntq_emit_tmu_general(struct v3d_compile *c, nir_intrinsic_instr *instr,
                         num_components = tmu_writes - 1;
                 }
 
+                uint32_t perquad = is_load
+                   ? GENERAL_TMU_LOOKUP_PER_QUAD
+                   : GENERAL_TMU_LOOKUP_PER_PIXEL;
                 uint32_t config = (0xffffff00 |
                                    tmu_op << 3|
-                                   GENERAL_TMU_LOOKUP_PER_PIXEL);
+                                   perquad);
                 if (num_components == 1) {
                         config |= GENERAL_TMU_LOOKUP_TYPE_32BIT_UI;
                 } else {



More information about the mesa-commit mailing list