HLSL: Flatten whole-struct assigns and returns when targeting flattened I/O structs.
This commit is contained in:
parent
f8e494c18c
commit
d21baed6bc
67 changed files with 4024 additions and 2886 deletions
|
|
@ -40,10 +40,20 @@ gl_FragCoord origin is upper left
|
|||
0:35 1 (const int)
|
||||
0:35 Constant:
|
||||
0:35 1.000000
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:? Sequence
|
||||
0:? Sequence
|
||||
0:37 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:37 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:37 Depth: direct index for structure (temp float FragDepth)
|
||||
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer)
|
||||
|
|
@ -106,10 +116,20 @@ gl_FragCoord origin is upper left
|
|||
0:35 1 (const int)
|
||||
0:35 Constant:
|
||||
0:35 1.000000
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:? Sequence
|
||||
0:? Sequence
|
||||
0:37 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:37 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:37 Depth: direct index for structure (temp float FragDepth)
|
||||
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer)
|
||||
|
|
@ -129,13 +149,13 @@ gl_FragCoord origin is upper left
|
|||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 75
|
||||
// Id's are bound by 76
|
||||
|
||||
Capability Shader
|
||||
Capability SampledBuffer
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 55 72 74
|
||||
EntryPoint Fragment 4 "main" 55 59
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 9 "r00"
|
||||
|
|
@ -149,25 +169,24 @@ gl_FragCoord origin is upper left
|
|||
MemberName 44(PS_OUTPUT) 0 "Color"
|
||||
MemberName 44(PS_OUTPUT) 1 "Depth"
|
||||
Name 46 "psout"
|
||||
Name 55 "@entryPointOutput"
|
||||
Name 58 "g_tTexbf4_test"
|
||||
Name 61 "c2"
|
||||
Name 64 "c3"
|
||||
Name 66 "c4"
|
||||
Name 67 "o1"
|
||||
Name 68 "o2"
|
||||
Name 69 "o3"
|
||||
Name 70 "o4"
|
||||
Name 72 "Color"
|
||||
Name 74 "Depth"
|
||||
Name 55 "Color"
|
||||
Name 59 "Depth"
|
||||
Name 63 "g_tTexbf4_test"
|
||||
Name 66 "c2"
|
||||
Name 69 "c3"
|
||||
Name 71 "c4"
|
||||
Name 72 "o1"
|
||||
Name 73 "o2"
|
||||
Name 74 "o3"
|
||||
Name 75 "o4"
|
||||
Decorate 13(g_tTexbf4) DescriptorSet 0
|
||||
Decorate 27(g_tTexbi4) DescriptorSet 0
|
||||
Decorate 39(g_tTexbu4) DescriptorSet 0
|
||||
MemberDecorate 44(PS_OUTPUT) 1 BuiltIn FragDepth
|
||||
Decorate 58(g_tTexbf4_test) DescriptorSet 0
|
||||
Decorate 58(g_tTexbf4_test) Binding 0
|
||||
Decorate 72(Color) Location 0
|
||||
Decorate 74(Depth) BuiltIn FragDepth
|
||||
Decorate 55(Color) Location 0
|
||||
Decorate 59(Depth) BuiltIn FragDepth
|
||||
Decorate 63(g_tTexbf4_test) DescriptorSet 0
|
||||
Decorate 63(g_tTexbf4_test) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
|
|
@ -200,25 +219,23 @@ gl_FragCoord origin is upper left
|
|||
49: 7(fvec4) ConstantComposite 48 48 48 48
|
||||
51: 15(int) Constant 1
|
||||
52: TypePointer Function 6(float)
|
||||
54: TypePointer Output 44(PS_OUTPUT)
|
||||
55(@entryPointOutput): 54(ptr) Variable Output
|
||||
58(g_tTexbf4_test): 12(ptr) Variable UniformConstant
|
||||
59: TypeVector 15(int) 2
|
||||
60: TypePointer UniformConstant 59(ivec2)
|
||||
61(c2): 60(ptr) Variable UniformConstant
|
||||
62: TypeVector 15(int) 3
|
||||
63: TypePointer UniformConstant 62(ivec3)
|
||||
64(c3): 63(ptr) Variable UniformConstant
|
||||
65: TypePointer UniformConstant 21(ivec4)
|
||||
66(c4): 65(ptr) Variable UniformConstant
|
||||
67(o1): 16(ptr) Variable UniformConstant
|
||||
68(o2): 60(ptr) Variable UniformConstant
|
||||
69(o3): 63(ptr) Variable UniformConstant
|
||||
70(o4): 65(ptr) Variable UniformConstant
|
||||
71: TypePointer Output 7(fvec4)
|
||||
72(Color): 71(ptr) Variable Output
|
||||
73: TypePointer Output 6(float)
|
||||
74(Depth): 73(ptr) Variable Output
|
||||
54: TypePointer Output 7(fvec4)
|
||||
55(Color): 54(ptr) Variable Output
|
||||
58: TypePointer Output 6(float)
|
||||
59(Depth): 58(ptr) Variable Output
|
||||
63(g_tTexbf4_test): 12(ptr) Variable UniformConstant
|
||||
64: TypeVector 15(int) 2
|
||||
65: TypePointer UniformConstant 64(ivec2)
|
||||
66(c2): 65(ptr) Variable UniformConstant
|
||||
67: TypeVector 15(int) 3
|
||||
68: TypePointer UniformConstant 67(ivec3)
|
||||
69(c3): 68(ptr) Variable UniformConstant
|
||||
70: TypePointer UniformConstant 21(ivec4)
|
||||
71(c4): 70(ptr) Variable UniformConstant
|
||||
72(o1): 16(ptr) Variable UniformConstant
|
||||
73(o2): 65(ptr) Variable UniformConstant
|
||||
74(o3): 68(ptr) Variable UniformConstant
|
||||
75(o4): 70(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(r00): 8(ptr) Variable Function
|
||||
|
|
@ -244,7 +261,11 @@ gl_FragCoord origin is upper left
|
|||
Store 50 49
|
||||
53: 52(ptr) AccessChain 46(psout) 51
|
||||
Store 53 48
|
||||
56:44(PS_OUTPUT) Load 46(psout)
|
||||
Store 55(@entryPointOutput) 56
|
||||
56: 8(ptr) AccessChain 46(psout) 47
|
||||
57: 7(fvec4) Load 56
|
||||
Store 55(Color) 57
|
||||
60: 52(ptr) AccessChain 46(psout) 51
|
||||
61: 6(float) Load 60
|
||||
Store 59(Depth) 61
|
||||
Return
|
||||
FunctionEnd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue