@@ -51,6 +51,28 @@ def DXSA_GlobalFlagsAttr :
5151 let assemblyFormat = "`<` $value `>`";
5252}
5353
54+ def DXSA_TessellatorPartitioningMode_Integer : I32EnumAttrCase<"partitioning_integer", 1>;
55+ def DXSA_TessellatorPartitioningMode_Pow2 : I32EnumAttrCase<"partitioning_pow2", 2>;
56+ def DXSA_TessellatorPartitioningMode_FractionalOdd : I32EnumAttrCase<"partitioning_fractional_odd", 3>;
57+ def DXSA_TessellatorPartitioningMode_FractionalEven : I32EnumAttrCase<"partitioning_fractional_even", 4>;
58+
59+ def DXSA_TessellatorPartitioningMode : I32EnumAttr<
60+ "TessellatorPartitioningMode", "tessellator partitioning mode", [
61+ DXSA_TessellatorPartitioningMode_Integer,
62+ DXSA_TessellatorPartitioningMode_Pow2,
63+ DXSA_TessellatorPartitioningMode_FractionalOdd,
64+ DXSA_TessellatorPartitioningMode_FractionalEven
65+ ]> {
66+ let cppNamespace = "::mlir::dxsa";
67+ let genSpecializedAttr = 0;
68+ }
69+
70+ def DXSA_TessellatorPartitioningModeAttr :
71+ EnumAttr<DXSADialect, DXSA_TessellatorPartitioningMode,
72+ "tessellator_partitioning_mode"> {
73+ let assemblyFormat = "$value";
74+ }
75+
5476//===----------------------------------------------------------------------===//
5577// DXSA op definitions
5678//===----------------------------------------------------------------------===//
@@ -196,4 +218,21 @@ def DXSA_DclOutputControlPointCount :
196218 let assemblyFormat = [{ $count attr-dict }];
197219}
198220
221+ def DXSA_DclTessellatorPartitioning
222+ : DXSA_Op<"dcl_tessellator_partitioning"> {
223+ let summary = "declares the tessellator partitioning mode";
224+ let description = [{
225+ The `dxsa.dcl_tessellator_partitioning` operation declares the
226+ tessellator partitioning mode in a Hull Shader declaration section.
227+
228+ Example:
229+
230+ ```mlir
231+ dxsa.dcl_tessellator_partitioning partitioning_integer
232+ ```
233+ }];
234+ let arguments = (ins DXSA_TessellatorPartitioningModeAttr:$partitioningMode);
235+ let assemblyFormat = "$partitioningMode attr-dict";
236+ }
237+
199238#endif // DXSA_OPS
0 commit comments