
Fix the error message for when an erroneous HLSL constructor statement is detected. Prior to this change, such error messages would not show correct file path and line number information. Additionally, update test data to account for updated error messages.
299 lines
15 KiB
Plaintext
299 lines
15 KiB
Plaintext
hlsl.targetStruct2.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:14 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 Sequence
|
|
0:12 move second child to first child ( temp float)
|
|
0:12 interp: direct index for structure ( temp float)
|
|
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
|
0:12 Constant:
|
|
0:12 0 (const int)
|
|
0:? 'input.interp' (layout( location=0) in float)
|
|
0:12 move second child to first child ( temp uint)
|
|
0:12 no_interp: direct index for structure ( temp uint)
|
|
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:? 'input.no_interp' (layout( location=1) flat in uint)
|
|
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:? '@entryPointOutput.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:? '@entryPointOutput.o2' (layout( location=3) 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:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
|
|
0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float)
|
|
0:? 'input.interp' (layout( location=0) in float)
|
|
0:? 'input.no_interp' (layout( location=1) flat in uint)
|
|
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:14 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 Sequence
|
|
0:12 move second child to first child ( temp float)
|
|
0:12 interp: direct index for structure ( temp float)
|
|
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
|
0:12 Constant:
|
|
0:12 0 (const int)
|
|
0:? 'input.interp' (layout( location=0) in float)
|
|
0:12 move second child to first child ( temp uint)
|
|
0:12 no_interp: direct index for structure ( temp uint)
|
|
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:? 'input.no_interp' (layout( location=1) flat in uint)
|
|
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:? '@entryPointOutput.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:? '@entryPointOutput.o2' (layout( location=3) 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:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
|
|
0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float)
|
|
0:? 'input.interp' (layout( location=0) in float)
|
|
0:? 'input.no_interp' (layout( location=1) flat in uint)
|
|
0:? 'po' (layout( location=0) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 65
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 42 46 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 42 "input.interp"
|
|
Name 46 "input.no_interp"
|
|
Name 49 "flattenTemp"
|
|
Name 50 "po"
|
|
Name 51 "param"
|
|
Name 53 "param"
|
|
Name 57 "@entryPointOutput.o1"
|
|
Name 60 "@entryPointOutput.o2"
|
|
Name 63 "po"
|
|
Decorate 42(input.interp) Location 0
|
|
Decorate 46(input.no_interp) Flat
|
|
Decorate 46(input.no_interp) Location 1
|
|
Decorate 57(@entryPointOutput.o1) Location 2
|
|
Decorate 60(@entryPointOutput.o2) Location 3
|
|
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: TypePointer Input 6(float)
|
|
42(input.interp): 41(ptr) Variable Input
|
|
45: TypePointer Input 7(int)
|
|
46(input.no_interp): 45(ptr) Variable Input
|
|
56: TypePointer Output 10(fvec4)
|
|
57(@entryPointOutput.o1): 56(ptr) Variable Output
|
|
60(@entryPointOutput.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
|
|
43: 6(float) Load 42(input.interp)
|
|
44: 27(ptr) AccessChain 40(input) 21
|
|
Store 44 43
|
|
47: 7(int) Load 46(input.no_interp)
|
|
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(@entryPointOutput.o1) 59
|
|
61: 11(ptr) AccessChain 49(flattenTemp) 22
|
|
62: 10(fvec4) Load 61
|
|
Store 60(@entryPointOutput.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
|