brw: implement load_input_vertex intrinsic

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445>
This commit is contained in:
Iván Briano 2025-03-11 15:29:15 -07:00 committed by Marge Bot
parent 4c1f9554f5
commit c327b83706

View file

@ -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);