@@ -112,6 +112,28 @@ def DXSA_OutputPrimitiveTopologyAttr :
112112 let assemblyFormat = "$value";
113113}
114114
115+ def DXSA_TessellatorPartitioningMode_Integer : I32EnumAttrCase<"partitioning_integer", 1>;
116+ def DXSA_TessellatorPartitioningMode_Pow2 : I32EnumAttrCase<"partitioning_pow2", 2>;
117+ def DXSA_TessellatorPartitioningMode_FractionalOdd : I32EnumAttrCase<"partitioning_fractional_odd", 3>;
118+ def DXSA_TessellatorPartitioningMode_FractionalEven : I32EnumAttrCase<"partitioning_fractional_even", 4>;
119+
120+ def DXSA_TessellatorPartitioningMode : I32EnumAttr<
121+ "TessellatorPartitioningMode", "tessellator partitioning mode", [
122+ DXSA_TessellatorPartitioningMode_Integer,
123+ DXSA_TessellatorPartitioningMode_Pow2,
124+ DXSA_TessellatorPartitioningMode_FractionalOdd,
125+ DXSA_TessellatorPartitioningMode_FractionalEven
126+ ]> {
127+ let cppNamespace = "::mlir::dxsa";
128+ let genSpecializedAttr = 0;
129+ }
130+
131+ def DXSA_TessellatorPartitioningModeAttr :
132+ EnumAttr<DXSADialect, DXSA_TessellatorPartitioningMode,
133+ "tessellator_partitioning_mode"> {
134+ let assemblyFormat = "$value";
135+ }
136+
115137//===----------------------------------------------------------------------===//
116138// DXSA op definitions
117139//===----------------------------------------------------------------------===//
@@ -307,4 +329,21 @@ def DXSA_DclOutputTopology : DXSA_Op<"dcl_output_topology"> {
307329 let assemblyFormat = "$topology attr-dict";
308330}
309331
332+ def DXSA_DclTessellatorPartitioning
333+ : DXSA_Op<"dcl_tessellator_partitioning"> {
334+ let summary = "declares the tessellator partitioning mode";
335+ let description = [{
336+ The `dxsa.dcl_tessellator_partitioning` operation declares the
337+ tessellator partitioning mode in a Hull Shader declaration section.
338+
339+ Example:
340+
341+ ```mlir
342+ dxsa.dcl_tessellator_partitioning partitioning_integer
343+ ```
344+ }];
345+ let arguments = (ins DXSA_TessellatorPartitioningModeAttr:$partitioningMode);
346+ let assemblyFormat = "$partitioningMode attr-dict";
347+ }
348+
310349#endif // DXSA_OPS
0 commit comments