mesa/src/compiler
Caio Oliveira d5ad798140 spirv, radv, intel: Add NIR intrinsic for cmat conversion
A cooperative matrix conversion operation was represented in NIR by the
cmat_unary_op intrinsic with an nir_alu_op as extra parameter,
that was already lowered to a specific conversion operation
based on the matrix types.

Instead of that, add a new intrinsic `cmat_convert` that is specific
for that conversion.  In addition to the src/dst matrix descriptions
already available, also include the signedness information in the
intrinsic (reuse nir_cmat_signed for that).  This is needed because
different Convert operations define different interpretations for
integers, regardless their original type.

In this patch, both radv and intel were changed to use the same logic
that was previously used to pick the lowered ALU op.

This change will help represent cmat conversions involving BFloat16,
because it avoids having to create new NIR ALU ops for all the
combinations involving BFloat16.

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34511>
2025-04-16 23:13:36 +00:00
..
clc clc: Allow bitfields 2025-04-11 21:27:37 +00:00
glsl glsl_to_nir: upcast array indices 2025-04-07 19:44:22 +00:00
isaspec meson: do not compile libisaspec unless used 2025-03-25 08:32:47 +00:00
libcl clc,libcl: Clean up CL includes 2025-04-11 21:27:37 +00:00
nir spirv, radv, intel: Add NIR intrinsic for cmat conversion 2025-04-16 23:13:36 +00:00
rust nak,nir: Add an image_load_raw_nv intrinsic 2025-04-08 04:06:45 +00:00
spirv spirv, radv, intel: Add NIR intrinsic for cmat conversion 2025-04-16 23:13:36 +00:00
builtin_types.py compiler/types: Add multisample vimage/vtexture types 2024-08-27 15:06:16 +00:00
builtin_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
builtin_types_h.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
glsl_types.c spirv, radv, intel: Add NIR intrinsic for cmat conversion 2025-04-16 23:13:36 +00:00
glsl_types.h spirv, radv, intel: Add NIR intrinsic for cmat conversion 2025-04-16 23:13:36 +00:00
meson.build nak: Move bitset to compiler crate 2024-08-07 21:08:18 +00:00
shader_enums.c nir: add load_front_face_fsign 2024-12-30 22:31:34 +00:00
shader_enums.h nir: Rename in-bounds-agx to in-bounds 2025-02-19 09:54:11 +00:00
shader_info.h compiler,nir: Gather needs_full_quad_helper_invocations info 2025-03-14 21:55:58 +00:00