From c327b83706185d3bca99edad91fed86a2eb799ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Briano?= Date: Tue, 11 Mar 2025 15:29:15 -0700 Subject: [PATCH] brw: implement load_input_vertex intrinsic Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/compiler/brw_from_nir.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/intel/compiler/brw_from_nir.cpp b/src/intel/compiler/brw_from_nir.cpp index 7d11c1f0d08..ab3c50e77d5 100644 --- a/src/intel/compiler/brw_from_nir.cpp +++ b/src/intel/compiler/brw_from_nir.cpp @@ -4437,6 +4437,19 @@ brw_from_nir_emit_fs_intrinsic(nir_to_brw_state &ntb, break; } + case nir_intrinsic_load_input_vertex: { + unsigned base = nir_intrinsic_base(instr); + unsigned comp = nir_intrinsic_component(instr); + unsigned vtx = nir_src_as_uint(instr->src[0]); + unsigned num_components = instr->num_components; + + for (unsigned int i = 0; i < num_components; i++) { + bld.MOV(offset(dest, bld, i), + retype(brw_interp_reg(bld, base, comp + i, vtx), dest.type)); + } + break; + } + case nir_intrinsic_load_fs_input_interp_deltas: { assert(s.stage == MESA_SHADER_FRAGMENT); assert(nir_src_as_uint(instr->src[0]) == 0);