
Before, it was only including explicit interface, sufficient for IO-Block-declared oriented interface, but not sufficient for all modes GLSL might be used with SPIR-V. Two things are accomplished now: 1) each id will appear exactly once 2) the OpEntryPoint list will union static use with declarations
145 lines
7.0 KiB
Plaintext
Executable File
145 lines
7.0 KiB
Plaintext
Executable File
spv.variableArrayIndex.frag
|
|
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 93
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 54 63
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 130
|
|
Name 4 "main"
|
|
Name 8 "iLocal"
|
|
Name 10 "Count"
|
|
Name 13 "lunarStruct1"
|
|
MemberName 13(lunarStruct1) 0 "i"
|
|
MemberName 13(lunarStruct1) 1 "f"
|
|
Name 14 "lunarStruct2"
|
|
MemberName 14(lunarStruct2) 0 "i"
|
|
MemberName 14(lunarStruct2) 1 "f"
|
|
MemberName 14(lunarStruct2) 2 "s1_1"
|
|
Name 18 "lunarStruct3"
|
|
MemberName 18(lunarStruct3) 0 "s2_1"
|
|
MemberName 18(lunarStruct3) 1 "i"
|
|
MemberName 18(lunarStruct3) 2 "f"
|
|
MemberName 18(lunarStruct3) 3 "s1_1"
|
|
Name 20 "foo3"
|
|
Name 30 "scale"
|
|
Name 34 "foo2"
|
|
Name 36 "foo"
|
|
Name 54 "gl_FragColor"
|
|
Name 59 "samp2D"
|
|
Name 63 "coord"
|
|
Name 69 "constructed"
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypePointer Function 6(int)
|
|
9: TypePointer UniformConstant 6(int)
|
|
10(Count): 9(ptr) Variable UniformConstant
|
|
12: TypeFloat 32
|
|
13(lunarStruct1): TypeStruct 6(int) 12(float)
|
|
14(lunarStruct2): TypeStruct 6(int) 12(float) 13(lunarStruct1)
|
|
15: TypeInt 32 0
|
|
16: 15(int) Constant 3
|
|
17: TypeArray 14(lunarStruct2) 16
|
|
18(lunarStruct3): TypeStruct 17 6(int) 12(float) 13(lunarStruct1)
|
|
19: TypePointer UniformConstant 18(lunarStruct3)
|
|
20(foo3): 19(ptr) Variable UniformConstant
|
|
21: 6(int) Constant 0
|
|
22: 6(int) Constant 1
|
|
25: TypeBool
|
|
29: TypePointer Function 12(float)
|
|
31: 15(int) Constant 5
|
|
32: TypeArray 14(lunarStruct2) 31
|
|
33: TypePointer UniformConstant 32
|
|
34(foo2): 33(ptr) Variable UniformConstant
|
|
35: TypePointer UniformConstant 13(lunarStruct1)
|
|
36(foo): 35(ptr) Variable UniformConstant
|
|
41: 6(int) Constant 2
|
|
46: TypePointer UniformConstant 12(float)
|
|
52: TypeVector 12(float) 4
|
|
53: TypePointer Output 52(fvec4)
|
|
54(gl_FragColor): 53(ptr) Variable Output
|
|
56: TypeImage 12(float) 2D sampled format:Unknown
|
|
57: TypeSampledImage 56
|
|
58: TypePointer UniformConstant 57
|
|
59(samp2D): 58(ptr) Variable UniformConstant
|
|
61: TypeVector 12(float) 2
|
|
62: TypePointer Input 61(fvec2)
|
|
63(coord): 62(ptr) Variable Input
|
|
67: TypeArray 61(fvec2) 16
|
|
68: TypePointer Function 67
|
|
73: 12(float) Constant 1065353216
|
|
74: 12(float) Constant 1073741824
|
|
75: 61(fvec2) ConstantComposite 73 74
|
|
79: TypePointer Function 61(fvec2)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(iLocal): 7(ptr) Variable Function
|
|
30(scale): 29(ptr) Variable Function
|
|
69(constructed): 68(ptr) Variable Function
|
|
11: 6(int) Load 10(Count)
|
|
Store 8(iLocal) 11
|
|
23: 9(ptr) AccessChain 20(foo3) 21 22 21
|
|
24: 6(int) Load 23
|
|
26: 25(bool) SGreaterThan 24 21
|
|
SelectionMerge 28 None
|
|
BranchConditional 26 27 49
|
|
27: Label
|
|
37: 9(ptr) AccessChain 36(foo) 21
|
|
38: 6(int) Load 37
|
|
39: 9(ptr) AccessChain 20(foo3) 21 38 21
|
|
40: 6(int) Load 39
|
|
42: 6(int) IAdd 40 41
|
|
43: 6(int) Load 8(iLocal)
|
|
44: 6(int) IAdd 43 22
|
|
Store 8(iLocal) 44
|
|
45: 6(int) IAdd 42 44
|
|
47: 46(ptr) AccessChain 34(foo2) 45 41 22
|
|
48: 12(float) Load 47
|
|
Store 30(scale) 48
|
|
Branch 28
|
|
49: Label
|
|
50: 46(ptr) AccessChain 20(foo3) 21 21 41 22
|
|
51: 12(float) Load 50
|
|
Store 30(scale) 51
|
|
Branch 28
|
|
28: Label
|
|
55: 12(float) Load 30(scale)
|
|
60: 57 Load 59(samp2D)
|
|
64: 61(fvec2) Load 63(coord)
|
|
65: 52(fvec4) ImageSampleImplicitLod 60 64
|
|
66: 52(fvec4) VectorTimesScalar 65 55
|
|
Store 54(gl_FragColor) 66
|
|
70: 61(fvec2) Load 63(coord)
|
|
71: 12(float) Load 30(scale)
|
|
72: 61(fvec2) CompositeConstruct 71 71
|
|
76: 67 CompositeConstruct 70 72 75
|
|
Store 69(constructed) 76
|
|
77: 9(ptr) AccessChain 36(foo) 21
|
|
78: 6(int) Load 77
|
|
80: 79(ptr) AccessChain 69(constructed) 78
|
|
81: 61(fvec2) Load 80
|
|
82: 9(ptr) AccessChain 36(foo) 21
|
|
83: 6(int) Load 82
|
|
84: 79(ptr) AccessChain 69(constructed) 83
|
|
85: 61(fvec2) Load 84
|
|
86: 12(float) CompositeExtract 81 0
|
|
87: 12(float) CompositeExtract 81 1
|
|
88: 12(float) CompositeExtract 85 0
|
|
89: 12(float) CompositeExtract 85 1
|
|
90: 52(fvec4) CompositeConstruct 86 87 88 89
|
|
91: 52(fvec4) Load 54(gl_FragColor)
|
|
92: 52(fvec4) FAdd 91 90
|
|
Store 54(gl_FragColor) 92
|
|
Return
|
|
FunctionEnd
|