HLSL: Flatten structs for all non-arrayed I/O interfaces.
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
hlsl.multiDescriptorSet.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 95
|
||||
// Id's are bound by 92
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 78 83 89
|
||||
EntryPoint Fragment 4 "main" 78 82 86
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@@ -30,13 +30,11 @@ hlsl.multiDescriptorSet.frag
|
||||
Name 63 "samLinearA"
|
||||
Name 76 "input"
|
||||
Name 78 "input.Pos"
|
||||
Name 81 "PS_INPUT"
|
||||
MemberName 81(PS_INPUT) 0 "Tex"
|
||||
Name 83 "input"
|
||||
Name 89 "@entryPointOutput"
|
||||
Name 90 "param"
|
||||
Name 93 "txDiffuseB"
|
||||
Name 94 "samLinearB"
|
||||
Name 82 "input.Tex"
|
||||
Name 86 "@entryPointOutput"
|
||||
Name 87 "param"
|
||||
Name 90 "txDiffuseB"
|
||||
Name 91 "samLinearB"
|
||||
MemberDecorate 23(cbChangesEveryFrame) 0 RowMajor
|
||||
MemberDecorate 23(cbChangesEveryFrame) 0 Offset 0
|
||||
MemberDecorate 23(cbChangesEveryFrame) 0 MatrixStride 16
|
||||
@@ -61,12 +59,12 @@ hlsl.multiDescriptorSet.frag
|
||||
Decorate 63(samLinearA) DescriptorSet 0
|
||||
Decorate 63(samLinearA) Binding 1
|
||||
Decorate 78(input.Pos) BuiltIn FragCoord
|
||||
Decorate 83(input) Location 0
|
||||
Decorate 89(@entryPointOutput) Location 0
|
||||
Decorate 93(txDiffuseB) DescriptorSet 1
|
||||
Decorate 93(txDiffuseB) Binding 0
|
||||
Decorate 94(samLinearB) DescriptorSet 1
|
||||
Decorate 94(samLinearB) Binding 1
|
||||
Decorate 82(input.Tex) Location 0
|
||||
Decorate 86(@entryPointOutput) Location 0
|
||||
Decorate 90(txDiffuseB) DescriptorSet 1
|
||||
Decorate 90(txDiffuseB) Binding 0
|
||||
Decorate 91(samLinearB) DescriptorSet 1
|
||||
Decorate 91(samLinearB) Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@@ -105,29 +103,26 @@ hlsl.multiDescriptorSet.frag
|
||||
70: TypePointer Uniform 7(fvec4)
|
||||
77: TypePointer Input 7(fvec4)
|
||||
78(input.Pos): 77(ptr) Variable Input
|
||||
81(PS_INPUT): TypeStruct 8(fvec2)
|
||||
82: TypePointer Input 81(PS_INPUT)
|
||||
83(input): 82(ptr) Variable Input
|
||||
84: TypePointer Input 8(fvec2)
|
||||
88: TypePointer Output 7(fvec4)
|
||||
89(@entryPointOutput): 88(ptr) Variable Output
|
||||
93(txDiffuseB): 58(ptr) Variable UniformConstant
|
||||
94(samLinearB): 62(ptr) Variable UniformConstant
|
||||
81: TypePointer Input 8(fvec2)
|
||||
82(input.Tex): 81(ptr) Variable Input
|
||||
85: TypePointer Output 7(fvec4)
|
||||
86(@entryPointOutput): 85(ptr) Variable Output
|
||||
90(txDiffuseB): 58(ptr) Variable UniformConstant
|
||||
91(samLinearB): 62(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
76(input): 10(ptr) Variable Function
|
||||
90(param): 10(ptr) Variable Function
|
||||
87(param): 10(ptr) Variable Function
|
||||
79: 7(fvec4) Load 78(input.Pos)
|
||||
80: 29(ptr) AccessChain 76(input) 21
|
||||
Store 80 79
|
||||
85: 84(ptr) AccessChain 83(input) 21
|
||||
86: 8(fvec2) Load 85
|
||||
87: 53(ptr) AccessChain 76(input) 52
|
||||
Store 87 86
|
||||
91: 9(PS_INPUT) Load 76(input)
|
||||
Store 90(param) 91
|
||||
92: 7(fvec4) FunctionCall 13(@main(struct-PS_INPUT-vf4-vf21;) 90(param)
|
||||
Store 89(@entryPointOutput) 92
|
||||
83: 8(fvec2) Load 82(input.Tex)
|
||||
84: 53(ptr) AccessChain 76(input) 52
|
||||
Store 84 83
|
||||
88: 9(PS_INPUT) Load 76(input)
|
||||
Store 87(param) 88
|
||||
89: 7(fvec4) FunctionCall 13(@main(struct-PS_INPUT-vf4-vf21;) 87(param)
|
||||
Store 86(@entryPointOutput) 89
|
||||
Return
|
||||
FunctionEnd
|
||||
13(@main(struct-PS_INPUT-vf4-vf21;): 7(fvec4) Function None 11
|
||||
|
||||
Reference in New Issue
Block a user