HLSL: Flatten more I/O: non-arrayed user-only structures.

The goal is to flatten all I/O, but there are multiple categories and
steps to complete, likely including a final unification of splitting
and flattening.
This commit is contained in:
John Kessenich
2017-08-04 12:04:44 -06:00
parent cca42a8ea6
commit b6be80f44e
12 changed files with 693 additions and 374 deletions

View File

@@ -14,10 +14,11 @@ Shader version: 500
0:10 move second child to first child ( temp structure{})
0:? 'i' ( temp structure{})
0:? 'i' ( in structure{})
0:10 move second child to first child ( temp structure{})
0:? '@entryPointOutput' ( out structure{})
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
0:? 'i' ( temp structure{})
0:10 Sequence
0:10 move second child to first child ( temp structure{})
0:? '@entryPointOutput' ( out structure{})
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
0:? 'i' ( temp structure{})
0:? Linker Objects
@@ -39,10 +40,11 @@ Shader version: 500
0:10 move second child to first child ( temp structure{})
0:? 'i' ( temp structure{})
0:? 'i' ( in structure{})
0:10 move second child to first child ( temp structure{})
0:? '@entryPointOutput' ( out structure{})
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
0:? 'i' ( temp structure{})
0:10 Sequence
0:10 move second child to first child ( temp structure{})
0:? '@entryPointOutput' ( out structure{})
0:10 Function Call: @main(struct-vs_in1; ( temp structure{})
0:? 'i' ( temp structure{})
0:? Linker Objects
// Module Version 10000