HLSL: pass tessellation execution modes through to SPIR-V
The SPIR-V generator had assumed tessellation modes such as primitive type and vertex order would only appear in tess eval (domain) shaders. SPIR-V allows either, and HLSL allows and possibly requires them to be in the hull shader. This change: 1. Passes them through for either tessellation stage, and, 2. Does not set up defaults in the domain stage for HLSl compilation, to avoid conflicting definitions.
This commit is contained in:
parent
e752f463c5
commit
e741249b72
12 changed files with 476 additions and 13 deletions
|
|
@ -884,6 +884,13 @@ void TIntermediate::output(TInfoSink& infoSink, bool tree)
|
|||
|
||||
case EShLangTessControl:
|
||||
infoSink.debug << "vertices = " << vertices << "\n";
|
||||
|
||||
if (inputPrimitive != ElgNone)
|
||||
infoSink.debug << "input primitive = " << TQualifier::getGeometryString(inputPrimitive) << "\n";
|
||||
if (vertexSpacing != EvsNone)
|
||||
infoSink.debug << "vertex spacing = " << TQualifier::getVertexSpacingString(vertexSpacing) << "\n";
|
||||
if (vertexOrder != EvoNone)
|
||||
infoSink.debug << "triangle order = " << TQualifier::getVertexOrderString(vertexOrder) << "\n";
|
||||
break;
|
||||
|
||||
case EShLangTessEvaluation:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue