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
