@@ -7702,6 +7702,10 @@ def err_hlsl_varmodifierna_decltype : Error<
7702
7702
"%0 is not a valid modifier for a declaration of type %1">;
7703
7703
def note_hlsl_globallycoherent_applies_to : Note<
7704
7704
"'globallycoherent' can only be applied to UAV or RWDispatchNodeInputRecord objects">;
7705
+ def note_hlsl_reordercoherent_applies_to : Note<
7706
+ "'reordercoherent' can only be applied to UAV objects">;
7707
+ def warn_hlsl_gc_implies_rc_attribute : Warning<
7708
+ "Attribute 'reordercoherent' implied by 'globallycoherent' in %0. 'reordercoherent' ignored.">, DefaultWarn;
7705
7709
def err_hlsl_varmodifiersna : Error<
7706
7710
"%0 and %1 cannot be used together for a %2">;
7707
7711
def err_hlsl_vla : Error< // Patterened after err_opencl_vla
@@ -7753,6 +7757,12 @@ def warn_hlsl_unary_negate_unsigned : Warning<
7753
7757
def warn_hlsl_impcast_glc_mismatch : Warning<
7754
7758
"implicit conversion from %0 to %1 %select{loses|adds}2 globallycoherent annotation">,
7755
7759
InGroup<Conversion>, DefaultWarn;
7760
+ def warn_hlsl_impcast_rdc_mismatch : Warning<
7761
+ "implicit conversion from %0 to %1 %select{loses|adds}2 reordercoherent annotation">,
7762
+ InGroup<Conversion>, DefaultWarn;
7763
+ def warn_hlsl_impcast_rdc_glc_mismatch : Warning<
7764
+ "implicit conversion from %0 to %1 %select{demotes globallycoherent to reordercoherent|promotes reordercoherent to globallycoherent}2 annotation">,
7765
+ InGroup<Conversion>, DefaultWarn;
7756
7766
def warn_hlsl_narrowing : Warning<
7757
7767
"conversion from larger type %0 to smaller type %1, possible loss of data">,
7758
7768
InGroup<Conversion>, DefaultWarn;
@@ -7991,6 +8001,10 @@ def warn_hlsl_legacy_integer_literal_signedness: Warning<
7991
8001
InGroup<HLSLLegacyLiterals>, DefaultIgnore;
7992
8002
def err_hlsl_unsupported_semantic_index: Error<
7993
8003
"'%0' is defined with semantic index %1, but only values 0 through %2 are supported">;
8004
+
8005
+ // Shader Execution Reordering
8006
+ def err_hlsl_reorder_coherent_invalid_shader_kind : Error<
8007
+ "Attribute reordercoherent not valid in shader kind %0 (has to be callable, raygeneration, closesthit or miss)">;
7994
8008
// HLSL Change Ends
7995
8009
7996
8010
// SPIRV Change Starts
0 commit comments