HLSL: Move to fine-grained control for defining input/output/uniform IO types.

This commit is contained in:
John Kessenich 2017-02-05 20:27:30 -07:00
parent 727b374fd3
commit bf47286fe7
11 changed files with 419 additions and 181 deletions

View file

@ -52,16 +52,16 @@ Shader version: 450
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:17 Constant:
0:17 1 (const int)
0:? 'Pos_in' (in 4-component vector of float Position)
0:? 'Pos_in' (layout(location=1 ) in 4-component vector of float)
0:17 move second child to first child (temp int)
0:17 x1_in: direct index for structure (temp int)
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:17 Constant:
0:17 2 (const int)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'x1_in' (layout(location=2 ) in int)
0:17 move second child to first child (temp 4-component vector of float)
0:? 'Pos_loose' (temp 4-component vector of float)
0:? 'Pos_loose' (in 4-component vector of float Position)
0:? 'Pos_loose' (layout(location=3 ) in 4-component vector of float)
0:17 Sequence
0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
@ -95,9 +95,9 @@ Shader version: 450
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out})
0:? 'x0_in' (layout(location=0 ) in int)
0:? 'Pos_in' (in 4-component vector of float Position)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'Pos_loose' (in 4-component vector of float Position)
0:? 'Pos_in' (layout(location=1 ) in 4-component vector of float)
0:? 'x1_in' (layout(location=2 ) in int)
0:? 'Pos_loose' (layout(location=3 ) in 4-component vector of float)
Linked vertex stage:
@ -156,16 +156,16 @@ Shader version: 450
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:17 Constant:
0:17 1 (const int)
0:? 'Pos_in' (in 4-component vector of float Position)
0:? 'Pos_in' (layout(location=1 ) in 4-component vector of float)
0:17 move second child to first child (temp int)
0:17 x1_in: direct index for structure (temp int)
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:17 Constant:
0:17 2 (const int)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'x1_in' (layout(location=2 ) in int)
0:17 move second child to first child (temp 4-component vector of float)
0:? 'Pos_loose' (temp 4-component vector of float)
0:? 'Pos_loose' (in 4-component vector of float Position)
0:? 'Pos_loose' (layout(location=3 ) in 4-component vector of float)
0:17 Sequence
0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
@ -199,9 +199,9 @@ Shader version: 450
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out})
0:? 'x0_in' (layout(location=0 ) in int)
0:? 'Pos_in' (in 4-component vector of float Position)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'Pos_loose' (in 4-component vector of float Position)
0:? 'Pos_in' (layout(location=1 ) in 4-component vector of float)
0:? 'x1_in' (layout(location=2 ) in int)
0:? 'Pos_loose' (layout(location=3 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
@ -239,9 +239,9 @@ Shader version: 450
Name 61 "@entryPointOutput"
Name 67 "@entryPointOutput_Pos_out"
Decorate 40(x0_in) Location 0
Decorate 44(Pos_in) BuiltIn Position
Decorate 47(x1_in) Location 1
Decorate 51(Pos_loose) BuiltIn Position
Decorate 44(Pos_in) Location 1
Decorate 47(x1_in) Location 2
Decorate 51(Pos_loose) Location 3
Decorate 61(@entryPointOutput) Location 0
Decorate 67(@entryPointOutput_Pos_out) BuiltIn Position
2: TypeVoid