Quick answer: SPIR-V Cross output missing tessellation domain declaration? Domain attributes opt-in - preserve via execution mode parameters.

HLSL tessellation shader cross-compiled; output uses default triangles domain; expected quads.

Specify execution mode

OpExecutionMode Quads explicitly. Cross-compile preserves.

Or audit per-stage

Each tessellation stage; execution mode declared.

Use HLSL with explicit domain

HLSL [domain("quad")] attribute; cross-compile preserves.

“Cross-compile preserves what's explicit. Implicit gets the default.”

For tessellation, the explicit declarations are mandatory. Document the requirement.

Related reading