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

@@ -38,6 +38,7 @@ gl_FragCoord origin is upper left
0:29 0 (const int)
0:27 No loop body
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
Linked fragment stage:
@@ -82,21 +83,24 @@ gl_FragCoord origin is upper left
0:29 0 (const int)
0:27 No loop body
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 36
// Id's are bound by 39
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction"
EntryPoint Fragment 4 "PixelShaderFunction" 38
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "x"
Name 11 "x"
Name 14 "x"
Name 17 "x"
Name 38 "input"
Decorate 38(input) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -108,6 +112,9 @@ gl_FragCoord origin is upper left
15: TypeVector 9(float) 3
16: TypePointer Function 15(fvec3)
19: 6(int) Constant 0
36: TypeVector 9(float) 4
37: TypePointer Input 36(fvec4)
38(input): 37(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
8(x): 7(ptr) Variable Function