HLSL: pass tessellation execution modes through to SPIR-V
authorsteve-lunarg <steve_gh@khasekhemwy.net>
Thu, 23 Mar 2017 17:56:07 +0000 (11:56 -0600)
committersteve-lunarg <steve_gh@khasekhemwy.net>
Fri, 31 Mar 2017 17:47:18 +0000 (11:47 -0600)
commite741249b72b61a631a52dea5c63100e849b12020
treebc895b228c115c917746cd478ced272b30f1b174
parente752f463c52080c049fb0541ce9ed57b189105ad
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.
12 files changed:
SPIRV/GlslangToSpv.cpp
Test/baseResults/hlsl.domain.1.tese.out [new file with mode: 0644]
Test/baseResults/hlsl.hull.1.tesc.out
Test/baseResults/hlsl.hull.2.tesc.out
Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
Test/baseResults/hlsl.hull.void.tesc.out
Test/hlsl.domain.1.tese [new file with mode: 0644]
glslang/MachineIndependent/intermOut.cpp
glslang/MachineIndependent/linkValidate.cpp
gtests/Hlsl.FromFile.cpp
hlsl/hlslParseHelper.cpp
hlsl/hlslParseHelper.h