HLSL: Fix #942: Map SV_TargetN to SPV Location N.
This commit is contained in:
277
Test/baseResults/hlsl.targetStruct1.frag.out
Executable file
277
Test/baseResults/hlsl.targetStruct1.frag.out
Executable file
@@ -0,0 +1,277 @@
|
||||
hlsl.targetStruct1.frag
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:12 Function Definition: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Function Parameters:
|
||||
0:12 'input' ( in structure{ temp float interp, temp uint no_interp})
|
||||
0:12 'po' ( out 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 o1: direct index for structure ( temp 4-component vector of float)
|
||||
0:14 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of float)
|
||||
0:14 Convert uint to float ( temp float)
|
||||
0:14 no_interp: direct index for structure ( temp uint)
|
||||
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 interp: direct index for structure ( temp float)
|
||||
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 Constant:
|
||||
0:14 0.000000
|
||||
0:14 Constant:
|
||||
0:14 1.000000
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:15 o2: direct index for structure ( temp 4-component vector of float)
|
||||
0:15 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 Constant:
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 'po' ( out 4-component vector of float)
|
||||
0:16 Constant:
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:18 Branch: Return with expression
|
||||
0:18 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Function Definition: main( ( temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Function Call: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'po' ( temp 4-component vector of float)
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:12 o1: direct index for structure ( temp 4-component vector of float)
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'o2' (layout( location=1) out 4-component vector of float)
|
||||
0:12 o2: direct index for structure ( temp 4-component vector of float)
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'po' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:? 'o2' (layout( location=1) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:12 Function Definition: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Function Parameters:
|
||||
0:12 'input' ( in structure{ temp float interp, temp uint no_interp})
|
||||
0:12 'po' ( out 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 o1: direct index for structure ( temp 4-component vector of float)
|
||||
0:14 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of float)
|
||||
0:14 Convert uint to float ( temp float)
|
||||
0:14 no_interp: direct index for structure ( temp uint)
|
||||
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 interp: direct index for structure ( temp float)
|
||||
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 Constant:
|
||||
0:14 0.000000
|
||||
0:14 Constant:
|
||||
0:14 1.000000
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:15 o2: direct index for structure ( temp 4-component vector of float)
|
||||
0:15 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 Constant:
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 'po' ( out 4-component vector of float)
|
||||
0:16 Constant:
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:18 Branch: Return with expression
|
||||
0:18 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Function Definition: main( ( temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Function Call: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
||||
0:? 'po' ( temp 4-component vector of float)
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:12 o1: direct index for structure ( temp 4-component vector of float)
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'o2' (layout( location=1) out 4-component vector of float)
|
||||
0:12 o2: direct index for structure ( temp 4-component vector of float)
|
||||
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'po' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'o1' (layout( location=2) out 4-component vector of float)
|
||||
0:? 'o2' (layout( location=1) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in structure{ temp float interp, flat temp uint no_interp})
|
||||
0:? 'po' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 65
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 43 57 60 63
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 8 "PSInput"
|
||||
MemberName 8(PSInput) 0 "interp"
|
||||
MemberName 8(PSInput) 1 "no_interp"
|
||||
Name 12 "PSOutput"
|
||||
MemberName 12(PSOutput) 0 "o1"
|
||||
MemberName 12(PSOutput) 1 "o2"
|
||||
Name 16 "@main(struct-PSInput-f1-u11;vf4;"
|
||||
Name 14 "input"
|
||||
Name 15 "po"
|
||||
Name 19 "pso"
|
||||
Name 40 "input"
|
||||
Name 41 "PSInput"
|
||||
MemberName 41(PSInput) 0 "interp"
|
||||
MemberName 41(PSInput) 1 "no_interp"
|
||||
Name 43 "input"
|
||||
Name 49 "flattenTemp"
|
||||
Name 50 "po"
|
||||
Name 51 "param"
|
||||
Name 53 "param"
|
||||
Name 57 "o1"
|
||||
Name 60 "o2"
|
||||
Name 63 "po"
|
||||
MemberDecorate 41(PSInput) 1 Flat
|
||||
Decorate 43(input) Location 0
|
||||
Decorate 57(o1) Location 2
|
||||
Decorate 60(o2) Location 1
|
||||
Decorate 63(po) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeInt 32 0
|
||||
8(PSInput): TypeStruct 6(float) 7(int)
|
||||
9: TypePointer Function 8(PSInput)
|
||||
10: TypeVector 6(float) 4
|
||||
11: TypePointer Function 10(fvec4)
|
||||
12(PSOutput): TypeStruct 10(fvec4) 10(fvec4)
|
||||
13: TypeFunction 12(PSOutput) 9(ptr) 11(ptr)
|
||||
18: TypePointer Function 12(PSOutput)
|
||||
20: TypeInt 32 1
|
||||
21: 20(int) Constant 0
|
||||
22: 20(int) Constant 1
|
||||
23: TypePointer Function 7(int)
|
||||
27: TypePointer Function 6(float)
|
||||
30: 6(float) Constant 0
|
||||
31: 6(float) Constant 1065353216
|
||||
34: 10(fvec4) ConstantComposite 31 31 31 31
|
||||
36: 10(fvec4) ConstantComposite 30 30 30 30
|
||||
41(PSInput): TypeStruct 6(float) 7(int)
|
||||
42: TypePointer Input 41(PSInput)
|
||||
43(input): 42(ptr) Variable Input
|
||||
56: TypePointer Output 10(fvec4)
|
||||
57(o1): 56(ptr) Variable Output
|
||||
60(o2): 56(ptr) Variable Output
|
||||
63(po): 56(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
40(input): 9(ptr) Variable Function
|
||||
49(flattenTemp): 18(ptr) Variable Function
|
||||
50(po): 11(ptr) Variable Function
|
||||
51(param): 9(ptr) Variable Function
|
||||
53(param): 11(ptr) Variable Function
|
||||
44: 41(PSInput) Load 43(input)
|
||||
45: 6(float) CompositeExtract 44 0
|
||||
46: 27(ptr) AccessChain 40(input) 21
|
||||
Store 46 45
|
||||
47: 7(int) CompositeExtract 44 1
|
||||
48: 23(ptr) AccessChain 40(input) 22
|
||||
Store 48 47
|
||||
52: 8(PSInput) Load 40(input)
|
||||
Store 51(param) 52
|
||||
54:12(PSOutput) FunctionCall 16(@main(struct-PSInput-f1-u11;vf4;) 51(param) 53(param)
|
||||
55: 10(fvec4) Load 53(param)
|
||||
Store 50(po) 55
|
||||
Store 49(flattenTemp) 54
|
||||
58: 11(ptr) AccessChain 49(flattenTemp) 21
|
||||
59: 10(fvec4) Load 58
|
||||
Store 57(o1) 59
|
||||
61: 11(ptr) AccessChain 49(flattenTemp) 22
|
||||
62: 10(fvec4) Load 61
|
||||
Store 60(o2) 62
|
||||
64: 10(fvec4) Load 50(po)
|
||||
Store 63(po) 64
|
||||
Return
|
||||
FunctionEnd
|
||||
16(@main(struct-PSInput-f1-u11;vf4;):12(PSOutput) Function None 13
|
||||
14(input): 9(ptr) FunctionParameter
|
||||
15(po): 11(ptr) FunctionParameter
|
||||
17: Label
|
||||
19(pso): 18(ptr) Variable Function
|
||||
24: 23(ptr) AccessChain 14(input) 22
|
||||
25: 7(int) Load 24
|
||||
26: 6(float) ConvertUToF 25
|
||||
28: 27(ptr) AccessChain 14(input) 21
|
||||
29: 6(float) Load 28
|
||||
32: 10(fvec4) CompositeConstruct 26 29 30 31
|
||||
33: 11(ptr) AccessChain 19(pso) 21
|
||||
Store 33 32
|
||||
35: 11(ptr) AccessChain 19(pso) 22
|
||||
Store 35 34
|
||||
Store 15(po) 36
|
||||
37:12(PSOutput) Load 19(pso)
|
||||
ReturnValue 37
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user