HLSL: Register all entry-point in/out as part of the interface.

This makes the interface be invariant, whether or not individual
variables are used.
This commit is contained in:
John Kessenich
2016-09-12 11:55:47 -06:00
parent b3e24e4359
commit deb4940c17
98 changed files with 448 additions and 19 deletions

View File

@@ -12,6 +12,7 @@ gl_FragCoord origin is upper left
0:11 0 (const int)
0:11 true case is null
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
Linked fragment stage:
@@ -30,21 +31,28 @@ gl_FragCoord origin is upper left
0:11 0 (const int)
0:11 true case is null
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 10
// Id's are bound by 14
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction"
EntryPoint Fragment 4 "PixelShaderFunction" 13
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 13 "input"
Decorate 13(input) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: 6(int) Constant 0
10: TypeFloat 32
11: TypeVector 10(float) 4
12: TypePointer Input 11(fvec4)
13(input): 12(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
SelectionMerge 9 None