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

@ -62,6 +62,11 @@ local_size = (1, 1, 1)
0:? 4.000000
0:199 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
Linked compute stage:
@ -130,15 +135,20 @@ local_size = (1, 1, 1)
0:? 4.000000
0:199 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 65
// Id's are bound by 72
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 61
EntryPoint GLCompute 4 "ComputeShaderFunction" 61 66 67 68 71
ExecutionMode 4 LocalSize 1 1 1
Name 4 "ComputeShaderFunction"
Name 15 "ComputeShaderFunctionS(f1;f1;f1;i1;"
@ -162,7 +172,15 @@ local_size = (1, 1, 1)
Name 41 "inF2"
Name 42 "inI0"
Name 61 "@entryPointOutput"
Name 66 "inF0"
Name 67 "inF1"
Name 68 "inF2"
Name 71 "inI0"
Decorate 61(@entryPointOutput) Location 0
Decorate 66(inF0) Location 0
Decorate 67(inF1) Location 1
Decorate 68(inF2) Location 2
Decorate 71(inI0) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -191,6 +209,13 @@ local_size = (1, 1, 1)
61(@entryPointOutput): 60(ptr) Variable Output
62: 6(float) Constant 1082130432
63: 59(fvec4) ConstantComposite 50 51 55 62
65: TypePointer Input 59(fvec4)
66(inF0): 65(ptr) Variable Input
67(inF1): 65(ptr) Variable Input
68(inF2): 65(ptr) Variable Input
69: TypeVector 8(int) 4
70: TypePointer Input 69(ivec4)
71(inI0): 70(ptr) Variable Input
4(ComputeShaderFunction): 2 Function None 3
5: Label
Store 61(@entryPointOutput) 63