From 9f0fd85474fa8fc5158f09d5899664eb615eee24 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 4 Mar 2021 13:54:24 +1000 Subject: [PATCH] gallivm: add support for load_view_index intrinsic This just adds the system value Reviewed-by: Roland Scheidegger Acked-By: Mike Blumenkrantz Part-of: --- src/gallium/auxiliary/gallivm/lp_bld_nir.c | 1 + src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c | 3 +++ src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 1 + 3 files changed, 5 insertions(+) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.c b/src/gallium/auxiliary/gallivm/lp_bld_nir.c index 7a208c3eee1..c02970f0aab 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_nir.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.c @@ -1679,6 +1679,7 @@ static void visit_intrinsic(struct lp_build_nir_context *bld_base, case nir_intrinsic_load_sample_id: case nir_intrinsic_load_sample_pos: case nir_intrinsic_load_sample_mask_in: + case nir_intrinsic_load_view_index: bld_base->sysval_intrin(bld_base, instr, result); break; case nir_intrinsic_load_helper_invocation: diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c index 7d4820d6a12..11607220037 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c @@ -1560,6 +1560,9 @@ static void emit_sysval_intrin(struct lp_build_nir_context *bld_base, case nir_intrinsic_load_sample_mask_in: result[0] = bld->system_values.sample_mask_in; break; + case nir_intrinsic_load_view_index: + result[0] = lp_build_broadcast_scalar(&bld_base->uint_bld, bld->system_values.view_index); + break; } } diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h index 1e2178c64e1..c3696ba29e1 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h @@ -187,6 +187,7 @@ struct lp_bld_tgsi_system_values { LLVMValueRef sample_id; LLVMValueRef sample_pos; LLVMValueRef sample_mask_in; + LLVMValueRef view_index; };