Mesa (master): broadcom/compiler: support nir_intrinsic_load_sample_id

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


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

Author: Arcady Goldmints-Orlov <agoldmints at igalia.com>
Date:   Sat Jul 25 15:20:02 2020 -0500

broadcom/compiler: support nir_intrinsic_load_sample_id

This adds support for the intrinsic as well as the vir_SAMPID
instruction that corresponds to it in vir.

Reviewed-by: Iago Toral Quiroga <itoral 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   | 4 ++++
 src/broadcom/compiler/v3d_compiler.h | 1 +
 2 files changed, 5 insertions(+)

diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c
index 31160314730..e48db957bfb 100644
--- a/src/broadcom/compiler/nir_to_vir.c
+++ b/src/broadcom/compiler/nir_to_vir.c
@@ -2392,6 +2392,10 @@ ntq_emit_intrinsic(struct v3d_compile *c, nir_intrinsic_instr *instr)
                                vir_uniform(c, QUNIFORM_FB_LAYERS, 0));
                 break;
 
+        case nir_intrinsic_load_sample_id:
+                ntq_store_dest(c, &instr->dest, 0, vir_SAMPID(c));
+                break;
+
         default:
                 fprintf(stderr, "Unknown intrinsic: ");
                 nir_print_instr(&instr->instr, stderr);
diff --git a/src/broadcom/compiler/v3d_compiler.h b/src/broadcom/compiler/v3d_compiler.h
index 0026dd2fef3..9061a095bd0 100644
--- a/src/broadcom/compiler/v3d_compiler.h
+++ b/src/broadcom/compiler/v3d_compiler.h
@@ -1084,6 +1084,7 @@ VIR_A_ALU0(YCD)
 VIR_A_ALU0(MSF)
 VIR_A_ALU0(REVF)
 VIR_A_ALU0(BARRIERID)
+VIR_A_ALU0(SAMPID)
 VIR_A_NODST_1(VPMSETUP)
 VIR_A_NODST_0(VPMWT)
 VIR_A_ALU2(FCMP)



More information about the mesa-commit mailing list