Module: Mesa
Branch: main
Commit: eb1fe8c32faea68b0308cdb0c1fe8759066952ef
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb1fe8c32faea68b0308cdb0c1fe8759066952ef

Author: Qiang Yu <[email protected]>
Date:   Sun Apr 23 11:49:26 2023 +0800

nir: add nir_export_dual_src_blend_amd intrinsic

For GFX11 export dual source blend outputs when ACO.
ACO need a pseudo instruction to emit a block of
code which can't be done in nir currently.

Reviewed-by: Rhys Perry <[email protected]>
Signed-off-by: Qiang Yu <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

---

 src/compiler/nir/nir_intrinsics.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/compiler/nir/nir_intrinsics.py 
b/src/compiler/nir/nir_intrinsics.py
index 837803ccd16..5a525032500 100644
--- a/src/compiler/nir/nir_intrinsics.py
+++ b/src/compiler/nir/nir_intrinsics.py
@@ -1607,6 +1607,10 @@ system_value("lds_ngg_gs_out_vertex_base_amd", 1)
 # FLAGS = AC_EXP_FLAG_*
 intrinsic("export_amd", [0], indices=[BASE, WRITE_MASK, FLAGS])
 
+# Export dual source blend outputs with swizzle operation
+# src[] = { mrt0, mrt1 }
+intrinsic("export_dual_src_blend_amd", [0, 0], indices=[WRITE_MASK])
+
 # Alpha test reference value
 system_value("alpha_reference_amd", 1)
 

Reply via email to