Module: Mesa Branch: main Commit: a29cd20d1725647f63fea648f7fb4d0e32b8d62b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a29cd20d1725647f63fea648f7fb4d0e32b8d62b
Author: Bas Nieuwenhuizen <[email protected]> Date: Sat Jul 15 19:24:07 2023 +0200 nir: Add AMD cooperative matrix intrinsics. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24683> --- src/compiler/nir/nir_divergence_analysis.c | 1 + src/compiler/nir/nir_intrinsics.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/compiler/nir/nir_divergence_analysis.c b/src/compiler/nir/nir_divergence_analysis.c index c5954f59fcb..eb6f6405099 100644 --- a/src/compiler/nir/nir_divergence_analysis.c +++ b/src/compiler/nir/nir_divergence_analysis.c @@ -610,6 +610,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr) case nir_intrinsic_rq_load: case nir_intrinsic_load_ray_triangle_vertex_positions: case nir_intrinsic_cmat_extract: + case nir_intrinsic_cmat_muladd_amd: is_divergent = true; break; diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index fb31c13e41b..59ad89b1c60 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -1671,6 +1671,9 @@ system_value("barycentric_optimize_amd", dest_comp=1, bit_sizes=[1]) intrinsic("strict_wqm_coord_amd", src_comp=[0], dest_comp=0, bit_sizes=[32], indices=[BASE], flags=[CAN_ELIMINATE]) +intrinsic("cmat_muladd_amd", src_comp=[16, 16, 0], dest_comp=0, bit_sizes=src2, + indices=[SATURATE, CMAT_SIGNED_MASK], flags=[CAN_ELIMINATE]) + # V3D-specific instrinc for tile buffer color reads. # # The hardware requires that we read the samples and components of a pixel
