nir: add nir_load_barycentric_optimize_amd intrinsic
authorQiang Yu <yuq825@gmail.com>
Thu, 2 Mar 2023 12:04:52 +0000 (20:04 +0800)
committerMarge Bot <emma+marge@anholt.net>
Mon, 17 Apr 2023 02:11:55 +0000 (02:11 +0000)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>

src/compiler/nir/nir_divergence_analysis.c
src/compiler/nir/nir_intrinsics.py

index 639432e..f40b672 100644 (file)
@@ -208,6 +208,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
    case nir_intrinsic_load_alpha_reference_amd:
    case nir_intrinsic_load_ssbo_uniform_block_intel:
    case nir_intrinsic_load_shared_uniform_block_intel:
+   case nir_intrinsic_load_barycentric_optimize_amd:
       is_divergent = false;
       break;
 
index 3c194ad..830b2f4 100644 (file)
@@ -1607,6 +1607,9 @@ intrinsic("export_amd", [0], indices=[BASE, WRITE_MASK, FLAGS])
 # Alpha test reference value
 system_value("alpha_reference_amd", 1)
 
+# Whether to enable barycentric optimization
+system_value("barycentric_optimize_amd", dest_comp=1, bit_sizes=[1])
+
 # V3D-specific instrinc for tile buffer color reads.
 #
 # The hardware requires that we read the samples and components of a pixel