
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.
380 lines
17 KiB
Plaintext
380 lines
17 KiB
Plaintext
hlsl.this.frag
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:1 Sequence
|
|
0:1 move second child to first child ( temp 2-component vector of float)
|
|
0:1 'var' ( global 2-component vector of float)
|
|
0:1 Constant:
|
|
0:1 1.000000
|
|
0:1 2.000000
|
|
0:6 Function Definition: type1::memFun1(vi3; ( temp int)
|
|
0:6 Function Parameters:
|
|
0:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:6 'var' ( in 3-component vector of int)
|
|
0:? Sequence
|
|
0:7 Branch: Return with expression
|
|
0:7 add ( temp int)
|
|
0:7 add ( temp int)
|
|
0:7 direct index ( temp int)
|
|
0:7 'var' ( in 3-component vector of int)
|
|
0:7 Constant:
|
|
0:7 2 (const int)
|
|
0:7 var: direct index for structure ( temp int)
|
|
0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:7 Constant:
|
|
0:7 1 (const int)
|
|
0:7 var2: direct index for structure ( temp int)
|
|
0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:7 Constant:
|
|
0:7 2 (const uint)
|
|
0:10 Function Definition: type1::memFun2(i1; ( temp int)
|
|
0:10 Function Parameters:
|
|
0:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:10 'a' ( in int)
|
|
0:? Sequence
|
|
0:11 Sequence
|
|
0:11 move second child to first child ( temp 3-component vector of int)
|
|
0:11 'var' ( temp 3-component vector of int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 2 (const int)
|
|
0:11 3 (const int)
|
|
0:12 Branch: Return with expression
|
|
0:12 add ( temp int)
|
|
0:12 add ( temp int)
|
|
0:12 direct index ( temp int)
|
|
0:12 'var' ( temp 3-component vector of int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 Convert float to int ( temp int)
|
|
0:12 direct index ( temp float)
|
|
0:12 bar: direct index for structure ( temp 2-component vector of float)
|
|
0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 var2: direct index for structure ( temp int)
|
|
0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:20 Function Definition: @main( ( temp 4-component vector of float)
|
|
0:20 Function Parameters:
|
|
0:? Sequence
|
|
0:22 move second child to first child ( temp 2-component vector of float)
|
|
0:22 bar: direct index for structure ( temp 2-component vector of float)
|
|
0:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 'var' ( global 2-component vector of float)
|
|
0:23 move second child to first child ( temp int)
|
|
0:23 var: direct index for structure ( temp int)
|
|
0:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:23 Constant:
|
|
0:23 1 (const int)
|
|
0:23 Constant:
|
|
0:23 7 (const int)
|
|
0:24 move second child to first child ( temp int)
|
|
0:24 var2: direct index for structure ( temp int)
|
|
0:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:24 Constant:
|
|
0:24 2 (const int)
|
|
0:24 Constant:
|
|
0:24 9 (const int)
|
|
0:25 Sequence
|
|
0:25 move second child to first child ( temp int)
|
|
0:25 'i' ( temp int)
|
|
0:25 Function Call: type1::memFun1(vi3; ( temp int)
|
|
0:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:25 Constant:
|
|
0:25 10 (const int)
|
|
0:25 11 (const int)
|
|
0:25 12 (const int)
|
|
0:26 add second child into first child ( temp int)
|
|
0:26 'i' ( temp int)
|
|
0:26 Function Call: type1::memFun2(i1; ( temp int)
|
|
0:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:26 Constant:
|
|
0:26 17 (const int)
|
|
0:28 Branch: Return with expression
|
|
0:28 Construct vec4 ( temp 4-component vector of float)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:20 Function Definition: main( ( temp void)
|
|
0:20 Function Parameters:
|
|
0:? Sequence
|
|
0:20 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:20 Function Call: @main( ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'var' ( global 2-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:1 Sequence
|
|
0:1 move second child to first child ( temp 2-component vector of float)
|
|
0:1 'var' ( global 2-component vector of float)
|
|
0:1 Constant:
|
|
0:1 1.000000
|
|
0:1 2.000000
|
|
0:6 Function Definition: type1::memFun1(vi3; ( temp int)
|
|
0:6 Function Parameters:
|
|
0:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:6 'var' ( in 3-component vector of int)
|
|
0:? Sequence
|
|
0:7 Branch: Return with expression
|
|
0:7 add ( temp int)
|
|
0:7 add ( temp int)
|
|
0:7 direct index ( temp int)
|
|
0:7 'var' ( in 3-component vector of int)
|
|
0:7 Constant:
|
|
0:7 2 (const int)
|
|
0:7 var: direct index for structure ( temp int)
|
|
0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:7 Constant:
|
|
0:7 1 (const int)
|
|
0:7 var2: direct index for structure ( temp int)
|
|
0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:7 Constant:
|
|
0:7 2 (const uint)
|
|
0:10 Function Definition: type1::memFun2(i1; ( temp int)
|
|
0:10 Function Parameters:
|
|
0:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:10 'a' ( in int)
|
|
0:? Sequence
|
|
0:11 Sequence
|
|
0:11 move second child to first child ( temp 3-component vector of int)
|
|
0:11 'var' ( temp 3-component vector of int)
|
|
0:11 Constant:
|
|
0:11 1 (const int)
|
|
0:11 2 (const int)
|
|
0:11 3 (const int)
|
|
0:12 Branch: Return with expression
|
|
0:12 add ( temp int)
|
|
0:12 add ( temp int)
|
|
0:12 direct index ( temp int)
|
|
0:12 'var' ( temp 3-component vector of int)
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:12 Convert float to int ( temp int)
|
|
0:12 direct index ( temp float)
|
|
0:12 bar: direct index for structure ( temp 2-component vector of float)
|
|
0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 Constant:
|
|
0:12 1 (const int)
|
|
0:12 var2: direct index for structure ( temp int)
|
|
0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:12 Constant:
|
|
0:12 2 (const int)
|
|
0:20 Function Definition: @main( ( temp 4-component vector of float)
|
|
0:20 Function Parameters:
|
|
0:? Sequence
|
|
0:22 move second child to first child ( temp 2-component vector of float)
|
|
0:22 bar: direct index for structure ( temp 2-component vector of float)
|
|
0:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 'var' ( global 2-component vector of float)
|
|
0:23 move second child to first child ( temp int)
|
|
0:23 var: direct index for structure ( temp int)
|
|
0:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:23 Constant:
|
|
0:23 1 (const int)
|
|
0:23 Constant:
|
|
0:23 7 (const int)
|
|
0:24 move second child to first child ( temp int)
|
|
0:24 var2: direct index for structure ( temp int)
|
|
0:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:24 Constant:
|
|
0:24 2 (const int)
|
|
0:24 Constant:
|
|
0:24 9 (const int)
|
|
0:25 Sequence
|
|
0:25 move second child to first child ( temp int)
|
|
0:25 'i' ( temp int)
|
|
0:25 Function Call: type1::memFun1(vi3; ( temp int)
|
|
0:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:25 Constant:
|
|
0:25 10 (const int)
|
|
0:25 11 (const int)
|
|
0:25 12 (const int)
|
|
0:26 add second child into first child ( temp int)
|
|
0:26 'i' ( temp int)
|
|
0:26 Function Call: type1::memFun2(i1; ( temp int)
|
|
0:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2})
|
|
0:26 Constant:
|
|
0:26 17 (const int)
|
|
0:28 Branch: Return with expression
|
|
0:28 Construct vec4 ( temp 4-component vector of float)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:28 Convert int to float ( temp float)
|
|
0:28 'i' ( temp int)
|
|
0:20 Function Definition: main( ( temp void)
|
|
0:20 Function Parameters:
|
|
0:? Sequence
|
|
0:20 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:20 Function Call: @main( ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'var' ( global 2-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 98
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 96
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 9 "type1"
|
|
MemberName 9(type1) 0 "bar"
|
|
MemberName 9(type1) 1 "var"
|
|
MemberName 9(type1) 2 "var2"
|
|
Name 16 "type1::memFun1(vi3;"
|
|
Name 14 "@this"
|
|
Name 15 "var"
|
|
Name 22 "type1::memFun2(i1;"
|
|
Name 20 "@this"
|
|
Name 21 "a"
|
|
Name 26 "@main("
|
|
Name 29 "var"
|
|
Name 47 "var"
|
|
Name 64 "T"
|
|
Name 72 "i"
|
|
Name 77 "param"
|
|
Name 80 "param"
|
|
Name 96 "@entryPointOutput"
|
|
Decorate 96(@entryPointOutput) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 2
|
|
8: TypeInt 32 1
|
|
9(type1): TypeStruct 7(fvec2) 8(int) 8(int)
|
|
10: TypePointer Function 9(type1)
|
|
11: TypeVector 8(int) 3
|
|
12: TypePointer Function 11(ivec3)
|
|
13: TypeFunction 8(int) 10(ptr) 12(ptr)
|
|
18: TypePointer Function 8(int)
|
|
19: TypeFunction 8(int) 10(ptr) 18(ptr)
|
|
24: TypeVector 6(float) 4
|
|
25: TypeFunction 24(fvec4)
|
|
28: TypePointer Private 7(fvec2)
|
|
29(var): 28(ptr) Variable Private
|
|
30: 6(float) Constant 1065353216
|
|
31: 6(float) Constant 1073741824
|
|
32: 7(fvec2) ConstantComposite 30 31
|
|
33: TypeInt 32 0
|
|
34: 33(int) Constant 2
|
|
37: 8(int) Constant 1
|
|
41: 8(int) Constant 2
|
|
48: 8(int) Constant 3
|
|
49: 11(ivec3) ConstantComposite 37 41 48
|
|
52: 8(int) Constant 0
|
|
53: 33(int) Constant 1
|
|
54: TypePointer Function 6(float)
|
|
66: TypePointer Function 7(fvec2)
|
|
68: 8(int) Constant 7
|
|
70: 8(int) Constant 9
|
|
73: 8(int) Constant 10
|
|
74: 8(int) Constant 11
|
|
75: 8(int) Constant 12
|
|
76: 11(ivec3) ConstantComposite 73 74 75
|
|
79: 8(int) Constant 17
|
|
95: TypePointer Output 24(fvec4)
|
|
96(@entryPointOutput): 95(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
Store 29(var) 32
|
|
97: 24(fvec4) FunctionCall 26(@main()
|
|
Store 96(@entryPointOutput) 97
|
|
Return
|
|
FunctionEnd
|
|
16(type1::memFun1(vi3;): 8(int) Function None 13
|
|
14(@this): 10(ptr) FunctionParameter
|
|
15(var): 12(ptr) FunctionParameter
|
|
17: Label
|
|
35: 18(ptr) AccessChain 15(var) 34
|
|
36: 8(int) Load 35
|
|
38: 18(ptr) AccessChain 14(@this) 37
|
|
39: 8(int) Load 38
|
|
40: 8(int) IAdd 36 39
|
|
42: 18(ptr) AccessChain 14(@this) 41
|
|
43: 8(int) Load 42
|
|
44: 8(int) IAdd 40 43
|
|
ReturnValue 44
|
|
FunctionEnd
|
|
22(type1::memFun2(i1;): 8(int) Function None 19
|
|
20(@this): 10(ptr) FunctionParameter
|
|
21(a): 18(ptr) FunctionParameter
|
|
23: Label
|
|
47(var): 12(ptr) Variable Function
|
|
Store 47(var) 49
|
|
50: 18(ptr) AccessChain 47(var) 34
|
|
51: 8(int) Load 50
|
|
55: 54(ptr) AccessChain 20(@this) 52 53
|
|
56: 6(float) Load 55
|
|
57: 8(int) ConvertFToS 56
|
|
58: 8(int) IAdd 51 57
|
|
59: 18(ptr) AccessChain 20(@this) 41
|
|
60: 8(int) Load 59
|
|
61: 8(int) IAdd 58 60
|
|
ReturnValue 61
|
|
FunctionEnd
|
|
26(@main(): 24(fvec4) Function None 25
|
|
27: Label
|
|
64(T): 10(ptr) Variable Function
|
|
72(i): 18(ptr) Variable Function
|
|
77(param): 12(ptr) Variable Function
|
|
80(param): 18(ptr) Variable Function
|
|
65: 7(fvec2) Load 29(var)
|
|
67: 66(ptr) AccessChain 64(T) 52
|
|
Store 67 65
|
|
69: 18(ptr) AccessChain 64(T) 37
|
|
Store 69 68
|
|
71: 18(ptr) AccessChain 64(T) 41
|
|
Store 71 70
|
|
Store 77(param) 76
|
|
78: 8(int) FunctionCall 16(type1::memFun1(vi3;) 64(T) 77(param)
|
|
Store 72(i) 78
|
|
Store 80(param) 79
|
|
81: 8(int) FunctionCall 22(type1::memFun2(i1;) 64(T) 80(param)
|
|
82: 8(int) Load 72(i)
|
|
83: 8(int) IAdd 82 81
|
|
Store 72(i) 83
|
|
84: 8(int) Load 72(i)
|
|
85: 6(float) ConvertSToF 84
|
|
86: 8(int) Load 72(i)
|
|
87: 6(float) ConvertSToF 86
|
|
88: 8(int) Load 72(i)
|
|
89: 6(float) ConvertSToF 88
|
|
90: 8(int) Load 72(i)
|
|
91: 6(float) ConvertSToF 90
|
|
92: 24(fvec4) CompositeConstruct 85 87 89 91
|
|
ReturnValue 92
|
|
FunctionEnd
|