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

Author: Boris Brezillon <[email protected]>
Date:   Sun Oct 18 18:06:29 2020 +0200

pan/bi: Add support for load_front_face

Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7314>

---

 src/panfrost/bifrost/bifrost_compile.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/src/panfrost/bifrost/bifrost_compile.c 
b/src/panfrost/bifrost/bifrost_compile.c
index 1ed06dc2c44..5a8b0da7075 100644
--- a/src/panfrost/bifrost/bifrost_compile.c
+++ b/src/panfrost/bifrost/bifrost_compile.c
@@ -562,6 +562,28 @@ bi_emit_sample_id(bi_context *ctx, nir_intrinsic_instr 
*instr)
         bi_emit(ctx, ins);
 }
 
+static void
+bi_emit_front_face(bi_context *ctx, nir_intrinsic_instr *instr)
+{
+        bi_instruction ins = {
+                .type = BI_CMP,
+                .cond = BI_COND_EQ,
+                .dest = pan_dest_index(&instr->dest),
+                .dest_type = nir_type_uint32,
+                .src = {
+                        /* r58 == 0 means primitive is front facing */
+                        BIR_INDEX_REGISTER | 58,
+                        BIR_INDEX_ZERO,
+                },
+                .src_types = {
+                        nir_type_uint32,
+                        nir_type_uint32,
+                },
+        };
+
+        bi_emit(ctx, ins);
+}
+
 static void
 emit_intrinsic(bi_context *ctx, nir_intrinsic_instr *instr)
 {
@@ -638,6 +660,10 @@ emit_intrinsic(bi_context *ctx, nir_intrinsic_instr *instr)
                 bi_emit_sample_id(ctx, instr);
                 break;
 
+       case nir_intrinsic_load_front_face:
+                bi_emit_front_face(ctx, instr);
+                break;
+
         default:
                 unreachable("Unknown intrinsic");
                 break;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to