
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.
258 lines
12 KiB
Plaintext
258 lines
12 KiB
Plaintext
hlsl.precedence.frag
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float)
|
|
0:7 Function Parameters:
|
|
0:7 'a1' ( in 4-component vector of float)
|
|
0:7 'a2' ( in 4-component vector of float)
|
|
0:7 'a3' ( in 4-component vector of float)
|
|
0:7 'a4' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:8 Branch: Return with expression
|
|
0:8 add ( temp 4-component vector of float)
|
|
0:8 add ( temp 4-component vector of float)
|
|
0:8 add ( temp 4-component vector of float)
|
|
0:8 'a1' ( in 4-component vector of float)
|
|
0:8 component-wise multiply ( temp 4-component vector of float)
|
|
0:8 'a2' ( in 4-component vector of float)
|
|
0:8 'a3' ( in 4-component vector of float)
|
|
0:8 'a4' ( in 4-component vector of float)
|
|
0:8 Construct vec4 ( temp 4-component vector of float)
|
|
0:8 component-wise multiply ( temp 3-component vector of float)
|
|
0:8 vector swizzle ( temp 3-component vector of float)
|
|
0:8 'a1' ( in 4-component vector of float)
|
|
0:8 Sequence
|
|
0:8 Constant:
|
|
0:8 0 (const int)
|
|
0:8 Constant:
|
|
0:8 1 (const int)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 vector swizzle ( temp 3-component vector of float)
|
|
0:8 'a2' ( in 4-component vector of float)
|
|
0:8 Sequence
|
|
0:8 Constant:
|
|
0:8 0 (const int)
|
|
0:8 Constant:
|
|
0:8 1 (const int)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 direct index ( temp float)
|
|
0:8 'a3' ( in 4-component vector of float)
|
|
0:8 Constant:
|
|
0:8 3 (const int)
|
|
0:7 Function Definition: PixelShaderFunction( ( temp void)
|
|
0:7 Function Parameters:
|
|
0:? Sequence
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a1' ( temp 4-component vector of float)
|
|
0:? 'a1' (layout( location=0) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a2' ( temp 4-component vector of float)
|
|
0:? 'a2' (layout( location=1) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a3' ( temp 4-component vector of float)
|
|
0:? 'a3' (layout( location=2) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a4' ( temp 4-component vector of float)
|
|
0:? 'a4' (layout( location=3) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float)
|
|
0:? 'a1' ( temp 4-component vector of float)
|
|
0:? 'a2' ( temp 4-component vector of float)
|
|
0:? 'a3' ( temp 4-component vector of float)
|
|
0:? 'a4' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:? 'a1' (layout( location=0) in 4-component vector of float)
|
|
0:? 'a2' (layout( location=1) in 4-component vector of float)
|
|
0:? 'a3' (layout( location=2) in 4-component vector of float)
|
|
0:? 'a4' (layout( location=3) in 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float)
|
|
0:7 Function Parameters:
|
|
0:7 'a1' ( in 4-component vector of float)
|
|
0:7 'a2' ( in 4-component vector of float)
|
|
0:7 'a3' ( in 4-component vector of float)
|
|
0:7 'a4' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:8 Branch: Return with expression
|
|
0:8 add ( temp 4-component vector of float)
|
|
0:8 add ( temp 4-component vector of float)
|
|
0:8 add ( temp 4-component vector of float)
|
|
0:8 'a1' ( in 4-component vector of float)
|
|
0:8 component-wise multiply ( temp 4-component vector of float)
|
|
0:8 'a2' ( in 4-component vector of float)
|
|
0:8 'a3' ( in 4-component vector of float)
|
|
0:8 'a4' ( in 4-component vector of float)
|
|
0:8 Construct vec4 ( temp 4-component vector of float)
|
|
0:8 component-wise multiply ( temp 3-component vector of float)
|
|
0:8 vector swizzle ( temp 3-component vector of float)
|
|
0:8 'a1' ( in 4-component vector of float)
|
|
0:8 Sequence
|
|
0:8 Constant:
|
|
0:8 0 (const int)
|
|
0:8 Constant:
|
|
0:8 1 (const int)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 vector swizzle ( temp 3-component vector of float)
|
|
0:8 'a2' ( in 4-component vector of float)
|
|
0:8 Sequence
|
|
0:8 Constant:
|
|
0:8 0 (const int)
|
|
0:8 Constant:
|
|
0:8 1 (const int)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 direct index ( temp float)
|
|
0:8 'a3' ( in 4-component vector of float)
|
|
0:8 Constant:
|
|
0:8 3 (const int)
|
|
0:7 Function Definition: PixelShaderFunction( ( temp void)
|
|
0:7 Function Parameters:
|
|
0:? Sequence
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a1' ( temp 4-component vector of float)
|
|
0:? 'a1' (layout( location=0) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a2' ( temp 4-component vector of float)
|
|
0:? 'a2' (layout( location=1) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a3' ( temp 4-component vector of float)
|
|
0:? 'a3' (layout( location=2) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'a4' ( temp 4-component vector of float)
|
|
0:? 'a4' (layout( location=3) in 4-component vector of float)
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float)
|
|
0:? 'a1' ( temp 4-component vector of float)
|
|
0:? 'a2' ( temp 4-component vector of float)
|
|
0:? 'a3' ( temp 4-component vector of float)
|
|
0:? 'a4' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:? 'a1' (layout( location=0) in 4-component vector of float)
|
|
0:? 'a2' (layout( location=1) in 4-component vector of float)
|
|
0:? 'a3' (layout( location=2) in 4-component vector of float)
|
|
0:? 'a4' (layout( location=3) in 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 "PixelShaderFunction" 43 46 49 52 55
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source HLSL 500
|
|
Name 4 "PixelShaderFunction"
|
|
Name 14 "@PixelShaderFunction(vf4;vf4;vf4;vf4;"
|
|
Name 10 "a1"
|
|
Name 11 "a2"
|
|
Name 12 "a3"
|
|
Name 13 "a4"
|
|
Name 41 "a1"
|
|
Name 43 "a1"
|
|
Name 45 "a2"
|
|
Name 46 "a2"
|
|
Name 48 "a3"
|
|
Name 49 "a3"
|
|
Name 51 "a4"
|
|
Name 52 "a4"
|
|
Name 55 "@entryPointOutput"
|
|
Name 56 "param"
|
|
Name 58 "param"
|
|
Name 60 "param"
|
|
Name 62 "param"
|
|
Decorate 43(a1) Location 0
|
|
Decorate 46(a2) Location 1
|
|
Decorate 49(a3) Location 2
|
|
Decorate 52(a4) Location 3
|
|
Decorate 55(@entryPointOutput) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr)
|
|
23: TypeVector 6(float) 3
|
|
29: TypeInt 32 0
|
|
30: 29(int) Constant 3
|
|
31: TypePointer Function 6(float)
|
|
42: TypePointer Input 7(fvec4)
|
|
43(a1): 42(ptr) Variable Input
|
|
46(a2): 42(ptr) Variable Input
|
|
49(a3): 42(ptr) Variable Input
|
|
52(a4): 42(ptr) Variable Input
|
|
54: TypePointer Output 7(fvec4)
|
|
55(@entryPointOutput): 54(ptr) Variable Output
|
|
4(PixelShaderFunction): 2 Function None 3
|
|
5: Label
|
|
41(a1): 8(ptr) Variable Function
|
|
45(a2): 8(ptr) Variable Function
|
|
48(a3): 8(ptr) Variable Function
|
|
51(a4): 8(ptr) Variable Function
|
|
56(param): 8(ptr) Variable Function
|
|
58(param): 8(ptr) Variable Function
|
|
60(param): 8(ptr) Variable Function
|
|
62(param): 8(ptr) Variable Function
|
|
44: 7(fvec4) Load 43(a1)
|
|
Store 41(a1) 44
|
|
47: 7(fvec4) Load 46(a2)
|
|
Store 45(a2) 47
|
|
50: 7(fvec4) Load 49(a3)
|
|
Store 48(a3) 50
|
|
53: 7(fvec4) Load 52(a4)
|
|
Store 51(a4) 53
|
|
57: 7(fvec4) Load 41(a1)
|
|
Store 56(param) 57
|
|
59: 7(fvec4) Load 45(a2)
|
|
Store 58(param) 59
|
|
61: 7(fvec4) Load 48(a3)
|
|
Store 60(param) 61
|
|
63: 7(fvec4) Load 51(a4)
|
|
Store 62(param) 63
|
|
64: 7(fvec4) FunctionCall 14(@PixelShaderFunction(vf4;vf4;vf4;vf4;) 56(param) 58(param) 60(param) 62(param)
|
|
Store 55(@entryPointOutput) 64
|
|
Return
|
|
FunctionEnd
|
|
14(@PixelShaderFunction(vf4;vf4;vf4;vf4;): 7(fvec4) Function None 9
|
|
10(a1): 8(ptr) FunctionParameter
|
|
11(a2): 8(ptr) FunctionParameter
|
|
12(a3): 8(ptr) FunctionParameter
|
|
13(a4): 8(ptr) FunctionParameter
|
|
15: Label
|
|
16: 7(fvec4) Load 10(a1)
|
|
17: 7(fvec4) Load 11(a2)
|
|
18: 7(fvec4) Load 12(a3)
|
|
19: 7(fvec4) FMul 17 18
|
|
20: 7(fvec4) FAdd 16 19
|
|
21: 7(fvec4) Load 13(a4)
|
|
22: 7(fvec4) FAdd 20 21
|
|
24: 7(fvec4) Load 10(a1)
|
|
25: 23(fvec3) VectorShuffle 24 24 0 1 2
|
|
26: 7(fvec4) Load 11(a2)
|
|
27: 23(fvec3) VectorShuffle 26 26 0 1 2
|
|
28: 23(fvec3) FMul 25 27
|
|
32: 31(ptr) AccessChain 12(a3) 30
|
|
33: 6(float) Load 32
|
|
34: 6(float) CompositeExtract 28 0
|
|
35: 6(float) CompositeExtract 28 1
|
|
36: 6(float) CompositeExtract 28 2
|
|
37: 7(fvec4) CompositeConstruct 34 35 36 33
|
|
38: 7(fvec4) FAdd 22 37
|
|
ReturnValue 38
|
|
FunctionEnd
|