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

@ -66,13 +66,13 @@ Shader version: 450
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:22 Constant:
0:22 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:22 move second child to first child (temp int)
0:22 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:22 Constant:
0:22 2 (const int)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'x1_in' (layout(location=2 ) in int)
0:22 Sequence
0:22 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:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
@ -105,8 +105,8 @@ 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_in' (layout(location=1 ) in 4-component vector of float)
0:? 'x1_in' (layout(location=2 ) in int)
Linked vertex stage:
@ -179,13 +179,13 @@ Shader version: 450
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:22 Constant:
0:22 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:22 move second child to first child (temp int)
0:22 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:22 Constant:
0:22 2 (const int)
0:? 'x1_in' (layout(location=1 ) in int)
0:? 'x1_in' (layout(location=2 ) in int)
0:22 Sequence
0:22 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:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
@ -218,8 +218,8 @@ 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_in' (layout(location=1 ) in 4-component vector of float)
0:? 'x1_in' (layout(location=2 ) in int)
// Module Version 10000
// Generated by (magic number): 80001
@ -258,8 +258,8 @@ Shader version: 450
Name 68 "@entryPointOutput"
Name 74 "@entryPointOutput_Pos_out"
Decorate 52(x0_in) Location 0
Decorate 56(Pos_in) BuiltIn Position
Decorate 59(x1_in) Location 1
Decorate 56(Pos_in) Location 1
Decorate 59(x1_in) Location 2
Decorate 68(@entryPointOutput) Location 0
Decorate 74(@entryPointOutput_Pos_out) BuiltIn Position
2: TypeVoid