Merge pull request #2702 from jeremy-lunarg/hayes-2518

Generate separate stores for partially swizzled memory stores
This commit is contained in:
Greg Fischer 2021-07-28 16:49:27 -06:00 committed by GitHub
commit d433cccb8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 31343 additions and 26594 deletions

View File

@ -743,6 +743,26 @@ Id Builder::getContainedTypeId(Id typeId, int member) const
}
}
// Figure out the final resulting type of the access chain.
Id Builder::getResultingAccessChainType() const
{
assert(accessChain.base != NoResult);
Id typeId = getTypeId(accessChain.base);
assert(isPointerType(typeId));
typeId = getContainedTypeId(typeId);
for (int i = 0; i < (int)accessChain.indexChain.size(); ++i) {
if (isStructType(typeId)) {
assert(isConstantScalar(accessChain.indexChain[i]));
typeId = getContainedTypeId(typeId, getConstantScalar(accessChain.indexChain[i]));
} else
typeId = getContainedTypeId(typeId, accessChain.indexChain[i]);
}
return typeId;
}
// Return the immediately contained type of a given composite type.
Id Builder::getContainedTypeId(Id typeId) const
{
@ -1585,16 +1605,7 @@ Id Builder::createLoad(Id lValue, spv::Decoration precision, spv::MemoryAccessMa
Id Builder::createAccessChain(StorageClass storageClass, Id base, const std::vector<Id>& offsets)
{
// Figure out the final resulting type.
spv::Id typeId = getTypeId(base);
assert(isPointerType(typeId) && offsets.size() > 0);
typeId = getContainedTypeId(typeId);
for (int i = 0; i < (int)offsets.size(); ++i) {
if (isStructType(typeId)) {
assert(isConstantScalar(offsets[i]));
typeId = getContainedTypeId(typeId, getConstantScalar(offsets[i]));
} else
typeId = getContainedTypeId(typeId, offsets[i]);
}
Id typeId = getResultingAccessChainType();
typeId = makePointer(storageClass, typeId);
// Make the instruction
@ -2794,28 +2805,58 @@ void Builder::accessChainStore(Id rvalue, Decoration nonUniform, spv::MemoryAcce
assert(accessChain.isRValue == false);
transferAccessChainSwizzle(true);
Id base = collapseAccessChain();
addDecoration(base, nonUniform);
Id source = rvalue;
// If a swizzle exists and is not full and is not dynamic, then the swizzle will be broken into individual stores.
if (accessChain.swizzle.size() > 0 &&
getNumTypeComponents(getResultingAccessChainType()) != (int)accessChain.swizzle.size() &&
accessChain.component == NoResult) {
for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) {
accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle[i]));
// dynamic component should be gone
assert(accessChain.component == NoResult);
Id base = collapseAccessChain();
addDecoration(base, nonUniform);
// If swizzle still exists, it is out-of-order or not full, we must load the target vector,
// extract and insert elements to perform writeMask and/or swizzle.
if (accessChain.swizzle.size() > 0) {
Id tempBaseId = createLoad(base, spv::NoPrecision);
source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, source, accessChain.swizzle);
accessChain.indexChain.pop_back();
accessChain.instr = NoResult;
// dynamic component should be gone
assert(accessChain.component == NoResult);
Id source = createCompositeExtract(rvalue, getContainedTypeId(getTypeId(rvalue)), i);
// take LSB of alignment
alignment = alignment & ~(alignment & (alignment-1));
if (getStorageClass(base) == StorageClassPhysicalStorageBufferEXT) {
memoryAccess = (spv::MemoryAccessMask)(memoryAccess | spv::MemoryAccessAlignedMask);
}
createStore(source, base, memoryAccess, scope, alignment);
}
}
else {
Id base = collapseAccessChain();
addDecoration(base, nonUniform);
// take LSB of alignment
alignment = alignment & ~(alignment & (alignment-1));
if (getStorageClass(base) == StorageClassPhysicalStorageBufferEXT) {
memoryAccess = (spv::MemoryAccessMask)(memoryAccess | spv::MemoryAccessAlignedMask);
Id source = rvalue;
// dynamic component should be gone
assert(accessChain.component == NoResult);
// If swizzle still exists, it may be out-of-order, we must load the target vector,
// extract and insert elements to perform writeMask and/or swizzle.
if (accessChain.swizzle.size() > 0) {
Id tempBaseId = createLoad(base, spv::NoPrecision);
source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, source, accessChain.swizzle);
}
// take LSB of alignment
alignment = alignment & ~(alignment & (alignment-1));
if (getStorageClass(base) == StorageClassPhysicalStorageBufferEXT) {
memoryAccess = (spv::MemoryAccessMask)(memoryAccess | spv::MemoryAccessAlignedMask);
}
createStore(source, base, memoryAccess, scope, alignment);
}
createStore(source, base, memoryAccess, scope, alignment);
}
// Comments in header

View File

@ -202,6 +202,7 @@ public:
StorageClass getTypeStorageClass(Id typeId) const { return module.getStorageClass(typeId); }
ImageFormat getImageTypeFormat(Id typeId) const
{ return (ImageFormat)module.getInstruction(typeId)->getImmediateOperand(6); }
Id getResultingAccessChainType() const;
bool isPointer(Id resultId) const { return isPointerType(getTypeId(resultId)); }
bool isScalar(Id resultId) const { return isScalarType(getTypeId(resultId)); }

View File

@ -1,18 +1,18 @@
hlsl.partialFlattenLocal.vert
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 159
// Id's are bound by 164
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 83 86
EntryPoint Vertex 4 "main" 86 89
Source HLSL 500
Name 4 "main"
Name 83 "pos"
Name 86 "@entryPointOutput"
Decorate 83(pos) Location 0
Decorate 86(@entryPointOutput) BuiltIn Position
Name 86 "pos"
Name 89 "@entryPointOutput"
Decorate 86(pos) Location 0
Decorate 89(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -33,49 +33,54 @@ hlsl.partialFlattenLocal.vert
37: 6(float) Constant 1065353216
38: 18(fvec2) ConstantComposite 32 37
39: TypePointer Function 18(fvec2)
42: TypePointer Function 6(float)
54: TypeBool
82: TypePointer Input 7(fvec4)
83(pos): 82(ptr) Variable Input
85: TypePointer Output 7(fvec4)
86(@entryPointOutput): 85(ptr) Variable Output
131: TypePointer Function 17
133: TypePointer Function 20
64: 15(int) Constant 0
67: 15(int) Constant 1
85: TypePointer Input 7(fvec4)
86(pos): 85(ptr) Variable Input
88: TypePointer Output 7(fvec4)
89(@entryPointOutput): 88(ptr) Variable Output
135: TypePointer Function 17
137: TypePointer Function 20
4(main): 2 Function None 3
5: Label
134: 133(ptr) Variable Function
132: 131(ptr) Variable Function
84: 7(fvec4) Load 83(pos)
137: 34(ptr) AccessChain 132 25
Store 137 33
138: 39(ptr) AccessChain 134 25
Store 138 38
Branch 101
101: Label
158: 21(int) Phi 25 5 119 105
104: 54(bool) SLessThan 158 31
LoopMerge 120 105 None
BranchConditional 104 105 120
105: Label
139: 39(ptr) AccessChain 134 158
109: 18(fvec2) Load 139
140: 34(ptr) AccessChain 132 158
111: 14(fvec3) Load 140
112: 18(fvec2) VectorShuffle 111 111 0 1
113: 18(fvec2) FAdd 112 109
141: 34(ptr) AccessChain 132 158
115: 14(fvec3) Load 141
116: 14(fvec3) VectorShuffle 115 113 3 4 2
Store 141 116
119: 21(int) IAdd 158 31
Branch 101
120: Label
143: 17 Load 132
157: 14(fvec3) CompositeExtract 143 0
125: 6(float) CompositeExtract 157 0
126: 6(float) CompositeExtract 157 1
127: 6(float) CompositeExtract 157 2
128: 7(fvec4) CompositeConstruct 125 126 127 32
129: 7(fvec4) FAdd 84 128
Store 86(@entryPointOutput) 129
138: 137(ptr) Variable Function
136: 135(ptr) Variable Function
87: 7(fvec4) Load 86(pos)
141: 34(ptr) AccessChain 136 25
Store 141 33
142: 39(ptr) AccessChain 138 25
Store 142 38
Branch 104
104: Label
163: 21(int) Phi 25 5 123 108
107: 54(bool) SLessThan 163 31
LoopMerge 124 108 None
BranchConditional 107 108 124
108: Label
143: 39(ptr) AccessChain 138 163
112: 18(fvec2) Load 143
144: 34(ptr) AccessChain 136 163
114: 14(fvec3) Load 144
115: 18(fvec2) VectorShuffle 114 114 0 1
116: 18(fvec2) FAdd 115 112
145: 42(ptr) AccessChain 136 163 64
118: 6(float) CompositeExtract 116 0
Store 145 118
146: 42(ptr) AccessChain 136 163 67
120: 6(float) CompositeExtract 116 1
Store 146 120
123: 21(int) IAdd 163 31
Branch 104
124: Label
148: 17 Load 136
162: 14(fvec3) CompositeExtract 148 0
129: 6(float) CompositeExtract 162 0
130: 6(float) CompositeExtract 162 1
131: 6(float) CompositeExtract 162 2
132: 7(fvec4) CompositeConstruct 129 130 131 32
133: 7(fvec4) FAdd 87 132
Store 89(@entryPointOutput) 133
Return
FunctionEnd

View File

@ -238,12 +238,12 @@ Shader version: 500
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 90
// Id's are bound by 93
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 83 86
EntryPoint Vertex 4 "main" 86 89
Source HLSL 500
Name 4 "main"
Name 11 "@main(vf4;"
@ -257,15 +257,15 @@ Shader version: 500
Name 24 "packed"
Name 27 "tex"
Name 47 "i"
Name 69 "packed2"
Name 81 "pos"
Name 83 "pos"
Name 86 "@entryPointOutput"
Name 87 "param"
Name 72 "packed2"
Name 84 "pos"
Name 86 "pos"
Name 89 "@entryPointOutput"
Name 90 "param"
Decorate 27(tex) DescriptorSet 0
Decorate 27(tex) Binding 0
Decorate 83(pos) Location 0
Decorate 86(@entryPointOutput) BuiltIn Position
Decorate 86(pos) Location 0
Decorate 89(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -300,20 +300,22 @@ Shader version: 500
44: 21(int) Constant 4
45: TypePointer Function 21(int)
54: TypeBool
82: TypePointer Input 7(fvec4)
83(pos): 82(ptr) Variable Input
85: TypePointer Output 7(fvec4)
86(@entryPointOutput): 85(ptr) Variable Output
64: 15(int) Constant 0
67: 15(int) Constant 1
85: TypePointer Input 7(fvec4)
86(pos): 85(ptr) Variable Input
88: TypePointer Output 7(fvec4)
89(@entryPointOutput): 88(ptr) Variable Output
4(main): 2 Function None 3
5: Label
81(pos): 8(ptr) Variable Function
87(param): 8(ptr) Variable Function
84: 7(fvec4) Load 83(pos)
Store 81(pos) 84
88: 7(fvec4) Load 81(pos)
Store 87(param) 88
89: 7(fvec4) FunctionCall 11(@main(vf4;) 87(param)
Store 86(@entryPointOutput) 89
84(pos): 8(ptr) Variable Function
90(param): 8(ptr) Variable Function
87: 7(fvec4) Load 86(pos)
Store 84(pos) 87
91: 7(fvec4) Load 84(pos)
Store 90(param) 91
92: 7(fvec4) FunctionCall 11(@main(vf4;) 90(param)
Store 89(@entryPointOutput) 92
Return
FunctionEnd
11(@main(vf4;): 7(fvec4) Function None 9
@ -321,7 +323,7 @@ Shader version: 500
12: Label
24(packed): 23(ptr) Variable Function
47(i): 45(ptr) Variable Function
69(packed2): 23(ptr) Variable Function
72(packed2): 23(ptr) Variable Function
28: 13 Load 27(tex)
30: 29(ptr) AccessChain 24(packed) 25
Store 30 28
@ -351,26 +353,28 @@ Shader version: 500
61: 14(fvec3) Load 60
62: 18(fvec2) VectorShuffle 61 61 0 1
63: 18(fvec2) FAdd 62 59
64: 34(ptr) AccessChain 24(packed) 31 56
65: 14(fvec3) Load 64
66: 14(fvec3) VectorShuffle 65 63 3 4 2
Store 64 66
65: 42(ptr) AccessChain 24(packed) 31 56 64
66: 6(float) CompositeExtract 63 0
Store 65 66
68: 42(ptr) AccessChain 24(packed) 31 56 67
69: 6(float) CompositeExtract 63 1
Store 68 69
Branch 51
51: Label
67: 21(int) Load 47(i)
68: 21(int) IAdd 67 31
Store 47(i) 68
70: 21(int) Load 47(i)
71: 21(int) IAdd 70 31
Store 47(i) 71
Branch 48
50: Label
70: 22(Packed) Load 24(packed)
Store 69(packed2) 70
71: 7(fvec4) Load 10(pos)
72: 34(ptr) AccessChain 69(packed2) 31 25
73: 14(fvec3) Load 72
74: 6(float) CompositeExtract 73 0
75: 6(float) CompositeExtract 73 1
76: 6(float) CompositeExtract 73 2
77: 7(fvec4) CompositeConstruct 74 75 76 32
78: 7(fvec4) FAdd 71 77
ReturnValue 78
73: 22(Packed) Load 24(packed)
Store 72(packed2) 73
74: 7(fvec4) Load 10(pos)
75: 34(ptr) AccessChain 72(packed2) 31 25
76: 14(fvec3) Load 75
77: 6(float) CompositeExtract 76 0
78: 6(float) CompositeExtract 76 1
79: 6(float) CompositeExtract 76 2
80: 7(fvec4) CompositeConstruct 77 78 79 32
81: 7(fvec4) FAdd 74 80
ReturnValue 81
FunctionEnd

View File

@ -2299,7 +2299,7 @@ local_size = (32, 16, 1)
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 359
// Id's are bound by 393
Capability Shader
Capability Float64
@ -2308,7 +2308,7 @@ local_size = (32, 16, 1)
Capability GroupNonUniformShuffle
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "CSMain" 354
EntryPoint GLCompute 4 "CSMain" 388
ExecutionMode 4 LocalSize 32 16 1
Source HLSL 500
Name 4 "CSMain"
@ -2322,9 +2322,9 @@ local_size = (32, 16, 1)
Name 22 "data"
MemberName 22(data) 0 "@data"
Name 24 "data"
Name 352 "dti"
Name 354 "dti"
Name 356 "param"
Name 386 "dti"
Name 388 "dti"
Name 390 "param"
MemberDecorate 20(Types) 0 Offset 0
MemberDecorate 20(Types) 1 Offset 16
MemberDecorate 20(Types) 2 Offset 32
@ -2334,7 +2334,7 @@ local_size = (32, 16, 1)
Decorate 22(data) BufferBlock
Decorate 24(data) DescriptorSet 0
Decorate 24(data) Binding 0
Decorate 354(dti) BuiltIn GlobalInvocationId
Decorate 388(dti) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -2361,32 +2361,34 @@ local_size = (32, 16, 1)
36: 6(int) Constant 3
43: TypePointer Uniform 6(int)
52: TypeVector 6(int) 2
73: 14(int) Constant 1
76: TypePointer Uniform 15(ivec4)
85: TypePointer Uniform 14(int)
94: TypeVector 14(int) 2
106: TypeVector 14(int) 3
116: 14(int) Constant 2
119: TypePointer Uniform 17(fvec4)
128: TypePointer Uniform 16(float)
137: TypeVector 16(float) 2
149: TypeVector 16(float) 3
159: 14(int) Constant 3
162: TypePointer Uniform 19(f64vec4)
171: TypePointer Uniform 18(float64_t)
180: TypeVector 18(float64_t) 2
192: TypeVector 18(float64_t) 3
353: TypePointer Input 7(ivec3)
354(dti): 353(ptr) Variable Input
59: 6(int) Constant 1
74: 6(int) Constant 2
79: 14(int) Constant 1
82: TypePointer Uniform 15(ivec4)
91: TypePointer Uniform 14(int)
100: TypeVector 14(int) 2
113: TypeVector 14(int) 3
126: 14(int) Constant 2
129: TypePointer Uniform 17(fvec4)
138: TypePointer Uniform 16(float)
147: TypeVector 16(float) 2
160: TypeVector 16(float) 3
173: 14(int) Constant 3
176: TypePointer Uniform 19(f64vec4)
185: TypePointer Uniform 18(float64_t)
194: TypeVector 18(float64_t) 2
207: TypeVector 18(float64_t) 3
387: TypePointer Input 7(ivec3)
388(dti): 387(ptr) Variable Input
4(CSMain): 2 Function None 3
5: Label
352(dti): 8(ptr) Variable Function
356(param): 8(ptr) Variable Function
355: 7(ivec3) Load 354(dti)
Store 352(dti) 355
357: 7(ivec3) Load 352(dti)
Store 356(param) 357
358: 2 FunctionCall 11(@CSMain(vu3;) 356(param)
386(dti): 8(ptr) Variable Function
390(param): 8(ptr) Variable Function
389: 7(ivec3) Load 388(dti)
Store 386(dti) 389
391: 7(ivec3) Load 386(dti)
Store 390(param) 391
392: 2 FunctionCall 11(@CSMain(vu3;) 390(param)
Return
FunctionEnd
11(@CSMain(vu3;): 2 Function None 9
@ -2418,315 +2420,371 @@ local_size = (32, 16, 1)
54: 13(ivec4) Load 53
55: 52(ivec2) VectorShuffle 54 54 0 1
56: 52(ivec2) GroupNonUniformShuffle 36 55 35
57: 32(ptr) AccessChain 24(data) 25 49 25
58: 13(ivec4) Load 57
59: 13(ivec4) VectorShuffle 58 56 4 5 2 3
Store 57 59
60: 27(ptr) AccessChain 10(dti) 26
61: 6(int) Load 60
57: 43(ptr) AccessChain 24(data) 25 49 25 26
58: 6(int) CompositeExtract 56 0
Store 57 58
60: 43(ptr) AccessChain 24(data) 25 49 25 59
61: 6(int) CompositeExtract 56 1
Store 60 61
62: 27(ptr) AccessChain 10(dti) 26
63: 6(int) Load 62
64: 32(ptr) AccessChain 24(data) 25 63 25
65: 13(ivec4) Load 64
66: 7(ivec3) VectorShuffle 65 65 0 1 2
67: 7(ivec3) GroupNonUniformShuffle 36 66 35
68: 32(ptr) AccessChain 24(data) 25 61 25
69: 13(ivec4) Load 68
70: 13(ivec4) VectorShuffle 69 67 4 5 6 3
Store 68 70
71: 27(ptr) AccessChain 10(dti) 26
72: 6(int) Load 71
74: 27(ptr) AccessChain 10(dti) 26
75: 6(int) Load 74
77: 76(ptr) AccessChain 24(data) 25 75 73
78: 15(ivec4) Load 77
79: 15(ivec4) GroupNonUniformShuffle 36 78 35
80: 76(ptr) AccessChain 24(data) 25 72 73
Store 80 79
81: 27(ptr) AccessChain 10(dti) 26
82: 6(int) Load 81
83: 27(ptr) AccessChain 10(dti) 26
84: 6(int) Load 83
86: 85(ptr) AccessChain 24(data) 25 84 73 26
87: 14(int) Load 86
88: 14(int) GroupNonUniformShuffle 36 87 35
89: 85(ptr) AccessChain 24(data) 25 82 73 26
Store 89 88
90: 27(ptr) AccessChain 10(dti) 26
91: 6(int) Load 90
92: 27(ptr) AccessChain 10(dti) 26
93: 6(int) Load 92
95: 76(ptr) AccessChain 24(data) 25 93 73
96: 15(ivec4) Load 95
97: 94(ivec2) VectorShuffle 96 96 0 1
98: 94(ivec2) GroupNonUniformShuffle 36 97 35
99: 76(ptr) AccessChain 24(data) 25 91 73
100: 15(ivec4) Load 99
101: 15(ivec4) VectorShuffle 100 98 4 5 2 3
Store 99 101
102: 27(ptr) AccessChain 10(dti) 26
103: 6(int) Load 102
104: 27(ptr) AccessChain 10(dti) 26
105: 6(int) Load 104
107: 76(ptr) AccessChain 24(data) 25 105 73
108: 15(ivec4) Load 107
109: 106(ivec3) VectorShuffle 108 108 0 1 2
110: 106(ivec3) GroupNonUniformShuffle 36 109 35
111: 76(ptr) AccessChain 24(data) 25 103 73
112: 15(ivec4) Load 111
113: 15(ivec4) VectorShuffle 112 110 4 5 6 3
Store 111 113
114: 27(ptr) AccessChain 10(dti) 26
115: 6(int) Load 114
117: 27(ptr) AccessChain 10(dti) 26
118: 6(int) Load 117
120: 119(ptr) AccessChain 24(data) 25 118 116
121: 17(fvec4) Load 120
122: 17(fvec4) GroupNonUniformShuffle 36 121 35
123: 119(ptr) AccessChain 24(data) 25 115 116
Store 123 122
64: 27(ptr) AccessChain 10(dti) 26
65: 6(int) Load 64
66: 32(ptr) AccessChain 24(data) 25 65 25
67: 13(ivec4) Load 66
68: 7(ivec3) VectorShuffle 67 67 0 1 2
69: 7(ivec3) GroupNonUniformShuffle 36 68 35
70: 43(ptr) AccessChain 24(data) 25 63 25 26
71: 6(int) CompositeExtract 69 0
Store 70 71
72: 43(ptr) AccessChain 24(data) 25 63 25 59
73: 6(int) CompositeExtract 69 1
Store 72 73
75: 43(ptr) AccessChain 24(data) 25 63 25 74
76: 6(int) CompositeExtract 69 2
Store 75 76
77: 27(ptr) AccessChain 10(dti) 26
78: 6(int) Load 77
80: 27(ptr) AccessChain 10(dti) 26
81: 6(int) Load 80
83: 82(ptr) AccessChain 24(data) 25 81 79
84: 15(ivec4) Load 83
85: 15(ivec4) GroupNonUniformShuffle 36 84 35
86: 82(ptr) AccessChain 24(data) 25 78 79
Store 86 85
87: 27(ptr) AccessChain 10(dti) 26
88: 6(int) Load 87
89: 27(ptr) AccessChain 10(dti) 26
90: 6(int) Load 89
92: 91(ptr) AccessChain 24(data) 25 90 79 26
93: 14(int) Load 92
94: 14(int) GroupNonUniformShuffle 36 93 35
95: 91(ptr) AccessChain 24(data) 25 88 79 26
Store 95 94
96: 27(ptr) AccessChain 10(dti) 26
97: 6(int) Load 96
98: 27(ptr) AccessChain 10(dti) 26
99: 6(int) Load 98
101: 82(ptr) AccessChain 24(data) 25 99 79
102: 15(ivec4) Load 101
103: 100(ivec2) VectorShuffle 102 102 0 1
104: 100(ivec2) GroupNonUniformShuffle 36 103 35
105: 91(ptr) AccessChain 24(data) 25 97 79 26
106: 14(int) CompositeExtract 104 0
Store 105 106
107: 91(ptr) AccessChain 24(data) 25 97 79 59
108: 14(int) CompositeExtract 104 1
Store 107 108
109: 27(ptr) AccessChain 10(dti) 26
110: 6(int) Load 109
111: 27(ptr) AccessChain 10(dti) 26
112: 6(int) Load 111
114: 82(ptr) AccessChain 24(data) 25 112 79
115: 15(ivec4) Load 114
116: 113(ivec3) VectorShuffle 115 115 0 1 2
117: 113(ivec3) GroupNonUniformShuffle 36 116 35
118: 91(ptr) AccessChain 24(data) 25 110 79 26
119: 14(int) CompositeExtract 117 0
Store 118 119
120: 91(ptr) AccessChain 24(data) 25 110 79 59
121: 14(int) CompositeExtract 117 1
Store 120 121
122: 91(ptr) AccessChain 24(data) 25 110 79 74
123: 14(int) CompositeExtract 117 2
Store 122 123
124: 27(ptr) AccessChain 10(dti) 26
125: 6(int) Load 124
126: 27(ptr) AccessChain 10(dti) 26
127: 6(int) Load 126
129: 128(ptr) AccessChain 24(data) 25 127 116 26
130: 16(float) Load 129
131: 16(float) GroupNonUniformShuffle 36 130 35
132: 128(ptr) AccessChain 24(data) 25 125 116 26
Store 132 131
133: 27(ptr) AccessChain 10(dti) 26
134: 6(int) Load 133
135: 27(ptr) AccessChain 10(dti) 26
136: 6(int) Load 135
138: 119(ptr) AccessChain 24(data) 25 136 116
139: 17(fvec4) Load 138
140: 137(fvec2) VectorShuffle 139 139 0 1
141: 137(fvec2) GroupNonUniformShuffle 36 140 35
142: 119(ptr) AccessChain 24(data) 25 134 116
143: 17(fvec4) Load 142
144: 17(fvec4) VectorShuffle 143 141 4 5 2 3
Store 142 144
127: 27(ptr) AccessChain 10(dti) 26
128: 6(int) Load 127
130: 129(ptr) AccessChain 24(data) 25 128 126
131: 17(fvec4) Load 130
132: 17(fvec4) GroupNonUniformShuffle 36 131 35
133: 129(ptr) AccessChain 24(data) 25 125 126
Store 133 132
134: 27(ptr) AccessChain 10(dti) 26
135: 6(int) Load 134
136: 27(ptr) AccessChain 10(dti) 26
137: 6(int) Load 136
139: 138(ptr) AccessChain 24(data) 25 137 126 26
140: 16(float) Load 139
141: 16(float) GroupNonUniformShuffle 36 140 35
142: 138(ptr) AccessChain 24(data) 25 135 126 26
Store 142 141
143: 27(ptr) AccessChain 10(dti) 26
144: 6(int) Load 143
145: 27(ptr) AccessChain 10(dti) 26
146: 6(int) Load 145
147: 27(ptr) AccessChain 10(dti) 26
148: 6(int) Load 147
150: 119(ptr) AccessChain 24(data) 25 148 116
151: 17(fvec4) Load 150
152: 149(fvec3) VectorShuffle 151 151 0 1 2
153: 149(fvec3) GroupNonUniformShuffle 36 152 35
154: 119(ptr) AccessChain 24(data) 25 146 116
155: 17(fvec4) Load 154
156: 17(fvec4) VectorShuffle 155 153 4 5 6 3
Store 154 156
157: 27(ptr) AccessChain 10(dti) 26
158: 6(int) Load 157
160: 27(ptr) AccessChain 10(dti) 26
161: 6(int) Load 160
163: 162(ptr) AccessChain 24(data) 25 161 159
164: 19(f64vec4) Load 163
165: 19(f64vec4) GroupNonUniformBroadcastFirst 36 164
166: 162(ptr) AccessChain 24(data) 25 158 159
Store 166 165
167: 27(ptr) AccessChain 10(dti) 26
168: 6(int) Load 167
169: 27(ptr) AccessChain 10(dti) 26
170: 6(int) Load 169
172: 171(ptr) AccessChain 24(data) 25 170 159 26
173:18(float64_t) Load 172
174:18(float64_t) GroupNonUniformBroadcastFirst 36 173
175: 171(ptr) AccessChain 24(data) 25 168 159 26
Store 175 174
176: 27(ptr) AccessChain 10(dti) 26
177: 6(int) Load 176
178: 27(ptr) AccessChain 10(dti) 26
179: 6(int) Load 178
181: 162(ptr) AccessChain 24(data) 25 179 159
182: 19(f64vec4) Load 181
183:180(f64vec2) VectorShuffle 182 182 0 1
184:180(f64vec2) GroupNonUniformBroadcastFirst 36 183
185: 162(ptr) AccessChain 24(data) 25 177 159
186: 19(f64vec4) Load 185
187: 19(f64vec4) VectorShuffle 186 184 4 5 2 3
Store 185 187
188: 27(ptr) AccessChain 10(dti) 26
189: 6(int) Load 188
148: 129(ptr) AccessChain 24(data) 25 146 126
149: 17(fvec4) Load 148
150: 147(fvec2) VectorShuffle 149 149 0 1
151: 147(fvec2) GroupNonUniformShuffle 36 150 35
152: 138(ptr) AccessChain 24(data) 25 144 126 26
153: 16(float) CompositeExtract 151 0
Store 152 153
154: 138(ptr) AccessChain 24(data) 25 144 126 59
155: 16(float) CompositeExtract 151 1
Store 154 155
156: 27(ptr) AccessChain 10(dti) 26
157: 6(int) Load 156
158: 27(ptr) AccessChain 10(dti) 26
159: 6(int) Load 158
161: 129(ptr) AccessChain 24(data) 25 159 126
162: 17(fvec4) Load 161
163: 160(fvec3) VectorShuffle 162 162 0 1 2
164: 160(fvec3) GroupNonUniformShuffle 36 163 35
165: 138(ptr) AccessChain 24(data) 25 157 126 26
166: 16(float) CompositeExtract 164 0
Store 165 166
167: 138(ptr) AccessChain 24(data) 25 157 126 59
168: 16(float) CompositeExtract 164 1
Store 167 168
169: 138(ptr) AccessChain 24(data) 25 157 126 74
170: 16(float) CompositeExtract 164 2
Store 169 170
171: 27(ptr) AccessChain 10(dti) 26
172: 6(int) Load 171
174: 27(ptr) AccessChain 10(dti) 26
175: 6(int) Load 174
177: 176(ptr) AccessChain 24(data) 25 175 173
178: 19(f64vec4) Load 177
179: 19(f64vec4) GroupNonUniformBroadcastFirst 36 178
180: 176(ptr) AccessChain 24(data) 25 172 173
Store 180 179
181: 27(ptr) AccessChain 10(dti) 26
182: 6(int) Load 181
183: 27(ptr) AccessChain 10(dti) 26
184: 6(int) Load 183
186: 185(ptr) AccessChain 24(data) 25 184 173 26
187:18(float64_t) Load 186
188:18(float64_t) GroupNonUniformBroadcastFirst 36 187
189: 185(ptr) AccessChain 24(data) 25 182 173 26
Store 189 188
190: 27(ptr) AccessChain 10(dti) 26
191: 6(int) Load 190
193: 162(ptr) AccessChain 24(data) 25 191 159
194: 19(f64vec4) Load 193
195:192(f64vec3) VectorShuffle 194 194 0 1 2
196:192(f64vec3) GroupNonUniformBroadcastFirst 36 195
197: 162(ptr) AccessChain 24(data) 25 189 159
198: 19(f64vec4) Load 197
199: 19(f64vec4) VectorShuffle 198 196 4 5 6 3
Store 197 199
200: 27(ptr) AccessChain 10(dti) 26
201: 6(int) Load 200
202: 27(ptr) AccessChain 10(dti) 26
203: 6(int) Load 202
204: 32(ptr) AccessChain 24(data) 25 203 25
205: 13(ivec4) Load 204
206: 13(ivec4) GroupNonUniformBroadcastFirst 36 205
207: 32(ptr) AccessChain 24(data) 25 201 25
Store 207 206
208: 27(ptr) AccessChain 10(dti) 26
209: 6(int) Load 208
210: 27(ptr) AccessChain 10(dti) 26
211: 6(int) Load 210
212: 43(ptr) AccessChain 24(data) 25 211 25 26
213: 6(int) Load 212
214: 6(int) GroupNonUniformBroadcastFirst 36 213
215: 43(ptr) AccessChain 24(data) 25 209 25 26
Store 215 214
216: 27(ptr) AccessChain 10(dti) 26
217: 6(int) Load 216
192: 27(ptr) AccessChain 10(dti) 26
193: 6(int) Load 192
195: 176(ptr) AccessChain 24(data) 25 193 173
196: 19(f64vec4) Load 195
197:194(f64vec2) VectorShuffle 196 196 0 1
198:194(f64vec2) GroupNonUniformBroadcastFirst 36 197
199: 185(ptr) AccessChain 24(data) 25 191 173 26
200:18(float64_t) CompositeExtract 198 0
Store 199 200
201: 185(ptr) AccessChain 24(data) 25 191 173 59
202:18(float64_t) CompositeExtract 198 1
Store 201 202
203: 27(ptr) AccessChain 10(dti) 26
204: 6(int) Load 203
205: 27(ptr) AccessChain 10(dti) 26
206: 6(int) Load 205
208: 176(ptr) AccessChain 24(data) 25 206 173
209: 19(f64vec4) Load 208
210:207(f64vec3) VectorShuffle 209 209 0 1 2
211:207(f64vec3) GroupNonUniformBroadcastFirst 36 210
212: 185(ptr) AccessChain 24(data) 25 204 173 26
213:18(float64_t) CompositeExtract 211 0
Store 212 213
214: 185(ptr) AccessChain 24(data) 25 204 173 59
215:18(float64_t) CompositeExtract 211 1
Store 214 215
216: 185(ptr) AccessChain 24(data) 25 204 173 74
217:18(float64_t) CompositeExtract 211 2
Store 216 217
218: 27(ptr) AccessChain 10(dti) 26
219: 6(int) Load 218
220: 32(ptr) AccessChain 24(data) 25 219 25
221: 13(ivec4) Load 220
222: 52(ivec2) VectorShuffle 221 221 0 1
223: 52(ivec2) GroupNonUniformBroadcastFirst 36 222
224: 32(ptr) AccessChain 24(data) 25 217 25
225: 13(ivec4) Load 224
226: 13(ivec4) VectorShuffle 225 223 4 5 2 3
Store 224 226
227: 27(ptr) AccessChain 10(dti) 26
228: 6(int) Load 227
229: 27(ptr) AccessChain 10(dti) 26
230: 6(int) Load 229
231: 32(ptr) AccessChain 24(data) 25 230 25
232: 13(ivec4) Load 231
233: 7(ivec3) VectorShuffle 232 232 0 1 2
234: 7(ivec3) GroupNonUniformBroadcastFirst 36 233
235: 32(ptr) AccessChain 24(data) 25 228 25
236: 13(ivec4) Load 235
237: 13(ivec4) VectorShuffle 236 234 4 5 6 3
Store 235 237
238: 27(ptr) AccessChain 10(dti) 26
239: 6(int) Load 238
240: 27(ptr) AccessChain 10(dti) 26
241: 6(int) Load 240
242: 76(ptr) AccessChain 24(data) 25 241 73
243: 15(ivec4) Load 242
244: 15(ivec4) GroupNonUniformBroadcastFirst 36 243
245: 76(ptr) AccessChain 24(data) 25 239 73
Store 245 244
220: 27(ptr) AccessChain 10(dti) 26
221: 6(int) Load 220
222: 32(ptr) AccessChain 24(data) 25 221 25
223: 13(ivec4) Load 222
224: 13(ivec4) GroupNonUniformBroadcastFirst 36 223
225: 32(ptr) AccessChain 24(data) 25 219 25
Store 225 224
226: 27(ptr) AccessChain 10(dti) 26
227: 6(int) Load 226
228: 27(ptr) AccessChain 10(dti) 26
229: 6(int) Load 228
230: 43(ptr) AccessChain 24(data) 25 229 25 26
231: 6(int) Load 230
232: 6(int) GroupNonUniformBroadcastFirst 36 231
233: 43(ptr) AccessChain 24(data) 25 227 25 26
Store 233 232
234: 27(ptr) AccessChain 10(dti) 26
235: 6(int) Load 234
236: 27(ptr) AccessChain 10(dti) 26
237: 6(int) Load 236
238: 32(ptr) AccessChain 24(data) 25 237 25
239: 13(ivec4) Load 238
240: 52(ivec2) VectorShuffle 239 239 0 1
241: 52(ivec2) GroupNonUniformBroadcastFirst 36 240
242: 43(ptr) AccessChain 24(data) 25 235 25 26
243: 6(int) CompositeExtract 241 0
Store 242 243
244: 43(ptr) AccessChain 24(data) 25 235 25 59
245: 6(int) CompositeExtract 241 1
Store 244 245
246: 27(ptr) AccessChain 10(dti) 26
247: 6(int) Load 246
248: 27(ptr) AccessChain 10(dti) 26
249: 6(int) Load 248
250: 85(ptr) AccessChain 24(data) 25 249 73 26
251: 14(int) Load 250
252: 14(int) GroupNonUniformBroadcastFirst 36 251
253: 85(ptr) AccessChain 24(data) 25 247 73 26
Store 253 252
254: 27(ptr) AccessChain 10(dti) 26
255: 6(int) Load 254
256: 27(ptr) AccessChain 10(dti) 26
257: 6(int) Load 256
258: 76(ptr) AccessChain 24(data) 25 257 73
259: 15(ivec4) Load 258
260: 94(ivec2) VectorShuffle 259 259 0 1
261: 94(ivec2) GroupNonUniformBroadcastFirst 36 260
262: 76(ptr) AccessChain 24(data) 25 255 73
263: 15(ivec4) Load 262
264: 15(ivec4) VectorShuffle 263 261 4 5 2 3
Store 262 264
265: 27(ptr) AccessChain 10(dti) 26
266: 6(int) Load 265
267: 27(ptr) AccessChain 10(dti) 26
268: 6(int) Load 267
269: 76(ptr) AccessChain 24(data) 25 268 73
270: 15(ivec4) Load 269
271: 106(ivec3) VectorShuffle 270 270 0 1 2
272: 106(ivec3) GroupNonUniformBroadcastFirst 36 271
273: 76(ptr) AccessChain 24(data) 25 266 73
274: 15(ivec4) Load 273
275: 15(ivec4) VectorShuffle 274 272 4 5 6 3
Store 273 275
250: 32(ptr) AccessChain 24(data) 25 249 25
251: 13(ivec4) Load 250
252: 7(ivec3) VectorShuffle 251 251 0 1 2
253: 7(ivec3) GroupNonUniformBroadcastFirst 36 252
254: 43(ptr) AccessChain 24(data) 25 247 25 26
255: 6(int) CompositeExtract 253 0
Store 254 255
256: 43(ptr) AccessChain 24(data) 25 247 25 59
257: 6(int) CompositeExtract 253 1
Store 256 257
258: 43(ptr) AccessChain 24(data) 25 247 25 74
259: 6(int) CompositeExtract 253 2
Store 258 259
260: 27(ptr) AccessChain 10(dti) 26
261: 6(int) Load 260
262: 27(ptr) AccessChain 10(dti) 26
263: 6(int) Load 262
264: 82(ptr) AccessChain 24(data) 25 263 79
265: 15(ivec4) Load 264
266: 15(ivec4) GroupNonUniformBroadcastFirst 36 265
267: 82(ptr) AccessChain 24(data) 25 261 79
Store 267 266
268: 27(ptr) AccessChain 10(dti) 26
269: 6(int) Load 268
270: 27(ptr) AccessChain 10(dti) 26
271: 6(int) Load 270
272: 91(ptr) AccessChain 24(data) 25 271 79 26
273: 14(int) Load 272
274: 14(int) GroupNonUniformBroadcastFirst 36 273
275: 91(ptr) AccessChain 24(data) 25 269 79 26
Store 275 274
276: 27(ptr) AccessChain 10(dti) 26
277: 6(int) Load 276
278: 27(ptr) AccessChain 10(dti) 26
279: 6(int) Load 278
280: 119(ptr) AccessChain 24(data) 25 279 116
281: 17(fvec4) Load 280
282: 17(fvec4) GroupNonUniformBroadcastFirst 36 281
283: 119(ptr) AccessChain 24(data) 25 277 116
Store 283 282
284: 27(ptr) AccessChain 10(dti) 26
285: 6(int) Load 284
286: 27(ptr) AccessChain 10(dti) 26
287: 6(int) Load 286
288: 128(ptr) AccessChain 24(data) 25 287 116 26
289: 16(float) Load 288
290: 16(float) GroupNonUniformBroadcastFirst 36 289
291: 128(ptr) AccessChain 24(data) 25 285 116 26
Store 291 290
292: 27(ptr) AccessChain 10(dti) 26
293: 6(int) Load 292
294: 27(ptr) AccessChain 10(dti) 26
295: 6(int) Load 294
296: 119(ptr) AccessChain 24(data) 25 295 116
297: 17(fvec4) Load 296
298: 137(fvec2) VectorShuffle 297 297 0 1
299: 137(fvec2) GroupNonUniformBroadcastFirst 36 298
300: 119(ptr) AccessChain 24(data) 25 293 116
301: 17(fvec4) Load 300
302: 17(fvec4) VectorShuffle 301 299 4 5 2 3
Store 300 302
303: 27(ptr) AccessChain 10(dti) 26
304: 6(int) Load 303
305: 27(ptr) AccessChain 10(dti) 26
306: 6(int) Load 305
307: 119(ptr) AccessChain 24(data) 25 306 116
308: 17(fvec4) Load 307
309: 149(fvec3) VectorShuffle 308 308 0 1 2
310: 149(fvec3) GroupNonUniformBroadcastFirst 36 309
311: 119(ptr) AccessChain 24(data) 25 304 116
312: 17(fvec4) Load 311
313: 17(fvec4) VectorShuffle 312 310 4 5 6 3
Store 311 313
314: 27(ptr) AccessChain 10(dti) 26
315: 6(int) Load 314
316: 27(ptr) AccessChain 10(dti) 26
317: 6(int) Load 316
318: 162(ptr) AccessChain 24(data) 25 317 159
319: 19(f64vec4) Load 318
320: 19(f64vec4) GroupNonUniformBroadcastFirst 36 319
321: 162(ptr) AccessChain 24(data) 25 315 159
Store 321 320
322: 27(ptr) AccessChain 10(dti) 26
323: 6(int) Load 322
324: 27(ptr) AccessChain 10(dti) 26
325: 6(int) Load 324
326: 171(ptr) AccessChain 24(data) 25 325 159 26
327:18(float64_t) Load 326
328:18(float64_t) GroupNonUniformBroadcastFirst 36 327
329: 171(ptr) AccessChain 24(data) 25 323 159 26
Store 329 328
280: 82(ptr) AccessChain 24(data) 25 279 79
281: 15(ivec4) Load 280
282: 100(ivec2) VectorShuffle 281 281 0 1
283: 100(ivec2) GroupNonUniformBroadcastFirst 36 282
284: 91(ptr) AccessChain 24(data) 25 277 79 26
285: 14(int) CompositeExtract 283 0
Store 284 285
286: 91(ptr) AccessChain 24(data) 25 277 79 59
287: 14(int) CompositeExtract 283 1
Store 286 287
288: 27(ptr) AccessChain 10(dti) 26
289: 6(int) Load 288
290: 27(ptr) AccessChain 10(dti) 26
291: 6(int) Load 290
292: 82(ptr) AccessChain 24(data) 25 291 79
293: 15(ivec4) Load 292
294: 113(ivec3) VectorShuffle 293 293 0 1 2
295: 113(ivec3) GroupNonUniformBroadcastFirst 36 294
296: 91(ptr) AccessChain 24(data) 25 289 79 26
297: 14(int) CompositeExtract 295 0
Store 296 297
298: 91(ptr) AccessChain 24(data) 25 289 79 59
299: 14(int) CompositeExtract 295 1
Store 298 299
300: 91(ptr) AccessChain 24(data) 25 289 79 74
301: 14(int) CompositeExtract 295 2
Store 300 301
302: 27(ptr) AccessChain 10(dti) 26
303: 6(int) Load 302
304: 27(ptr) AccessChain 10(dti) 26
305: 6(int) Load 304
306: 129(ptr) AccessChain 24(data) 25 305 126
307: 17(fvec4) Load 306
308: 17(fvec4) GroupNonUniformBroadcastFirst 36 307
309: 129(ptr) AccessChain 24(data) 25 303 126
Store 309 308
310: 27(ptr) AccessChain 10(dti) 26
311: 6(int) Load 310
312: 27(ptr) AccessChain 10(dti) 26
313: 6(int) Load 312
314: 138(ptr) AccessChain 24(data) 25 313 126 26
315: 16(float) Load 314
316: 16(float) GroupNonUniformBroadcastFirst 36 315
317: 138(ptr) AccessChain 24(data) 25 311 126 26
Store 317 316
318: 27(ptr) AccessChain 10(dti) 26
319: 6(int) Load 318
320: 27(ptr) AccessChain 10(dti) 26
321: 6(int) Load 320
322: 129(ptr) AccessChain 24(data) 25 321 126
323: 17(fvec4) Load 322
324: 147(fvec2) VectorShuffle 323 323 0 1
325: 147(fvec2) GroupNonUniformBroadcastFirst 36 324
326: 138(ptr) AccessChain 24(data) 25 319 126 26
327: 16(float) CompositeExtract 325 0
Store 326 327
328: 138(ptr) AccessChain 24(data) 25 319 126 59
329: 16(float) CompositeExtract 325 1
Store 328 329
330: 27(ptr) AccessChain 10(dti) 26
331: 6(int) Load 330
332: 27(ptr) AccessChain 10(dti) 26
333: 6(int) Load 332
334: 162(ptr) AccessChain 24(data) 25 333 159
335: 19(f64vec4) Load 334
336:180(f64vec2) VectorShuffle 335 335 0 1
337:180(f64vec2) GroupNonUniformBroadcastFirst 36 336
338: 162(ptr) AccessChain 24(data) 25 331 159
339: 19(f64vec4) Load 338
340: 19(f64vec4) VectorShuffle 339 337 4 5 2 3
Store 338 340
341: 27(ptr) AccessChain 10(dti) 26
342: 6(int) Load 341
343: 27(ptr) AccessChain 10(dti) 26
344: 6(int) Load 343
345: 162(ptr) AccessChain 24(data) 25 344 159
346: 19(f64vec4) Load 345
347:192(f64vec3) VectorShuffle 346 346 0 1 2
348:192(f64vec3) GroupNonUniformBroadcastFirst 36 347
349: 162(ptr) AccessChain 24(data) 25 342 159
350: 19(f64vec4) Load 349
351: 19(f64vec4) VectorShuffle 350 348 4 5 6 3
Store 349 351
334: 129(ptr) AccessChain 24(data) 25 333 126
335: 17(fvec4) Load 334
336: 160(fvec3) VectorShuffle 335 335 0 1 2
337: 160(fvec3) GroupNonUniformBroadcastFirst 36 336
338: 138(ptr) AccessChain 24(data) 25 331 126 26
339: 16(float) CompositeExtract 337 0
Store 338 339
340: 138(ptr) AccessChain 24(data) 25 331 126 59
341: 16(float) CompositeExtract 337 1
Store 340 341
342: 138(ptr) AccessChain 24(data) 25 331 126 74
343: 16(float) CompositeExtract 337 2
Store 342 343
344: 27(ptr) AccessChain 10(dti) 26
345: 6(int) Load 344
346: 27(ptr) AccessChain 10(dti) 26
347: 6(int) Load 346
348: 176(ptr) AccessChain 24(data) 25 347 173
349: 19(f64vec4) Load 348
350: 19(f64vec4) GroupNonUniformBroadcastFirst 36 349
351: 176(ptr) AccessChain 24(data) 25 345 173
Store 351 350
352: 27(ptr) AccessChain 10(dti) 26
353: 6(int) Load 352
354: 27(ptr) AccessChain 10(dti) 26
355: 6(int) Load 354
356: 185(ptr) AccessChain 24(data) 25 355 173 26
357:18(float64_t) Load 356
358:18(float64_t) GroupNonUniformBroadcastFirst 36 357
359: 185(ptr) AccessChain 24(data) 25 353 173 26
Store 359 358
360: 27(ptr) AccessChain 10(dti) 26
361: 6(int) Load 360
362: 27(ptr) AccessChain 10(dti) 26
363: 6(int) Load 362
364: 176(ptr) AccessChain 24(data) 25 363 173
365: 19(f64vec4) Load 364
366:194(f64vec2) VectorShuffle 365 365 0 1
367:194(f64vec2) GroupNonUniformBroadcastFirst 36 366
368: 185(ptr) AccessChain 24(data) 25 361 173 26
369:18(float64_t) CompositeExtract 367 0
Store 368 369
370: 185(ptr) AccessChain 24(data) 25 361 173 59
371:18(float64_t) CompositeExtract 367 1
Store 370 371
372: 27(ptr) AccessChain 10(dti) 26
373: 6(int) Load 372
374: 27(ptr) AccessChain 10(dti) 26
375: 6(int) Load 374
376: 176(ptr) AccessChain 24(data) 25 375 173
377: 19(f64vec4) Load 376
378:207(f64vec3) VectorShuffle 377 377 0 1 2
379:207(f64vec3) GroupNonUniformBroadcastFirst 36 378
380: 185(ptr) AccessChain 24(data) 25 373 173 26
381:18(float64_t) CompositeExtract 379 0
Store 380 381
382: 185(ptr) AccessChain 24(data) 25 373 173 59
383:18(float64_t) CompositeExtract 379 1
Store 382 383
384: 185(ptr) AccessChain 24(data) 25 373 173 74
385:18(float64_t) CompositeExtract 379 2
Store 384 385
Return
FunctionEnd

View File

@ -2323,7 +2323,7 @@ local_size = (32, 16, 1)
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 369
// Id's are bound by 403
Capability Shader
Capability Float64
@ -2332,7 +2332,7 @@ local_size = (32, 16, 1)
Capability GroupNonUniformBallot
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "CSMain" 364
EntryPoint GLCompute 4 "CSMain" 398
ExecutionMode 4 LocalSize 32 16 1
Source HLSL 500
Name 4 "CSMain"
@ -2346,9 +2346,9 @@ local_size = (32, 16, 1)
Name 22 "data"
MemberName 22(data) 0 "@data"
Name 24 "data"
Name 362 "dti"
Name 364 "dti"
Name 366 "param"
Name 396 "dti"
Name 398 "dti"
Name 400 "param"
MemberDecorate 20(Types) 0 Offset 0
MemberDecorate 20(Types) 1 Offset 16
MemberDecorate 20(Types) 2 Offset 32
@ -2358,7 +2358,7 @@ local_size = (32, 16, 1)
Decorate 22(data) BufferBlock
Decorate 24(data) DescriptorSet 0
Decorate 24(data) Binding 0
Decorate 364(dti) BuiltIn GlobalInvocationId
Decorate 398(dti) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -2384,33 +2384,35 @@ local_size = (32, 16, 1)
35: 6(int) Constant 3
42: TypePointer Uniform 6(int)
51: TypeVector 6(int) 2
72: 14(int) Constant 1
75: TypePointer Uniform 15(ivec4)
84: TypePointer Uniform 14(int)
93: TypeVector 14(int) 2
105: TypeVector 14(int) 3
115: 14(int) Constant 2
118: TypePointer Uniform 17(fvec4)
127: TypePointer Uniform 16(float)
136: TypeVector 16(float) 2
148: TypeVector 16(float) 3
158: 14(int) Constant 3
161: TypePointer Uniform 19(f64vec4)
170: TypePointer Uniform 18(float64_t)
179: TypeVector 18(float64_t) 2
191: TypeVector 18(float64_t) 3
357: TypeBool
363: TypePointer Input 7(ivec3)
364(dti): 363(ptr) Variable Input
58: 6(int) Constant 1
73: 6(int) Constant 2
78: 14(int) Constant 1
81: TypePointer Uniform 15(ivec4)
90: TypePointer Uniform 14(int)
99: TypeVector 14(int) 2
112: TypeVector 14(int) 3
125: 14(int) Constant 2
128: TypePointer Uniform 17(fvec4)
137: TypePointer Uniform 16(float)
146: TypeVector 16(float) 2
159: TypeVector 16(float) 3
172: 14(int) Constant 3
175: TypePointer Uniform 19(f64vec4)
184: TypePointer Uniform 18(float64_t)
193: TypeVector 18(float64_t) 2
206: TypeVector 18(float64_t) 3
391: TypeBool
397: TypePointer Input 7(ivec3)
398(dti): 397(ptr) Variable Input
4(CSMain): 2 Function None 3
5: Label
362(dti): 8(ptr) Variable Function
366(param): 8(ptr) Variable Function
365: 7(ivec3) Load 364(dti)
Store 362(dti) 365
367: 7(ivec3) Load 362(dti)
Store 366(param) 367
368: 2 FunctionCall 11(@CSMain(vu3;) 366(param)
396(dti): 8(ptr) Variable Function
400(param): 8(ptr) Variable Function
399: 7(ivec3) Load 398(dti)
Store 396(dti) 399
401: 7(ivec3) Load 396(dti)
Store 400(param) 401
402: 2 FunctionCall 11(@CSMain(vu3;) 400(param)
Return
FunctionEnd
11(@CSMain(vu3;): 2 Function None 9
@ -2442,326 +2444,382 @@ local_size = (32, 16, 1)
53: 13(ivec4) Load 52
54: 51(ivec2) VectorShuffle 53 53 0 1
55: 51(ivec2) GroupNonUniformIAdd 35 InclusiveScan 54
56: 32(ptr) AccessChain 24(data) 25 48 25
57: 13(ivec4) Load 56
58: 13(ivec4) VectorShuffle 57 55 4 5 2 3
Store 56 58
59: 27(ptr) AccessChain 10(dti) 26
60: 6(int) Load 59
56: 42(ptr) AccessChain 24(data) 25 48 25 26
57: 6(int) CompositeExtract 55 0
Store 56 57
59: 42(ptr) AccessChain 24(data) 25 48 25 58
60: 6(int) CompositeExtract 55 1
Store 59 60
61: 27(ptr) AccessChain 10(dti) 26
62: 6(int) Load 61
63: 32(ptr) AccessChain 24(data) 25 62 25
64: 13(ivec4) Load 63
65: 7(ivec3) VectorShuffle 64 64 0 1 2
66: 7(ivec3) GroupNonUniformIAdd 35 InclusiveScan 65
67: 32(ptr) AccessChain 24(data) 25 60 25
68: 13(ivec4) Load 67
69: 13(ivec4) VectorShuffle 68 66 4 5 6 3
Store 67 69
70: 27(ptr) AccessChain 10(dti) 26
71: 6(int) Load 70
73: 27(ptr) AccessChain 10(dti) 26
74: 6(int) Load 73
76: 75(ptr) AccessChain 24(data) 25 74 72
77: 15(ivec4) Load 76
78: 15(ivec4) GroupNonUniformIAdd 35 InclusiveScan 77
79: 75(ptr) AccessChain 24(data) 25 71 72
Store 79 78
80: 27(ptr) AccessChain 10(dti) 26
81: 6(int) Load 80
82: 27(ptr) AccessChain 10(dti) 26
83: 6(int) Load 82
85: 84(ptr) AccessChain 24(data) 25 83 72 26
86: 14(int) Load 85
87: 14(int) GroupNonUniformIAdd 35 InclusiveScan 86
88: 84(ptr) AccessChain 24(data) 25 81 72 26
Store 88 87
89: 27(ptr) AccessChain 10(dti) 26
90: 6(int) Load 89
91: 27(ptr) AccessChain 10(dti) 26
92: 6(int) Load 91
94: 75(ptr) AccessChain 24(data) 25 92 72
95: 15(ivec4) Load 94
96: 93(ivec2) VectorShuffle 95 95 0 1
97: 93(ivec2) GroupNonUniformIAdd 35 InclusiveScan 96
98: 75(ptr) AccessChain 24(data) 25 90 72
99: 15(ivec4) Load 98
100: 15(ivec4) VectorShuffle 99 97 4 5 2 3
Store 98 100
101: 27(ptr) AccessChain 10(dti) 26
102: 6(int) Load 101
103: 27(ptr) AccessChain 10(dti) 26
104: 6(int) Load 103
106: 75(ptr) AccessChain 24(data) 25 104 72
107: 15(ivec4) Load 106
108: 105(ivec3) VectorShuffle 107 107 0 1 2
109: 105(ivec3) GroupNonUniformIAdd 35 InclusiveScan 108
110: 75(ptr) AccessChain 24(data) 25 102 72
111: 15(ivec4) Load 110
112: 15(ivec4) VectorShuffle 111 109 4 5 6 3
Store 110 112
113: 27(ptr) AccessChain 10(dti) 26
114: 6(int) Load 113
116: 27(ptr) AccessChain 10(dti) 26
117: 6(int) Load 116
119: 118(ptr) AccessChain 24(data) 25 117 115
120: 17(fvec4) Load 119
121: 17(fvec4) GroupNonUniformFAdd 35 InclusiveScan 120
122: 118(ptr) AccessChain 24(data) 25 114 115
Store 122 121
63: 27(ptr) AccessChain 10(dti) 26
64: 6(int) Load 63
65: 32(ptr) AccessChain 24(data) 25 64 25
66: 13(ivec4) Load 65
67: 7(ivec3) VectorShuffle 66 66 0 1 2
68: 7(ivec3) GroupNonUniformIAdd 35 InclusiveScan 67
69: 42(ptr) AccessChain 24(data) 25 62 25 26
70: 6(int) CompositeExtract 68 0
Store 69 70
71: 42(ptr) AccessChain 24(data) 25 62 25 58
72: 6(int) CompositeExtract 68 1
Store 71 72
74: 42(ptr) AccessChain 24(data) 25 62 25 73
75: 6(int) CompositeExtract 68 2
Store 74 75
76: 27(ptr) AccessChain 10(dti) 26
77: 6(int) Load 76
79: 27(ptr) AccessChain 10(dti) 26
80: 6(int) Load 79
82: 81(ptr) AccessChain 24(data) 25 80 78
83: 15(ivec4) Load 82
84: 15(ivec4) GroupNonUniformIAdd 35 InclusiveScan 83
85: 81(ptr) AccessChain 24(data) 25 77 78
Store 85 84
86: 27(ptr) AccessChain 10(dti) 26
87: 6(int) Load 86
88: 27(ptr) AccessChain 10(dti) 26
89: 6(int) Load 88
91: 90(ptr) AccessChain 24(data) 25 89 78 26
92: 14(int) Load 91
93: 14(int) GroupNonUniformIAdd 35 InclusiveScan 92
94: 90(ptr) AccessChain 24(data) 25 87 78 26
Store 94 93
95: 27(ptr) AccessChain 10(dti) 26
96: 6(int) Load 95
97: 27(ptr) AccessChain 10(dti) 26
98: 6(int) Load 97
100: 81(ptr) AccessChain 24(data) 25 98 78
101: 15(ivec4) Load 100
102: 99(ivec2) VectorShuffle 101 101 0 1
103: 99(ivec2) GroupNonUniformIAdd 35 InclusiveScan 102
104: 90(ptr) AccessChain 24(data) 25 96 78 26
105: 14(int) CompositeExtract 103 0
Store 104 105
106: 90(ptr) AccessChain 24(data) 25 96 78 58
107: 14(int) CompositeExtract 103 1
Store 106 107
108: 27(ptr) AccessChain 10(dti) 26
109: 6(int) Load 108
110: 27(ptr) AccessChain 10(dti) 26
111: 6(int) Load 110
113: 81(ptr) AccessChain 24(data) 25 111 78
114: 15(ivec4) Load 113
115: 112(ivec3) VectorShuffle 114 114 0 1 2
116: 112(ivec3) GroupNonUniformIAdd 35 InclusiveScan 115
117: 90(ptr) AccessChain 24(data) 25 109 78 26
118: 14(int) CompositeExtract 116 0
Store 117 118
119: 90(ptr) AccessChain 24(data) 25 109 78 58
120: 14(int) CompositeExtract 116 1
Store 119 120
121: 90(ptr) AccessChain 24(data) 25 109 78 73
122: 14(int) CompositeExtract 116 2
Store 121 122
123: 27(ptr) AccessChain 10(dti) 26
124: 6(int) Load 123
125: 27(ptr) AccessChain 10(dti) 26
126: 6(int) Load 125
128: 127(ptr) AccessChain 24(data) 25 126 115 26
129: 16(float) Load 128
130: 16(float) GroupNonUniformFAdd 35 InclusiveScan 129
131: 127(ptr) AccessChain 24(data) 25 124 115 26
Store 131 130
132: 27(ptr) AccessChain 10(dti) 26
133: 6(int) Load 132
134: 27(ptr) AccessChain 10(dti) 26
135: 6(int) Load 134
137: 118(ptr) AccessChain 24(data) 25 135 115
138: 17(fvec4) Load 137
139: 136(fvec2) VectorShuffle 138 138 0 1
140: 136(fvec2) GroupNonUniformFAdd 35 InclusiveScan 139
141: 118(ptr) AccessChain 24(data) 25 133 115
142: 17(fvec4) Load 141
143: 17(fvec4) VectorShuffle 142 140 4 5 2 3
Store 141 143
126: 27(ptr) AccessChain 10(dti) 26
127: 6(int) Load 126
129: 128(ptr) AccessChain 24(data) 25 127 125
130: 17(fvec4) Load 129
131: 17(fvec4) GroupNonUniformFAdd 35 InclusiveScan 130
132: 128(ptr) AccessChain 24(data) 25 124 125
Store 132 131
133: 27(ptr) AccessChain 10(dti) 26
134: 6(int) Load 133
135: 27(ptr) AccessChain 10(dti) 26
136: 6(int) Load 135
138: 137(ptr) AccessChain 24(data) 25 136 125 26
139: 16(float) Load 138
140: 16(float) GroupNonUniformFAdd 35 InclusiveScan 139
141: 137(ptr) AccessChain 24(data) 25 134 125 26
Store 141 140
142: 27(ptr) AccessChain 10(dti) 26
143: 6(int) Load 142
144: 27(ptr) AccessChain 10(dti) 26
145: 6(int) Load 144
146: 27(ptr) AccessChain 10(dti) 26
147: 6(int) Load 146
149: 118(ptr) AccessChain 24(data) 25 147 115
150: 17(fvec4) Load 149
151: 148(fvec3) VectorShuffle 150 150 0 1 2
152: 148(fvec3) GroupNonUniformFAdd 35 InclusiveScan 151
153: 118(ptr) AccessChain 24(data) 25 145 115
154: 17(fvec4) Load 153
155: 17(fvec4) VectorShuffle 154 152 4 5 6 3
Store 153 155
156: 27(ptr) AccessChain 10(dti) 26
157: 6(int) Load 156
159: 27(ptr) AccessChain 10(dti) 26
160: 6(int) Load 159
162: 161(ptr) AccessChain 24(data) 25 160 158
163: 19(f64vec4) Load 162
164: 19(f64vec4) GroupNonUniformFAdd 35 InclusiveScan 163
165: 161(ptr) AccessChain 24(data) 25 157 158
Store 165 164
166: 27(ptr) AccessChain 10(dti) 26
167: 6(int) Load 166
168: 27(ptr) AccessChain 10(dti) 26
169: 6(int) Load 168
171: 170(ptr) AccessChain 24(data) 25 169 158 26
172:18(float64_t) Load 171
173:18(float64_t) GroupNonUniformFAdd 35 InclusiveScan 172
174: 170(ptr) AccessChain 24(data) 25 167 158 26
Store 174 173
175: 27(ptr) AccessChain 10(dti) 26
176: 6(int) Load 175
177: 27(ptr) AccessChain 10(dti) 26
178: 6(int) Load 177
180: 161(ptr) AccessChain 24(data) 25 178 158
181: 19(f64vec4) Load 180
182:179(f64vec2) VectorShuffle 181 181 0 1
183:179(f64vec2) GroupNonUniformFAdd 35 InclusiveScan 182
184: 161(ptr) AccessChain 24(data) 25 176 158
185: 19(f64vec4) Load 184
186: 19(f64vec4) VectorShuffle 185 183 4 5 2 3
Store 184 186
187: 27(ptr) AccessChain 10(dti) 26
188: 6(int) Load 187
147: 128(ptr) AccessChain 24(data) 25 145 125
148: 17(fvec4) Load 147
149: 146(fvec2) VectorShuffle 148 148 0 1
150: 146(fvec2) GroupNonUniformFAdd 35 InclusiveScan 149
151: 137(ptr) AccessChain 24(data) 25 143 125 26
152: 16(float) CompositeExtract 150 0
Store 151 152
153: 137(ptr) AccessChain 24(data) 25 143 125 58
154: 16(float) CompositeExtract 150 1
Store 153 154
155: 27(ptr) AccessChain 10(dti) 26
156: 6(int) Load 155
157: 27(ptr) AccessChain 10(dti) 26
158: 6(int) Load 157
160: 128(ptr) AccessChain 24(data) 25 158 125
161: 17(fvec4) Load 160
162: 159(fvec3) VectorShuffle 161 161 0 1 2
163: 159(fvec3) GroupNonUniformFAdd 35 InclusiveScan 162
164: 137(ptr) AccessChain 24(data) 25 156 125 26
165: 16(float) CompositeExtract 163 0
Store 164 165
166: 137(ptr) AccessChain 24(data) 25 156 125 58
167: 16(float) CompositeExtract 163 1
Store 166 167
168: 137(ptr) AccessChain 24(data) 25 156 125 73
169: 16(float) CompositeExtract 163 2
Store 168 169
170: 27(ptr) AccessChain 10(dti) 26
171: 6(int) Load 170
173: 27(ptr) AccessChain 10(dti) 26
174: 6(int) Load 173
176: 175(ptr) AccessChain 24(data) 25 174 172
177: 19(f64vec4) Load 176
178: 19(f64vec4) GroupNonUniformFAdd 35 InclusiveScan 177
179: 175(ptr) AccessChain 24(data) 25 171 172
Store 179 178
180: 27(ptr) AccessChain 10(dti) 26
181: 6(int) Load 180
182: 27(ptr) AccessChain 10(dti) 26
183: 6(int) Load 182
185: 184(ptr) AccessChain 24(data) 25 183 172 26
186:18(float64_t) Load 185
187:18(float64_t) GroupNonUniformFAdd 35 InclusiveScan 186
188: 184(ptr) AccessChain 24(data) 25 181 172 26
Store 188 187
189: 27(ptr) AccessChain 10(dti) 26
190: 6(int) Load 189
192: 161(ptr) AccessChain 24(data) 25 190 158
193: 19(f64vec4) Load 192
194:191(f64vec3) VectorShuffle 193 193 0 1 2
195:191(f64vec3) GroupNonUniformFAdd 35 InclusiveScan 194
196: 161(ptr) AccessChain 24(data) 25 188 158
197: 19(f64vec4) Load 196
198: 19(f64vec4) VectorShuffle 197 195 4 5 6 3
Store 196 198
199: 27(ptr) AccessChain 10(dti) 26
200: 6(int) Load 199
201: 27(ptr) AccessChain 10(dti) 26
202: 6(int) Load 201
203: 32(ptr) AccessChain 24(data) 25 202 25
204: 13(ivec4) Load 203
205: 13(ivec4) GroupNonUniformIMul 35 InclusiveScan 204
206: 32(ptr) AccessChain 24(data) 25 200 25
Store 206 205
207: 27(ptr) AccessChain 10(dti) 26
208: 6(int) Load 207
209: 27(ptr) AccessChain 10(dti) 26
210: 6(int) Load 209
211: 42(ptr) AccessChain 24(data) 25 210 25 26
212: 6(int) Load 211
213: 6(int) GroupNonUniformIMul 35 InclusiveScan 212
214: 42(ptr) AccessChain 24(data) 25 208 25 26
Store 214 213
215: 27(ptr) AccessChain 10(dti) 26
216: 6(int) Load 215
191: 27(ptr) AccessChain 10(dti) 26
192: 6(int) Load 191
194: 175(ptr) AccessChain 24(data) 25 192 172
195: 19(f64vec4) Load 194
196:193(f64vec2) VectorShuffle 195 195 0 1
197:193(f64vec2) GroupNonUniformFAdd 35 InclusiveScan 196
198: 184(ptr) AccessChain 24(data) 25 190 172 26
199:18(float64_t) CompositeExtract 197 0
Store 198 199
200: 184(ptr) AccessChain 24(data) 25 190 172 58
201:18(float64_t) CompositeExtract 197 1
Store 200 201
202: 27(ptr) AccessChain 10(dti) 26
203: 6(int) Load 202
204: 27(ptr) AccessChain 10(dti) 26
205: 6(int) Load 204
207: 175(ptr) AccessChain 24(data) 25 205 172
208: 19(f64vec4) Load 207
209:206(f64vec3) VectorShuffle 208 208 0 1 2
210:206(f64vec3) GroupNonUniformFAdd 35 InclusiveScan 209
211: 184(ptr) AccessChain 24(data) 25 203 172 26
212:18(float64_t) CompositeExtract 210 0
Store 211 212
213: 184(ptr) AccessChain 24(data) 25 203 172 58
214:18(float64_t) CompositeExtract 210 1
Store 213 214
215: 184(ptr) AccessChain 24(data) 25 203 172 73
216:18(float64_t) CompositeExtract 210 2
Store 215 216
217: 27(ptr) AccessChain 10(dti) 26
218: 6(int) Load 217
219: 32(ptr) AccessChain 24(data) 25 218 25
220: 13(ivec4) Load 219
221: 51(ivec2) VectorShuffle 220 220 0 1
222: 51(ivec2) GroupNonUniformIMul 35 InclusiveScan 221
223: 32(ptr) AccessChain 24(data) 25 216 25
224: 13(ivec4) Load 223
225: 13(ivec4) VectorShuffle 224 222 4 5 2 3
Store 223 225
226: 27(ptr) AccessChain 10(dti) 26
227: 6(int) Load 226
228: 27(ptr) AccessChain 10(dti) 26
229: 6(int) Load 228
230: 32(ptr) AccessChain 24(data) 25 229 25
231: 13(ivec4) Load 230
232: 7(ivec3) VectorShuffle 231 231 0 1 2
233: 7(ivec3) GroupNonUniformIMul 35 InclusiveScan 232
234: 32(ptr) AccessChain 24(data) 25 227 25
235: 13(ivec4) Load 234
236: 13(ivec4) VectorShuffle 235 233 4 5 6 3
Store 234 236
237: 27(ptr) AccessChain 10(dti) 26
238: 6(int) Load 237
239: 27(ptr) AccessChain 10(dti) 26
240: 6(int) Load 239
241: 75(ptr) AccessChain 24(data) 25 240 72
242: 15(ivec4) Load 241
243: 15(ivec4) GroupNonUniformIMul 35 InclusiveScan 242
244: 75(ptr) AccessChain 24(data) 25 238 72
Store 244 243
219: 27(ptr) AccessChain 10(dti) 26
220: 6(int) Load 219
221: 32(ptr) AccessChain 24(data) 25 220 25
222: 13(ivec4) Load 221
223: 13(ivec4) GroupNonUniformIMul 35 InclusiveScan 222
224: 32(ptr) AccessChain 24(data) 25 218 25
Store 224 223
225: 27(ptr) AccessChain 10(dti) 26
226: 6(int) Load 225
227: 27(ptr) AccessChain 10(dti) 26
228: 6(int) Load 227
229: 42(ptr) AccessChain 24(data) 25 228 25 26
230: 6(int) Load 229
231: 6(int) GroupNonUniformIMul 35 InclusiveScan 230
232: 42(ptr) AccessChain 24(data) 25 226 25 26
Store 232 231
233: 27(ptr) AccessChain 10(dti) 26
234: 6(int) Load 233
235: 27(ptr) AccessChain 10(dti) 26
236: 6(int) Load 235
237: 32(ptr) AccessChain 24(data) 25 236 25
238: 13(ivec4) Load 237
239: 51(ivec2) VectorShuffle 238 238 0 1
240: 51(ivec2) GroupNonUniformIMul 35 InclusiveScan 239
241: 42(ptr) AccessChain 24(data) 25 234 25 26
242: 6(int) CompositeExtract 240 0
Store 241 242
243: 42(ptr) AccessChain 24(data) 25 234 25 58
244: 6(int) CompositeExtract 240 1
Store 243 244
245: 27(ptr) AccessChain 10(dti) 26
246: 6(int) Load 245
247: 27(ptr) AccessChain 10(dti) 26
248: 6(int) Load 247
249: 84(ptr) AccessChain 24(data) 25 248 72 26
250: 14(int) Load 249
251: 14(int) GroupNonUniformIMul 35 InclusiveScan 250
252: 84(ptr) AccessChain 24(data) 25 246 72 26
Store 252 251
253: 27(ptr) AccessChain 10(dti) 26
254: 6(int) Load 253
255: 27(ptr) AccessChain 10(dti) 26
256: 6(int) Load 255
257: 75(ptr) AccessChain 24(data) 25 256 72
258: 15(ivec4) Load 257
259: 93(ivec2) VectorShuffle 258 258 0 1
260: 93(ivec2) GroupNonUniformIMul 35 InclusiveScan 259
261: 75(ptr) AccessChain 24(data) 25 254 72
262: 15(ivec4) Load 261
263: 15(ivec4) VectorShuffle 262 260 4 5 2 3
Store 261 263
264: 27(ptr) AccessChain 10(dti) 26
265: 6(int) Load 264
266: 27(ptr) AccessChain 10(dti) 26
267: 6(int) Load 266
268: 75(ptr) AccessChain 24(data) 25 267 72
269: 15(ivec4) Load 268
270: 105(ivec3) VectorShuffle 269 269 0 1 2
271: 105(ivec3) GroupNonUniformIMul 35 InclusiveScan 270
272: 75(ptr) AccessChain 24(data) 25 265 72
273: 15(ivec4) Load 272
274: 15(ivec4) VectorShuffle 273 271 4 5 6 3
Store 272 274
249: 32(ptr) AccessChain 24(data) 25 248 25
250: 13(ivec4) Load 249
251: 7(ivec3) VectorShuffle 250 250 0 1 2
252: 7(ivec3) GroupNonUniformIMul 35 InclusiveScan 251
253: 42(ptr) AccessChain 24(data) 25 246 25 26
254: 6(int) CompositeExtract 252 0
Store 253 254
255: 42(ptr) AccessChain 24(data) 25 246 25 58
256: 6(int) CompositeExtract 252 1
Store 255 256
257: 42(ptr) AccessChain 24(data) 25 246 25 73
258: 6(int) CompositeExtract 252 2
Store 257 258
259: 27(ptr) AccessChain 10(dti) 26
260: 6(int) Load 259
261: 27(ptr) AccessChain 10(dti) 26
262: 6(int) Load 261
263: 81(ptr) AccessChain 24(data) 25 262 78
264: 15(ivec4) Load 263
265: 15(ivec4) GroupNonUniformIMul 35 InclusiveScan 264
266: 81(ptr) AccessChain 24(data) 25 260 78
Store 266 265
267: 27(ptr) AccessChain 10(dti) 26
268: 6(int) Load 267
269: 27(ptr) AccessChain 10(dti) 26
270: 6(int) Load 269
271: 90(ptr) AccessChain 24(data) 25 270 78 26
272: 14(int) Load 271
273: 14(int) GroupNonUniformIMul 35 InclusiveScan 272
274: 90(ptr) AccessChain 24(data) 25 268 78 26
Store 274 273
275: 27(ptr) AccessChain 10(dti) 26
276: 6(int) Load 275
277: 27(ptr) AccessChain 10(dti) 26
278: 6(int) Load 277
279: 118(ptr) AccessChain 24(data) 25 278 115
280: 17(fvec4) Load 279
281: 17(fvec4) GroupNonUniformFMul 35 InclusiveScan 280
282: 118(ptr) AccessChain 24(data) 25 276 115
Store 282 281
283: 27(ptr) AccessChain 10(dti) 26
284: 6(int) Load 283
285: 27(ptr) AccessChain 10(dti) 26
286: 6(int) Load 285
287: 127(ptr) AccessChain 24(data) 25 286 115 26
288: 16(float) Load 287
289: 16(float) GroupNonUniformFMul 35 InclusiveScan 288
290: 127(ptr) AccessChain 24(data) 25 284 115 26
Store 290 289
291: 27(ptr) AccessChain 10(dti) 26
292: 6(int) Load 291
293: 27(ptr) AccessChain 10(dti) 26
294: 6(int) Load 293
295: 118(ptr) AccessChain 24(data) 25 294 115
296: 17(fvec4) Load 295
297: 136(fvec2) VectorShuffle 296 296 0 1
298: 136(fvec2) GroupNonUniformFMul 35 InclusiveScan 297
299: 118(ptr) AccessChain 24(data) 25 292 115
300: 17(fvec4) Load 299
301: 17(fvec4) VectorShuffle 300 298 4 5 2 3
Store 299 301
302: 27(ptr) AccessChain 10(dti) 26
303: 6(int) Load 302
304: 27(ptr) AccessChain 10(dti) 26
305: 6(int) Load 304
306: 118(ptr) AccessChain 24(data) 25 305 115
307: 17(fvec4) Load 306
308: 148(fvec3) VectorShuffle 307 307 0 1 2
309: 148(fvec3) GroupNonUniformFMul 35 InclusiveScan 308
310: 118(ptr) AccessChain 24(data) 25 303 115
311: 17(fvec4) Load 310
312: 17(fvec4) VectorShuffle 311 309 4 5 6 3
Store 310 312
313: 27(ptr) AccessChain 10(dti) 26
314: 6(int) Load 313
315: 27(ptr) AccessChain 10(dti) 26
316: 6(int) Load 315
317: 161(ptr) AccessChain 24(data) 25 316 158
318: 19(f64vec4) Load 317
319: 19(f64vec4) GroupNonUniformFMul 35 InclusiveScan 318
320: 161(ptr) AccessChain 24(data) 25 314 158
Store 320 319
321: 27(ptr) AccessChain 10(dti) 26
322: 6(int) Load 321
323: 27(ptr) AccessChain 10(dti) 26
324: 6(int) Load 323
325: 170(ptr) AccessChain 24(data) 25 324 158 26
326:18(float64_t) Load 325
327:18(float64_t) GroupNonUniformFMul 35 InclusiveScan 326
328: 170(ptr) AccessChain 24(data) 25 322 158 26
Store 328 327
279: 81(ptr) AccessChain 24(data) 25 278 78
280: 15(ivec4) Load 279
281: 99(ivec2) VectorShuffle 280 280 0 1
282: 99(ivec2) GroupNonUniformIMul 35 InclusiveScan 281
283: 90(ptr) AccessChain 24(data) 25 276 78 26
284: 14(int) CompositeExtract 282 0
Store 283 284
285: 90(ptr) AccessChain 24(data) 25 276 78 58
286: 14(int) CompositeExtract 282 1
Store 285 286
287: 27(ptr) AccessChain 10(dti) 26
288: 6(int) Load 287
289: 27(ptr) AccessChain 10(dti) 26
290: 6(int) Load 289
291: 81(ptr) AccessChain 24(data) 25 290 78
292: 15(ivec4) Load 291
293: 112(ivec3) VectorShuffle 292 292 0 1 2
294: 112(ivec3) GroupNonUniformIMul 35 InclusiveScan 293
295: 90(ptr) AccessChain 24(data) 25 288 78 26
296: 14(int) CompositeExtract 294 0
Store 295 296
297: 90(ptr) AccessChain 24(data) 25 288 78 58
298: 14(int) CompositeExtract 294 1
Store 297 298
299: 90(ptr) AccessChain 24(data) 25 288 78 73
300: 14(int) CompositeExtract 294 2
Store 299 300
301: 27(ptr) AccessChain 10(dti) 26
302: 6(int) Load 301
303: 27(ptr) AccessChain 10(dti) 26
304: 6(int) Load 303
305: 128(ptr) AccessChain 24(data) 25 304 125
306: 17(fvec4) Load 305
307: 17(fvec4) GroupNonUniformFMul 35 InclusiveScan 306
308: 128(ptr) AccessChain 24(data) 25 302 125
Store 308 307
309: 27(ptr) AccessChain 10(dti) 26
310: 6(int) Load 309
311: 27(ptr) AccessChain 10(dti) 26
312: 6(int) Load 311
313: 137(ptr) AccessChain 24(data) 25 312 125 26
314: 16(float) Load 313
315: 16(float) GroupNonUniformFMul 35 InclusiveScan 314
316: 137(ptr) AccessChain 24(data) 25 310 125 26
Store 316 315
317: 27(ptr) AccessChain 10(dti) 26
318: 6(int) Load 317
319: 27(ptr) AccessChain 10(dti) 26
320: 6(int) Load 319
321: 128(ptr) AccessChain 24(data) 25 320 125
322: 17(fvec4) Load 321
323: 146(fvec2) VectorShuffle 322 322 0 1
324: 146(fvec2) GroupNonUniformFMul 35 InclusiveScan 323
325: 137(ptr) AccessChain 24(data) 25 318 125 26
326: 16(float) CompositeExtract 324 0
Store 325 326
327: 137(ptr) AccessChain 24(data) 25 318 125 58
328: 16(float) CompositeExtract 324 1
Store 327 328
329: 27(ptr) AccessChain 10(dti) 26
330: 6(int) Load 329
331: 27(ptr) AccessChain 10(dti) 26
332: 6(int) Load 331
333: 161(ptr) AccessChain 24(data) 25 332 158
334: 19(f64vec4) Load 333
335:179(f64vec2) VectorShuffle 334 334 0 1
336:179(f64vec2) GroupNonUniformFMul 35 InclusiveScan 335
337: 161(ptr) AccessChain 24(data) 25 330 158
338: 19(f64vec4) Load 337
339: 19(f64vec4) VectorShuffle 338 336 4 5 2 3
Store 337 339
340: 27(ptr) AccessChain 10(dti) 26
341: 6(int) Load 340
342: 27(ptr) AccessChain 10(dti) 26
343: 6(int) Load 342
344: 161(ptr) AccessChain 24(data) 25 343 158
345: 19(f64vec4) Load 344
346:191(f64vec3) VectorShuffle 345 345 0 1 2
347:191(f64vec3) GroupNonUniformFMul 35 InclusiveScan 346
348: 161(ptr) AccessChain 24(data) 25 341 158
349: 19(f64vec4) Load 348
350: 19(f64vec4) VectorShuffle 349 347 4 5 6 3
Store 348 350
333: 128(ptr) AccessChain 24(data) 25 332 125
334: 17(fvec4) Load 333
335: 159(fvec3) VectorShuffle 334 334 0 1 2
336: 159(fvec3) GroupNonUniformFMul 35 InclusiveScan 335
337: 137(ptr) AccessChain 24(data) 25 330 125 26
338: 16(float) CompositeExtract 336 0
Store 337 338
339: 137(ptr) AccessChain 24(data) 25 330 125 58
340: 16(float) CompositeExtract 336 1
Store 339 340
341: 137(ptr) AccessChain 24(data) 25 330 125 73
342: 16(float) CompositeExtract 336 2
Store 341 342
343: 27(ptr) AccessChain 10(dti) 26
344: 6(int) Load 343
345: 27(ptr) AccessChain 10(dti) 26
346: 6(int) Load 345
347: 175(ptr) AccessChain 24(data) 25 346 172
348: 19(f64vec4) Load 347
349: 19(f64vec4) GroupNonUniformFMul 35 InclusiveScan 348
350: 175(ptr) AccessChain 24(data) 25 344 172
Store 350 349
351: 27(ptr) AccessChain 10(dti) 26
352: 6(int) Load 351
353: 27(ptr) AccessChain 10(dti) 26
354: 6(int) Load 353
355: 42(ptr) AccessChain 24(data) 25 354 25 26
356: 6(int) Load 355
358: 357(bool) IEqual 356 26
359: 13(ivec4) GroupNonUniformBallot 35 358
360: 6(int) GroupNonUniformBallotBitCount 35 InclusiveScan 359
361: 42(ptr) AccessChain 24(data) 25 352 25 26
Store 361 360
355: 184(ptr) AccessChain 24(data) 25 354 172 26
356:18(float64_t) Load 355
357:18(float64_t) GroupNonUniformFMul 35 InclusiveScan 356
358: 184(ptr) AccessChain 24(data) 25 352 172 26
Store 358 357
359: 27(ptr) AccessChain 10(dti) 26
360: 6(int) Load 359
361: 27(ptr) AccessChain 10(dti) 26
362: 6(int) Load 361
363: 175(ptr) AccessChain 24(data) 25 362 172
364: 19(f64vec4) Load 363
365:193(f64vec2) VectorShuffle 364 364 0 1
366:193(f64vec2) GroupNonUniformFMul 35 InclusiveScan 365
367: 184(ptr) AccessChain 24(data) 25 360 172 26
368:18(float64_t) CompositeExtract 366 0
Store 367 368
369: 184(ptr) AccessChain 24(data) 25 360 172 58
370:18(float64_t) CompositeExtract 366 1
Store 369 370
371: 27(ptr) AccessChain 10(dti) 26
372: 6(int) Load 371
373: 27(ptr) AccessChain 10(dti) 26
374: 6(int) Load 373
375: 175(ptr) AccessChain 24(data) 25 374 172
376: 19(f64vec4) Load 375
377:206(f64vec3) VectorShuffle 376 376 0 1 2
378:206(f64vec3) GroupNonUniformFMul 35 InclusiveScan 377
379: 184(ptr) AccessChain 24(data) 25 372 172 26
380:18(float64_t) CompositeExtract 378 0
Store 379 380
381: 184(ptr) AccessChain 24(data) 25 372 172 58
382:18(float64_t) CompositeExtract 378 1
Store 381 382
383: 184(ptr) AccessChain 24(data) 25 372 172 73
384:18(float64_t) CompositeExtract 378 2
Store 383 384
385: 27(ptr) AccessChain 10(dti) 26
386: 6(int) Load 385
387: 27(ptr) AccessChain 10(dti) 26
388: 6(int) Load 387
389: 42(ptr) AccessChain 24(data) 25 388 25 26
390: 6(int) Load 389
392: 391(bool) IEqual 390 26
393: 13(ivec4) GroupNonUniformBallot 35 392
394: 6(int) GroupNonUniformBallotBitCount 35 InclusiveScan 393
395: 42(ptr) AccessChain 24(data) 25 386 25 26
Store 395 394
Return
FunctionEnd

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -28,14 +28,17 @@ remap.uniformarray.everything.frag
24: TypeVector 13(float) 3
661: TypePointer Input 24(fvec3)
4957: 661(ptr) Variable Input
2570: 11(int) Constant 0
650: TypePointer Function 13(float)
2573: 11(int) Constant 1
2576: 11(int) Constant 2
2618: 11(int) Constant 16
669: TypeArray 13(float) 2618
1306: TypePointer Input 669
4339: 1306(ptr) Variable Input
709: TypeArray 13(float) 2618
1346: TypePointer Input 709
4339: 1346(ptr) Variable Input
2607: 12(int) Constant 12
650: TypePointer Input 13(float)
651: TypePointer Input 13(float)
2579: 11(int) Constant 3
651: TypePointer Function 13(float)
668: TypePointer Output 29(fvec4)
5139: 668(ptr) Variable Output
5663: 8 Function None 1282
@ -49,17 +52,23 @@ remap.uniformarray.everything.frag
Store 4902 23084
21218: 24(fvec3) Load 4957
13695: 29(fvec4) Load 4902
23883: 24(fvec3) VectorShuffle 13695 13695 0 1 2
15591: 24(fvec3) FAdd 23883 21218
17086: 29(fvec4) Load 4902
7051: 29(fvec4) VectorShuffle 17086 15591 4 5 6 3
Store 4902 7051
18282: 650(ptr) AccessChain 4339 2607
7372: 13(float) Load 18282
21371: 651(ptr) AccessChain 4902 2579
23959: 24(fvec3) VectorShuffle 13695 13695 0 1 2
14937: 24(fvec3) FAdd 23959 21218
15653: 650(ptr) AccessChain 4902 2570
21354: 13(float) CompositeExtract 14937 0
Store 15653 21354
16378: 650(ptr) AccessChain 4902 2573
15746: 13(float) CompositeExtract 14937 1
Store 16378 15746
16379: 650(ptr) AccessChain 4902 2576
15747: 13(float) CompositeExtract 14937 2
Store 16379 15747
19895: 651(ptr) AccessChain 4339 2607
7372: 13(float) Load 19895
21371: 650(ptr) AccessChain 4902 2579
11412: 13(float) Load 21371
22584: 13(float) FAdd 11412 7372
17318: 651(ptr) AccessChain 4902 2579
17318: 650(ptr) AccessChain 4902 2579
Store 17318 22584
17934: 29(fvec4) Load 4902
Store 5139 17934

View File

@ -1,27 +1,27 @@
remap.uniformarray.none.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 53
// Id's are bound by 60
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 14 25 35 47
EntryPoint Fragment 4 "main" 14 25 43 54
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
Name 9 "texColor"
Name 14 "color"
Name 25 "inColor"
Name 35 "alpha"
Name 47 "gl_FragColor"
Name 52 "texSampler2D"
Name 43 "alpha"
Name 54 "gl_FragColor"
Name 59 "texSampler2D"
Decorate 14(color) Location 1
Decorate 25(inColor) Location 0
Decorate 35(alpha) Location 7
Decorate 47(gl_FragColor) Location 0
Decorate 52(texSampler2D) DescriptorSet 0
Decorate 52(texSampler2D) Binding 0
Decorate 43(alpha) Location 7
Decorate 54(gl_FragColor) Location 0
Decorate 59(texSampler2D) DescriptorSet 0
Decorate 59(texSampler2D) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -38,20 +38,23 @@ remap.uniformarray.none.frag
23: TypeVector 6(float) 3
24: TypePointer Input 23(fvec3)
25(inColor): 24(ptr) Variable Input
32: 10(int) Constant 16
33: TypeArray 6(float) 32
34: TypePointer Input 33
35(alpha): 34(ptr) Variable Input
36: 15(int) Constant 12
37: TypePointer Input 6(float)
40: 10(int) Constant 3
41: TypePointer Function 6(float)
46: TypePointer Output 7(fvec4)
47(gl_FragColor): 46(ptr) Variable Output
49: TypeImage 6(float) 2D sampled format:Unknown
50: TypeSampledImage 49
51: TypePointer UniformConstant 50
52(texSampler2D): 51(ptr) Variable UniformConstant
30: 10(int) Constant 0
31: TypePointer Function 6(float)
34: 10(int) Constant 1
37: 10(int) Constant 2
40: 10(int) Constant 16
41: TypeArray 6(float) 40
42: TypePointer Input 41
43(alpha): 42(ptr) Variable Input
44: 15(int) Constant 12
45: TypePointer Input 6(float)
48: 10(int) Constant 3
53: TypePointer Output 7(fvec4)
54(gl_FragColor): 53(ptr) Variable Output
56: TypeImage 6(float) 2D sampled format:Unknown
57: TypeSampledImage 56
58: TypePointer UniformConstant 57
59(texSampler2D): 58(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(texColor): 8(ptr) Variable Function
@ -65,17 +68,23 @@ remap.uniformarray.none.frag
27: 7(fvec4) Load 9(texColor)
28: 23(fvec3) VectorShuffle 27 27 0 1 2
29: 23(fvec3) FAdd 28 26
30: 7(fvec4) Load 9(texColor)
31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
Store 9(texColor) 31
38: 37(ptr) AccessChain 35(alpha) 36
39: 6(float) Load 38
42: 41(ptr) AccessChain 9(texColor) 40
43: 6(float) Load 42
44: 6(float) FAdd 43 39
45: 41(ptr) AccessChain 9(texColor) 40
Store 45 44
48: 7(fvec4) Load 9(texColor)
Store 47(gl_FragColor) 48
32: 31(ptr) AccessChain 9(texColor) 30
33: 6(float) CompositeExtract 29 0
Store 32 33
35: 31(ptr) AccessChain 9(texColor) 34
36: 6(float) CompositeExtract 29 1
Store 35 36
38: 31(ptr) AccessChain 9(texColor) 37
39: 6(float) CompositeExtract 29 2
Store 38 39
46: 45(ptr) AccessChain 43(alpha) 44
47: 6(float) Load 46
49: 31(ptr) AccessChain 9(texColor) 48
50: 6(float) Load 49
51: 6(float) FAdd 50 47
52: 31(ptr) AccessChain 9(texColor) 48
Store 52 51
55: 7(fvec4) Load 9(texColor)
Store 54(gl_FragColor) 55
Return
FunctionEnd

View File

@ -1,71 +1,71 @@
spv.310.bitcast.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 153
// Id's are bound by 179
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 14 26 37 48 89 98 107 116 122 130 139 148
EntryPoint Fragment 4 "main" 14 26 40 56 103 112 123 136 142 150 161 174
ExecutionMode 4 OriginUpperLeft
Source ESSL 310
Name 4 "main"
Name 9 "idata"
Name 14 "f1"
Name 26 "f2"
Name 37 "f3"
Name 48 "f4"
Name 55 "udata"
Name 85 "fdata"
Name 89 "i1"
Name 98 "i2"
Name 107 "i3"
Name 116 "i4"
Name 122 "u1"
Name 130 "u2"
Name 139 "u3"
Name 148 "u4"
Name 40 "f3"
Name 56 "f4"
Name 63 "udata"
Name 99 "fdata"
Name 103 "i1"
Name 112 "i2"
Name 123 "i3"
Name 136 "i4"
Name 142 "u1"
Name 150 "u2"
Name 161 "u3"
Name 174 "u4"
Decorate 14(f1) RelaxedPrecision
Decorate 14(f1) Location 8
Decorate 15 RelaxedPrecision
Decorate 26(f2) RelaxedPrecision
Decorate 26(f2) Location 9
Decorate 27 RelaxedPrecision
Decorate 37(f3) RelaxedPrecision
Decorate 37(f3) Location 10
Decorate 38 RelaxedPrecision
Decorate 48(f4) Location 11
Decorate 57 RelaxedPrecision
Decorate 64 RelaxedPrecision
Decorate 40(f3) RelaxedPrecision
Decorate 40(f3) Location 10
Decorate 41 RelaxedPrecision
Decorate 56(f4) Location 11
Decorate 65 RelaxedPrecision
Decorate 72 RelaxedPrecision
Decorate 89(i1) RelaxedPrecision
Decorate 89(i1) Flat
Decorate 89(i1) Location 0
Decorate 90 RelaxedPrecision
Decorate 98(i2) RelaxedPrecision
Decorate 98(i2) Flat
Decorate 98(i2) Location 1
Decorate 99 RelaxedPrecision
Decorate 107(i3) RelaxedPrecision
Decorate 107(i3) Flat
Decorate 107(i3) Location 2
Decorate 108 RelaxedPrecision
Decorate 116(i4) Flat
Decorate 116(i4) Location 3
Decorate 122(u1) RelaxedPrecision
Decorate 122(u1) Flat
Decorate 122(u1) Location 4
Decorate 123 RelaxedPrecision
Decorate 130(u2) RelaxedPrecision
Decorate 130(u2) Flat
Decorate 130(u2) Location 5
Decorate 131 RelaxedPrecision
Decorate 139(u3) RelaxedPrecision
Decorate 139(u3) Flat
Decorate 139(u3) Location 6
Decorate 140 RelaxedPrecision
Decorate 148(u4) Flat
Decorate 148(u4) Location 7
Decorate 82 RelaxedPrecision
Decorate 103(i1) RelaxedPrecision
Decorate 103(i1) Flat
Decorate 103(i1) Location 0
Decorate 104 RelaxedPrecision
Decorate 112(i2) RelaxedPrecision
Decorate 112(i2) Flat
Decorate 112(i2) Location 1
Decorate 113 RelaxedPrecision
Decorate 123(i3) RelaxedPrecision
Decorate 123(i3) Flat
Decorate 123(i3) Location 2
Decorate 124 RelaxedPrecision
Decorate 136(i4) Flat
Decorate 136(i4) Location 3
Decorate 142(u1) RelaxedPrecision
Decorate 142(u1) Flat
Decorate 142(u1) Location 4
Decorate 143 RelaxedPrecision
Decorate 150(u2) RelaxedPrecision
Decorate 150(u2) Flat
Decorate 150(u2) Location 5
Decorate 151 RelaxedPrecision
Decorate 161(u3) RelaxedPrecision
Decorate 161(u3) Flat
Decorate 161(u3) Location 6
Decorate 162 RelaxedPrecision
Decorate 174(u4) Flat
Decorate 174(u4) Location 7
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -83,44 +83,46 @@ spv.310.bitcast.frag
25: TypePointer Input 24(fvec2)
26(f2): 25(ptr) Variable Input
28: TypeVector 6(int) 2
35: TypeVector 12(float) 3
36: TypePointer Input 35(fvec3)
37(f3): 36(ptr) Variable Input
39: TypeVector 6(int) 3
46: TypeVector 12(float) 4
47: TypePointer Input 46(fvec4)
48(f4): 47(ptr) Variable Input
53: TypeVector 17(int) 4
54: TypePointer Function 53(ivec4)
56: 53(ivec4) ConstantComposite 18 18 18 18
59: TypePointer Function 17(int)
65: TypeVector 17(int) 2
73: TypeVector 17(int) 3
84: TypePointer Function 46(fvec4)
86: 12(float) Constant 0
87: 46(fvec4) ConstantComposite 86 86 86 86
88: TypePointer Input 6(int)
89(i1): 88(ptr) Variable Input
92: TypePointer Function 12(float)
97: TypePointer Input 28(ivec2)
98(i2): 97(ptr) Variable Input
106: TypePointer Input 39(ivec3)
107(i3): 106(ptr) Variable Input
115: TypePointer Input 7(ivec4)
116(i4): 115(ptr) Variable Input
121: TypePointer Input 17(int)
122(u1): 121(ptr) Variable Input
129: TypePointer Input 65(ivec2)
130(u2): 129(ptr) Variable Input
138: TypePointer Input 73(ivec3)
139(u3): 138(ptr) Variable Input
147: TypePointer Input 53(ivec4)
148(u4): 147(ptr) Variable Input
35: 17(int) Constant 1
38: TypeVector 12(float) 3
39: TypePointer Input 38(fvec3)
40(f3): 39(ptr) Variable Input
42: TypeVector 6(int) 3
51: 17(int) Constant 2
54: TypeVector 12(float) 4
55: TypePointer Input 54(fvec4)
56(f4): 55(ptr) Variable Input
61: TypeVector 17(int) 4
62: TypePointer Function 61(ivec4)
64: 61(ivec4) ConstantComposite 18 18 18 18
67: TypePointer Function 17(int)
73: TypeVector 17(int) 2
83: TypeVector 17(int) 3
98: TypePointer Function 54(fvec4)
100: 12(float) Constant 0
101: 54(fvec4) ConstantComposite 100 100 100 100
102: TypePointer Input 6(int)
103(i1): 102(ptr) Variable Input
106: TypePointer Function 12(float)
111: TypePointer Input 28(ivec2)
112(i2): 111(ptr) Variable Input
122: TypePointer Input 42(ivec3)
123(i3): 122(ptr) Variable Input
135: TypePointer Input 7(ivec4)
136(i4): 135(ptr) Variable Input
141: TypePointer Input 17(int)
142(u1): 141(ptr) Variable Input
149: TypePointer Input 73(ivec2)
150(u2): 149(ptr) Variable Input
160: TypePointer Input 83(ivec3)
161(u3): 160(ptr) Variable Input
173: TypePointer Input 61(ivec4)
174(u4): 173(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(idata): 8(ptr) Variable Function
55(udata): 54(ptr) Variable Function
85(fdata): 84(ptr) Variable Function
63(udata): 62(ptr) Variable Function
99(fdata): 98(ptr) Variable Function
Store 9(idata) 11
15: 12(float) Load 14(f1)
16: 6(int) Bitcast 15
@ -134,107 +136,143 @@ spv.310.bitcast.frag
30: 7(ivec4) Load 9(idata)
31: 28(ivec2) VectorShuffle 30 30 0 1
32: 28(ivec2) IAdd 31 29
33: 7(ivec4) Load 9(idata)
34: 7(ivec4) VectorShuffle 33 32 4 5 2 3
Store 9(idata) 34
38: 35(fvec3) Load 37(f3)
40: 39(ivec3) Bitcast 38
41: 7(ivec4) Load 9(idata)
42: 39(ivec3) VectorShuffle 41 41 0 1 2
43: 39(ivec3) IAdd 42 40
33: 19(ptr) AccessChain 9(idata) 18
34: 6(int) CompositeExtract 32 0
Store 33 34
36: 19(ptr) AccessChain 9(idata) 35
37: 6(int) CompositeExtract 32 1
Store 36 37
41: 38(fvec3) Load 40(f3)
43: 42(ivec3) Bitcast 41
44: 7(ivec4) Load 9(idata)
45: 7(ivec4) VectorShuffle 44 43 4 5 6 3
Store 9(idata) 45
49: 46(fvec4) Load 48(f4)
50: 7(ivec4) Bitcast 49
51: 7(ivec4) Load 9(idata)
52: 7(ivec4) IAdd 51 50
Store 9(idata) 52
Store 55(udata) 56
57: 12(float) Load 14(f1)
58: 17(int) Bitcast 57
60: 59(ptr) AccessChain 55(udata) 18
61: 17(int) Load 60
62: 17(int) IAdd 61 58
63: 59(ptr) AccessChain 55(udata) 18
Store 63 62
64: 24(fvec2) Load 26(f2)
66: 65(ivec2) Bitcast 64
67: 53(ivec4) Load 55(udata)
68: 65(ivec2) VectorShuffle 67 67 0 1
69: 65(ivec2) IAdd 68 66
70: 53(ivec4) Load 55(udata)
71: 53(ivec4) VectorShuffle 70 69 4 5 2 3
Store 55(udata) 71
72: 35(fvec3) Load 37(f3)
74: 73(ivec3) Bitcast 72
75: 53(ivec4) Load 55(udata)
76: 73(ivec3) VectorShuffle 75 75 0 1 2
77: 73(ivec3) IAdd 76 74
78: 53(ivec4) Load 55(udata)
79: 53(ivec4) VectorShuffle 78 77 4 5 6 3
Store 55(udata) 79
80: 46(fvec4) Load 48(f4)
81: 53(ivec4) Bitcast 80
82: 53(ivec4) Load 55(udata)
83: 53(ivec4) IAdd 82 81
Store 55(udata) 83
Store 85(fdata) 87
90: 6(int) Load 89(i1)
91: 12(float) Bitcast 90
93: 92(ptr) AccessChain 85(fdata) 18
94: 12(float) Load 93
95: 12(float) FAdd 94 91
96: 92(ptr) AccessChain 85(fdata) 18
Store 96 95
99: 28(ivec2) Load 98(i2)
100: 24(fvec2) Bitcast 99
101: 46(fvec4) Load 85(fdata)
102: 24(fvec2) VectorShuffle 101 101 0 1
103: 24(fvec2) FAdd 102 100
104: 46(fvec4) Load 85(fdata)
105: 46(fvec4) VectorShuffle 104 103 4 5 2 3
Store 85(fdata) 105
108: 39(ivec3) Load 107(i3)
109: 35(fvec3) Bitcast 108
110: 46(fvec4) Load 85(fdata)
111: 35(fvec3) VectorShuffle 110 110 0 1 2
112: 35(fvec3) FAdd 111 109
113: 46(fvec4) Load 85(fdata)
114: 46(fvec4) VectorShuffle 113 112 4 5 6 3
Store 85(fdata) 114
117: 7(ivec4) Load 116(i4)
118: 46(fvec4) Bitcast 117
119: 46(fvec4) Load 85(fdata)
120: 46(fvec4) FAdd 119 118
Store 85(fdata) 120
123: 17(int) Load 122(u1)
124: 12(float) Bitcast 123
125: 92(ptr) AccessChain 85(fdata) 18
126: 12(float) Load 125
127: 12(float) FAdd 126 124
128: 92(ptr) AccessChain 85(fdata) 18
Store 128 127
131: 65(ivec2) Load 130(u2)
132: 24(fvec2) Bitcast 131
133: 46(fvec4) Load 85(fdata)
134: 24(fvec2) VectorShuffle 133 133 0 1
135: 24(fvec2) FAdd 134 132
136: 46(fvec4) Load 85(fdata)
137: 46(fvec4) VectorShuffle 136 135 4 5 2 3
Store 85(fdata) 137
140: 73(ivec3) Load 139(u3)
141: 35(fvec3) Bitcast 140
142: 46(fvec4) Load 85(fdata)
143: 35(fvec3) VectorShuffle 142 142 0 1 2
144: 35(fvec3) FAdd 143 141
145: 46(fvec4) Load 85(fdata)
146: 46(fvec4) VectorShuffle 145 144 4 5 6 3
Store 85(fdata) 146
149: 53(ivec4) Load 148(u4)
150: 46(fvec4) Bitcast 149
151: 46(fvec4) Load 85(fdata)
152: 46(fvec4) FAdd 151 150
Store 85(fdata) 152
45: 42(ivec3) VectorShuffle 44 44 0 1 2
46: 42(ivec3) IAdd 45 43
47: 19(ptr) AccessChain 9(idata) 18
48: 6(int) CompositeExtract 46 0
Store 47 48
49: 19(ptr) AccessChain 9(idata) 35
50: 6(int) CompositeExtract 46 1
Store 49 50
52: 19(ptr) AccessChain 9(idata) 51
53: 6(int) CompositeExtract 46 2
Store 52 53
57: 54(fvec4) Load 56(f4)
58: 7(ivec4) Bitcast 57
59: 7(ivec4) Load 9(idata)
60: 7(ivec4) IAdd 59 58
Store 9(idata) 60
Store 63(udata) 64
65: 12(float) Load 14(f1)
66: 17(int) Bitcast 65
68: 67(ptr) AccessChain 63(udata) 18
69: 17(int) Load 68
70: 17(int) IAdd 69 66
71: 67(ptr) AccessChain 63(udata) 18
Store 71 70
72: 24(fvec2) Load 26(f2)
74: 73(ivec2) Bitcast 72
75: 61(ivec4) Load 63(udata)
76: 73(ivec2) VectorShuffle 75 75 0 1
77: 73(ivec2) IAdd 76 74
78: 67(ptr) AccessChain 63(udata) 18
79: 17(int) CompositeExtract 77 0
Store 78 79
80: 67(ptr) AccessChain 63(udata) 35
81: 17(int) CompositeExtract 77 1
Store 80 81
82: 38(fvec3) Load 40(f3)
84: 83(ivec3) Bitcast 82
85: 61(ivec4) Load 63(udata)
86: 83(ivec3) VectorShuffle 85 85 0 1 2
87: 83(ivec3) IAdd 86 84
88: 67(ptr) AccessChain 63(udata) 18
89: 17(int) CompositeExtract 87 0
Store 88 89
90: 67(ptr) AccessChain 63(udata) 35
91: 17(int) CompositeExtract 87 1
Store 90 91
92: 67(ptr) AccessChain 63(udata) 51
93: 17(int) CompositeExtract 87 2
Store 92 93
94: 54(fvec4) Load 56(f4)
95: 61(ivec4) Bitcast 94
96: 61(ivec4) Load 63(udata)
97: 61(ivec4) IAdd 96 95
Store 63(udata) 97
Store 99(fdata) 101
104: 6(int) Load 103(i1)
105: 12(float) Bitcast 104
107: 106(ptr) AccessChain 99(fdata) 18
108: 12(float) Load 107
109: 12(float) FAdd 108 105
110: 106(ptr) AccessChain 99(fdata) 18
Store 110 109
113: 28(ivec2) Load 112(i2)
114: 24(fvec2) Bitcast 113
115: 54(fvec4) Load 99(fdata)
116: 24(fvec2) VectorShuffle 115 115 0 1
117: 24(fvec2) FAdd 116 114
118: 106(ptr) AccessChain 99(fdata) 18
119: 12(float) CompositeExtract 117 0
Store 118 119
120: 106(ptr) AccessChain 99(fdata) 35
121: 12(float) CompositeExtract 117 1
Store 120 121
124: 42(ivec3) Load 123(i3)
125: 38(fvec3) Bitcast 124
126: 54(fvec4) Load 99(fdata)
127: 38(fvec3) VectorShuffle 126 126 0 1 2
128: 38(fvec3) FAdd 127 125
129: 106(ptr) AccessChain 99(fdata) 18
130: 12(float) CompositeExtract 128 0
Store 129 130
131: 106(ptr) AccessChain 99(fdata) 35
132: 12(float) CompositeExtract 128 1
Store 131 132
133: 106(ptr) AccessChain 99(fdata) 51
134: 12(float) CompositeExtract 128 2
Store 133 134
137: 7(ivec4) Load 136(i4)
138: 54(fvec4) Bitcast 137
139: 54(fvec4) Load 99(fdata)
140: 54(fvec4) FAdd 139 138
Store 99(fdata) 140
143: 17(int) Load 142(u1)
144: 12(float) Bitcast 143
145: 106(ptr) AccessChain 99(fdata) 18
146: 12(float) Load 145
147: 12(float) FAdd 146 144
148: 106(ptr) AccessChain 99(fdata) 18
Store 148 147
151: 73(ivec2) Load 150(u2)
152: 24(fvec2) Bitcast 151
153: 54(fvec4) Load 99(fdata)
154: 24(fvec2) VectorShuffle 153 153 0 1
155: 24(fvec2) FAdd 154 152
156: 106(ptr) AccessChain 99(fdata) 18
157: 12(float) CompositeExtract 155 0
Store 156 157
158: 106(ptr) AccessChain 99(fdata) 35
159: 12(float) CompositeExtract 155 1
Store 158 159
162: 83(ivec3) Load 161(u3)
163: 38(fvec3) Bitcast 162
164: 54(fvec4) Load 99(fdata)
165: 38(fvec3) VectorShuffle 164 164 0 1 2
166: 38(fvec3) FAdd 165 163
167: 106(ptr) AccessChain 99(fdata) 18
168: 12(float) CompositeExtract 166 0
Store 167 168
169: 106(ptr) AccessChain 99(fdata) 35
170: 12(float) CompositeExtract 166 1
Store 169 170
171: 106(ptr) AccessChain 99(fdata) 51
172: 12(float) CompositeExtract 166 2
Store 171 172
175: 61(ivec4) Load 174(u4)
176: 54(fvec4) Bitcast 175
177: 54(fvec4) Load 99(fdata)
178: 54(fvec4) FAdd 177 176
Store 99(fdata) 178
Return
FunctionEnd

View File

@ -1,13 +1,13 @@
spv.320.meshShaderUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 140
// Id's are bound by 143
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 12 19 37 103
EntryPoint MeshNV 4 "main" 12 19 37 106
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
@ -27,11 +27,11 @@ spv.320.meshShaderUserDefined.mesh
MemberName 33(myblock) 4 "m"
MemberName 33(myblock) 5 "mArr"
Name 37 "blk"
Name 99 "myblock2"
MemberName 99(myblock2) 0 "f"
MemberName 99(myblock2) 1 "pos"
MemberName 99(myblock2) 2 "m"
Name 103 "blk2"
Name 102 "myblock2"
MemberName 102(myblock2) 0 "f"
MemberName 102(myblock2) 1 "pos"
MemberName 102(myblock2) 2 "m"
Name 106 "blk2"
Decorate 12(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 33(myblock) 0 PerPrimitiveNV
@ -42,9 +42,9 @@ spv.320.meshShaderUserDefined.mesh
MemberDecorate 33(myblock) 5 PerPrimitiveNV
Decorate 33(myblock) Block
Decorate 37(blk) Location 0
Decorate 99(myblock2) Block
Decorate 103(blk2) Location 20
Decorate 139 BuiltIn WorkgroupSize
Decorate 102(myblock2) Block
Decorate 106(blk2) Location 20
Decorate 142 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -82,31 +82,31 @@ spv.320.meshShaderUserDefined.mesh
57: 26(fvec3) ConstantComposite 54 55 56
58: TypePointer Output 26(fvec3)
64: 6(int) Constant 3
69: TypePointer Output 27(fvec4)
74: 6(int) Constant 4
76: 23(float) Constant 1098907648
77: 27(fvec4) ConstantComposite 56 54 55 76
82: 6(int) Constant 5
85: 9(int) Constant 3
88: 9(int) Constant 1
93: 23(float) Constant 1099431936
94: 23(float) Constant 1099956224
95: 23(float) Constant 1100480512
96: 26(fvec3) ConstantComposite 93 94 95
98: 9(int) Constant 264
99(myblock2): TypeStruct 23(float) 27(fvec4) 29
100: 9(int) Constant 81
101: TypeArray 99(myblock2) 100
102: TypePointer Output 101
103(blk2): 102(ptr) Variable Output
109: 23(float) Constant 1101004800
113: 23(float) Constant 1101529088
114: 23(float) Constant 1102053376
115: 23(float) Constant 1102577664
116: 23(float) Constant 1103101952
117: 27(fvec4) ConstantComposite 113 114 115 116
129: 23(float) Constant 1105723392
139: 10(ivec3) ConstantComposite 34 88 88
69: 9(int) Constant 1
74: 9(int) Constant 3
78: 6(int) Constant 4
80: 23(float) Constant 1098907648
81: 27(fvec4) ConstantComposite 56 54 55 80
82: TypePointer Output 27(fvec4)
87: 6(int) Constant 5
96: 23(float) Constant 1099431936
97: 23(float) Constant 1099956224
98: 23(float) Constant 1100480512
99: 26(fvec3) ConstantComposite 96 97 98
101: 9(int) Constant 264
102(myblock2): TypeStruct 23(float) 27(fvec4) 29
103: 9(int) Constant 81
104: TypeArray 102(myblock2) 103
105: TypePointer Output 104
106(blk2): 105(ptr) Variable Output
112: 23(float) Constant 1101004800
116: 23(float) Constant 1101529088
117: 23(float) Constant 1102053376
118: 23(float) Constant 1102577664
119: 23(float) Constant 1103101952
120: 27(fvec4) ConstantComposite 116 117 118 119
132: 23(float) Constant 1105723392
142: 10(ivec3) ConstantComposite 34 69 69
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
@ -142,64 +142,69 @@ spv.320.meshShaderUserDefined.mesh
66: 6(int) SDiv 65 52
67: 58(ptr) AccessChain 37(blk) 66 52
68: 26(fvec3) Load 67
70: 69(ptr) AccessChain 37(blk) 63 64 44
71: 27(fvec4) Load 70
72: 27(fvec4) VectorShuffle 71 68 0 4 5 6
Store 70 72
73: 6(int) Load 8(iid)
75: 6(int) SDiv 73 74
78: 69(ptr) AccessChain 37(blk) 75 74 52
79: 27(fvec4) Load 78
80: 27(fvec4) VectorShuffle 79 77 7 6 5 4
Store 78 80
81: 6(int) Load 8(iid)
83: 6(int) Load 8(iid)
84: 6(int) SDiv 83 74
86: 41(ptr) AccessChain 37(blk) 84 74 52 85
87: 23(float) Load 86
89: 41(ptr) AccessChain 37(blk) 81 82 39 44 88
Store 89 87
90: 6(int) Load 8(iid)
91: 6(int) IMul 90 74
92: 6(int) Load 18(gid)
97: 58(ptr) AccessChain 37(blk) 91 82 44 92
Store 97 96
MemoryBarrier 88 98
ControlBarrier 31 31 98
104: 6(int) Load 8(iid)
105: 6(int) Load 8(iid)
106: 6(int) ISub 105 44
107: 41(ptr) AccessChain 103(blk2) 106 39
108: 23(float) Load 107
110: 23(float) FAdd 108 109
111: 41(ptr) AccessChain 103(blk2) 104 39
Store 111 110
112: 6(int) Load 8(iid)
118: 69(ptr) AccessChain 103(blk2) 112 44
Store 118 117
119: 6(int) Load 8(iid)
120: 6(int) IAdd 119 44
121: 6(int) Load 18(gid)
70: 41(ptr) AccessChain 37(blk) 63 64 44 69
71: 23(float) CompositeExtract 68 0
Store 70 71
72: 41(ptr) AccessChain 37(blk) 63 64 44 31
73: 23(float) CompositeExtract 68 1
Store 72 73
75: 41(ptr) AccessChain 37(blk) 63 64 44 74
76: 23(float) CompositeExtract 68 2
Store 75 76
77: 6(int) Load 8(iid)
79: 6(int) SDiv 77 78
83: 82(ptr) AccessChain 37(blk) 79 78 52
84: 27(fvec4) Load 83
85: 27(fvec4) VectorShuffle 84 81 7 6 5 4
Store 83 85
86: 6(int) Load 8(iid)
88: 6(int) Load 8(iid)
89: 6(int) SDiv 88 78
90: 41(ptr) AccessChain 37(blk) 89 78 52 74
91: 23(float) Load 90
92: 41(ptr) AccessChain 37(blk) 86 87 39 44 69
Store 92 91
93: 6(int) Load 8(iid)
94: 6(int) IMul 93 78
95: 6(int) Load 18(gid)
100: 58(ptr) AccessChain 37(blk) 94 87 44 95
Store 100 99
MemoryBarrier 69 101
ControlBarrier 31 31 101
107: 6(int) Load 8(iid)
108: 6(int) Load 8(iid)
109: 6(int) ISub 108 44
110: 41(ptr) AccessChain 106(blk2) 109 39
111: 23(float) Load 110
113: 23(float) FAdd 111 112
114: 41(ptr) AccessChain 106(blk2) 107 39
Store 114 113
115: 6(int) Load 8(iid)
121: 82(ptr) AccessChain 106(blk2) 115 44
Store 121 120
122: 6(int) Load 8(iid)
123: 69(ptr) AccessChain 103(blk2) 122 44
124: 27(fvec4) Load 123
125: 69(ptr) AccessChain 103(blk2) 120 52 121
Store 125 124
126: 6(int) Load 8(iid)
127: 6(int) IAdd 126 44
128: 6(int) Load 18(gid)
130: 41(ptr) AccessChain 103(blk2) 127 52 128 31
Store 130 129
131: 6(int) Load 8(iid)
132: 6(int) IAdd 131 52
133: 6(int) Load 8(iid)
134: 6(int) IAdd 133 44
135: 6(int) Load 18(gid)
136: 69(ptr) AccessChain 103(blk2) 134 52 135
137: 27(fvec4) Load 136
138: 69(ptr) AccessChain 103(blk2) 132 52 64
Store 138 137
MemoryBarrier 88 98
ControlBarrier 31 31 98
123: 6(int) IAdd 122 44
124: 6(int) Load 18(gid)
125: 6(int) Load 8(iid)
126: 82(ptr) AccessChain 106(blk2) 125 44
127: 27(fvec4) Load 126
128: 82(ptr) AccessChain 106(blk2) 123 52 124
Store 128 127
129: 6(int) Load 8(iid)
130: 6(int) IAdd 129 44
131: 6(int) Load 18(gid)
133: 41(ptr) AccessChain 106(blk2) 130 52 131 31
Store 133 132
134: 6(int) Load 8(iid)
135: 6(int) IAdd 134 52
136: 6(int) Load 8(iid)
137: 6(int) IAdd 136 44
138: 6(int) Load 18(gid)
139: 82(ptr) AccessChain 106(blk2) 137 52 138
140: 27(fvec4) Load 139
141: 82(ptr) AccessChain 106(blk2) 135 52 64
Store 141 140
MemoryBarrier 69 101
ControlBarrier 31 31 101
Return
FunctionEnd

View File

@ -1,7 +1,7 @@
spv.400.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 1118
// Id's are bound by 1122
Capability Shader
Capability Geometry
@ -11,7 +11,7 @@ spv.400.frag
Capability SampledRect
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 13 1027 1033 1038 1050 1076 1097 1099 1105 1107 1116
EntryPoint Fragment 4 "main" 13 1027 1033 1038 1054 1080 1101 1103 1109 1111 1120
ExecutionMode 4 OriginUpperLeft
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
@ -42,16 +42,16 @@ spv.400.frag
Name 1027 "i"
Name 1033 "c2D"
Name 1038 "gl_ClipDistance"
Name 1050 "uoutp"
Name 1054 "samp2dr"
Name 1076 "ioutp"
Name 1080 "isamp2DA"
Name 1097 "gl_FragCoord"
Name 1099 "vl2"
Name 1105 "uo"
Name 1107 "u"
Name 1115 "id"
Name 1116 "gl_PrimitiveID"
Name 1054 "uoutp"
Name 1058 "samp2dr"
Name 1080 "ioutp"
Name 1084 "isamp2DA"
Name 1101 "gl_FragCoord"
Name 1103 "vl2"
Name 1109 "uo"
Name 1111 "u"
Name 1119 "id"
Name 1120 "gl_PrimitiveID"
Decorate 13(outp) Location 1
Decorate 17(u2drs) DescriptorSet 0
Decorate 17(u2drs) Binding 3
@ -61,19 +61,19 @@ spv.400.frag
Decorate 1027(i) Location 1
Decorate 1033(c2D) Location 0
Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance
Decorate 1050(uoutp) Location 3
Decorate 1054(samp2dr) DescriptorSet 0
Decorate 1054(samp2dr) Binding 1
Decorate 1076(ioutp) Location 2
Decorate 1080(isamp2DA) DescriptorSet 0
Decorate 1080(isamp2DA) Binding 2
Decorate 1097(gl_FragCoord) BuiltIn FragCoord
Decorate 1099(vl2) Location 6
Decorate 1105(uo) Location 0
Decorate 1107(u) Flat
Decorate 1107(u) Location 2
Decorate 1116(gl_PrimitiveID) Flat
Decorate 1116(gl_PrimitiveID) BuiltIn PrimitiveId
Decorate 1054(uoutp) Location 3
Decorate 1058(samp2dr) DescriptorSet 0
Decorate 1058(samp2dr) Binding 1
Decorate 1080(ioutp) Location 2
Decorate 1084(isamp2DA) DescriptorSet 0
Decorate 1084(isamp2DA) Binding 2
Decorate 1101(gl_FragCoord) BuiltIn FragCoord
Decorate 1103(vl2) Location 6
Decorate 1109(uo) Location 0
Decorate 1111(u) Flat
Decorate 1111(u) Location 2
Decorate 1120(gl_PrimitiveID) Flat
Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId
2: TypeVoid
3: TypeFunction 2
10: TypeFloat 32
@ -161,46 +161,46 @@ spv.400.frag
1038(gl_ClipDistance): 1037(ptr) Variable Input
1039: TypePointer Input 10(float)
1043: TypeVector 10(float) 3
1048: TypeVector 32(int) 4
1049: TypePointer Output 1048(ivec4)
1050(uoutp): 1049(ptr) Variable Output
1051: TypeImage 32(int) Rect sampled format:Unknown
1052: TypeSampledImage 1051
1053: TypePointer UniformConstant 1052
1054(samp2dr): 1053(ptr) Variable UniformConstant
1057: 32(int) Constant 4
1058: TypeArray 24(ivec2) 1057
1059: 24(ivec2) ConstantComposite 966 970
1060: 23(int) Constant 15
1061: 23(int) Constant 16
1062: 24(ivec2) ConstantComposite 1060 1061
1063: 23(int) Constant 4294967294
1064: 23(int) Constant 0
1065: 24(ivec2) ConstantComposite 1063 1064
1066: 1058 ConstantComposite 1059 27 1062 1065
1074: TypeVector 23(int) 4
1075: TypePointer Output 1074(ivec4)
1076(ioutp): 1075(ptr) Variable Output
1077: TypeImage 23(int) 2D array sampled format:Unknown
1078: TypeSampledImage 1077
1079: TypePointer UniformConstant 1078
1080(isamp2DA): 1079(ptr) Variable UniformConstant
1082: 10(float) Constant 1036831949
1083: 1043(fvec3) ConstantComposite 1082 1082 1082
1084: 24(ivec2) ConstantComposite 966 966
1096: TypePointer Input 11(fvec4)
1097(gl_FragCoord): 1096(ptr) Variable Input
1099(vl2): 1096(ptr) Variable Input
1104: TypePointer Output 32(int)
1105(uo): 1104(ptr) Variable Output
1106: TypePointer Input 32(int)
1107(u): 1106(ptr) Variable Input
1114: TypePointer Function 23(int)
1116(gl_PrimitiveID): 1026(ptr) Variable Input
1052: TypeVector 32(int) 4
1053: TypePointer Output 1052(ivec4)
1054(uoutp): 1053(ptr) Variable Output
1055: TypeImage 32(int) Rect sampled format:Unknown
1056: TypeSampledImage 1055
1057: TypePointer UniformConstant 1056
1058(samp2dr): 1057(ptr) Variable UniformConstant
1061: 32(int) Constant 4
1062: TypeArray 24(ivec2) 1061
1063: 24(ivec2) ConstantComposite 966 970
1064: 23(int) Constant 15
1065: 23(int) Constant 16
1066: 24(ivec2) ConstantComposite 1064 1065
1067: 23(int) Constant 4294967294
1068: 23(int) Constant 0
1069: 24(ivec2) ConstantComposite 1067 1068
1070: 1062 ConstantComposite 1063 27 1066 1069
1078: TypeVector 23(int) 4
1079: TypePointer Output 1078(ivec4)
1080(ioutp): 1079(ptr) Variable Output
1081: TypeImage 23(int) 2D array sampled format:Unknown
1082: TypeSampledImage 1081
1083: TypePointer UniformConstant 1082
1084(isamp2DA): 1083(ptr) Variable UniformConstant
1086: 10(float) Constant 1036831949
1087: 1043(fvec3) ConstantComposite 1086 1086 1086
1088: 24(ivec2) ConstantComposite 966 966
1100: TypePointer Input 11(fvec4)
1101(gl_FragCoord): 1100(ptr) Variable Input
1103(vl2): 1100(ptr) Variable Input
1108: TypePointer Output 32(int)
1109(uo): 1108(ptr) Variable Output
1110: TypePointer Input 32(int)
1111(u): 1110(ptr) Variable Input
1118: TypePointer Function 23(int)
1120(gl_PrimitiveID): 1026(ptr) Variable Input
4(main): 2 Function None 3
5: Label
1019(v): 1018(ptr) Variable Function
1115(id): 1114(ptr) Variable Function
1119(id): 1118(ptr) Variable Function
1028: 23(int) Load 1027(i)
1030: 1029(ptr) AccessChain 1025(arrayedSampler) 1028
1031: 1021 Load 1030
@ -213,50 +213,56 @@ spv.400.frag
Store 1042 1041
1044: 11(fvec4) Load 1019(v)
1045: 1043(fvec3) VectorShuffle 1044 1044 1 2 3
1046: 11(fvec4) Load 13(outp)
1047: 11(fvec4) VectorShuffle 1046 1045 0 4 5 6
Store 13(outp) 1047
1055: 1052 Load 1054(samp2dr)
1056: 20(fvec2) Load 1033(c2D)
1067: 1048(ivec4) ImageGather 1055 1056 970 ConstOffsets 1066
Store 1050(uoutp) 1067
1068: 1029(ptr) AccessChain 1025(arrayedSampler) 1064
1069: 1021 Load 1068
1070: 20(fvec2) Load 1033(c2D)
1071: 11(fvec4) ImageGather 1069 1070 1064
1072: 11(fvec4) Load 13(outp)
1073: 11(fvec4) FAdd 1072 1071
Store 13(outp) 1073
1081: 1078 Load 1080(isamp2DA)
1085: 1074(ivec4) ImageGather 1081 1083 25 ConstOffset 1084
Store 1076(ioutp) 1085
1086: 1078 Load 1080(isamp2DA)
1087: 1074(ivec4) ImageGather 1086 1083 25 ConstOffset 1084
1088: 1074(ivec4) Load 1076(ioutp)
1089: 1074(ivec4) IAdd 1088 1087
Store 1076(ioutp) 1089
1090: 1078 Load 1080(isamp2DA)
1091: 23(int) Load 1027(i)
1092: 24(ivec2) CompositeConstruct 1091 1091
1093: 1074(ivec4) ImageGather 1090 1083 1064 Offset 1092
1094: 1074(ivec4) Load 1076(ioutp)
1095: 1074(ivec4) IAdd 1094 1093
Store 1076(ioutp) 1095
1098: 11(fvec4) Load 1097(gl_FragCoord)
1100: 11(fvec4) Load 1099(vl2)
1101: 11(fvec4) FAdd 1098 1100
1102: 11(fvec4) Load 13(outp)
1103: 11(fvec4) FAdd 1102 1101
Store 13(outp) 1103
1108: 32(int) Load 1107(u)
1109: 23(int) Load 1027(i)
1110: 32(int) Bitcast 1109
1111: 32(int) UMod 1108 1110
Store 1105(uo) 1111
1112: 2 FunctionCall 6(foo23()
1113: 2 FunctionCall 8(doubles()
1117: 23(int) Load 1116(gl_PrimitiveID)
Store 1115(id) 1117
1046: 34(ptr) AccessChain 13(outp) 954
1047: 10(float) CompositeExtract 1045 0
Store 1046 1047
1048: 34(ptr) AccessChain 13(outp) 958
1049: 10(float) CompositeExtract 1045 1
Store 1048 1049
1050: 34(ptr) AccessChain 13(outp) 962
1051: 10(float) CompositeExtract 1045 2
Store 1050 1051
1059: 1056 Load 1058(samp2dr)
1060: 20(fvec2) Load 1033(c2D)
1071: 1052(ivec4) ImageGather 1059 1060 970 ConstOffsets 1070
Store 1054(uoutp) 1071
1072: 1029(ptr) AccessChain 1025(arrayedSampler) 1068
1073: 1021 Load 1072
1074: 20(fvec2) Load 1033(c2D)
1075: 11(fvec4) ImageGather 1073 1074 1068
1076: 11(fvec4) Load 13(outp)
1077: 11(fvec4) FAdd 1076 1075
Store 13(outp) 1077
1085: 1082 Load 1084(isamp2DA)
1089: 1078(ivec4) ImageGather 1085 1087 25 ConstOffset 1088
Store 1080(ioutp) 1089
1090: 1082 Load 1084(isamp2DA)
1091: 1078(ivec4) ImageGather 1090 1087 25 ConstOffset 1088
1092: 1078(ivec4) Load 1080(ioutp)
1093: 1078(ivec4) IAdd 1092 1091
Store 1080(ioutp) 1093
1094: 1082 Load 1084(isamp2DA)
1095: 23(int) Load 1027(i)
1096: 24(ivec2) CompositeConstruct 1095 1095
1097: 1078(ivec4) ImageGather 1094 1087 1068 Offset 1096
1098: 1078(ivec4) Load 1080(ioutp)
1099: 1078(ivec4) IAdd 1098 1097
Store 1080(ioutp) 1099
1102: 11(fvec4) Load 1101(gl_FragCoord)
1104: 11(fvec4) Load 1103(vl2)
1105: 11(fvec4) FAdd 1102 1104
1106: 11(fvec4) Load 13(outp)
1107: 11(fvec4) FAdd 1106 1105
Store 13(outp) 1107
1112: 32(int) Load 1111(u)
1113: 23(int) Load 1027(i)
1114: 32(int) Bitcast 1113
1115: 32(int) UMod 1112 1114
Store 1109(uo) 1115
1116: 2 FunctionCall 6(foo23()
1117: 2 FunctionCall 8(doubles()
1121: 23(int) Load 1120(gl_PrimitiveID)
Store 1119(id) 1121
Return
FunctionEnd
6(foo23(): 2 Function None 3

View File

@ -2,7 +2,7 @@ spv.400.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 1118
// Id's are bound by 1122
Capability Shader
Capability Geometry
@ -12,7 +12,7 @@ Validation failed
Capability SampledRect
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 13 1027 1033 1038 1050 1076 1097 1099 1105 1107 1116
EntryPoint Fragment 4 "main" 13 1027 1033 1038 1054 1080 1101 1103 1109 1111 1120
ExecutionMode 4 OriginUpperLeft
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
@ -43,16 +43,16 @@ Validation failed
Name 1027 "i"
Name 1033 "c2D"
Name 1038 "gl_ClipDistance"
Name 1050 "uoutp"
Name 1054 "samp2dr"
Name 1076 "ioutp"
Name 1080 "isamp2DA"
Name 1097 "gl_FragCoord"
Name 1099 "vl2"
Name 1105 "uo"
Name 1107 "u"
Name 1115 "id"
Name 1116 "gl_PrimitiveID"
Name 1054 "uoutp"
Name 1058 "samp2dr"
Name 1080 "ioutp"
Name 1084 "isamp2DA"
Name 1101 "gl_FragCoord"
Name 1103 "vl2"
Name 1109 "uo"
Name 1111 "u"
Name 1119 "id"
Name 1120 "gl_PrimitiveID"
Decorate 13(outp) Location 1
Decorate 17(u2drs) DescriptorSet 0
Decorate 17(u2drs) Binding 3
@ -62,19 +62,19 @@ Validation failed
Decorate 1027(i) Location 1
Decorate 1033(c2D) Location 0
Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance
Decorate 1050(uoutp) Location 3
Decorate 1054(samp2dr) DescriptorSet 0
Decorate 1054(samp2dr) Binding 1
Decorate 1076(ioutp) Location 2
Decorate 1080(isamp2DA) DescriptorSet 0
Decorate 1080(isamp2DA) Binding 2
Decorate 1097(gl_FragCoord) BuiltIn FragCoord
Decorate 1099(vl2) Location 6
Decorate 1105(uo) Location 0
Decorate 1107(u) Flat
Decorate 1107(u) Location 2
Decorate 1116(gl_PrimitiveID) Flat
Decorate 1116(gl_PrimitiveID) BuiltIn PrimitiveId
Decorate 1054(uoutp) Location 3
Decorate 1058(samp2dr) DescriptorSet 0
Decorate 1058(samp2dr) Binding 1
Decorate 1080(ioutp) Location 2
Decorate 1084(isamp2DA) DescriptorSet 0
Decorate 1084(isamp2DA) Binding 2
Decorate 1101(gl_FragCoord) BuiltIn FragCoord
Decorate 1103(vl2) Location 6
Decorate 1109(uo) Location 0
Decorate 1111(u) Flat
Decorate 1111(u) Location 2
Decorate 1120(gl_PrimitiveID) Flat
Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId
2: TypeVoid
3: TypeFunction 2
10: TypeFloat 32
@ -162,46 +162,46 @@ Validation failed
1038(gl_ClipDistance): 1037(ptr) Variable Input
1039: TypePointer Input 10(float)
1043: TypeVector 10(float) 3
1048: TypeVector 32(int) 4
1049: TypePointer Output 1048(ivec4)
1050(uoutp): 1049(ptr) Variable Output
1051: TypeImage 32(int) Rect sampled format:Unknown
1052: TypeSampledImage 1051
1053: TypePointer UniformConstant 1052
1054(samp2dr): 1053(ptr) Variable UniformConstant
1057: 32(int) Constant 4
1058: TypeArray 24(ivec2) 1057
1059: 24(ivec2) ConstantComposite 966 970
1060: 23(int) Constant 15
1061: 23(int) Constant 16
1062: 24(ivec2) ConstantComposite 1060 1061
1063: 23(int) Constant 4294967294
1064: 23(int) Constant 0
1065: 24(ivec2) ConstantComposite 1063 1064
1066: 1058 ConstantComposite 1059 27 1062 1065
1074: TypeVector 23(int) 4
1075: TypePointer Output 1074(ivec4)
1076(ioutp): 1075(ptr) Variable Output
1077: TypeImage 23(int) 2D array sampled format:Unknown
1078: TypeSampledImage 1077
1079: TypePointer UniformConstant 1078
1080(isamp2DA): 1079(ptr) Variable UniformConstant
1082: 10(float) Constant 1036831949
1083: 1043(fvec3) ConstantComposite 1082 1082 1082
1084: 24(ivec2) ConstantComposite 966 966
1096: TypePointer Input 11(fvec4)
1097(gl_FragCoord): 1096(ptr) Variable Input
1099(vl2): 1096(ptr) Variable Input
1104: TypePointer Output 32(int)
1105(uo): 1104(ptr) Variable Output
1106: TypePointer Input 32(int)
1107(u): 1106(ptr) Variable Input
1114: TypePointer Function 23(int)
1116(gl_PrimitiveID): 1026(ptr) Variable Input
1052: TypeVector 32(int) 4
1053: TypePointer Output 1052(ivec4)
1054(uoutp): 1053(ptr) Variable Output
1055: TypeImage 32(int) Rect sampled format:Unknown
1056: TypeSampledImage 1055
1057: TypePointer UniformConstant 1056
1058(samp2dr): 1057(ptr) Variable UniformConstant
1061: 32(int) Constant 4
1062: TypeArray 24(ivec2) 1061
1063: 24(ivec2) ConstantComposite 966 970
1064: 23(int) Constant 15
1065: 23(int) Constant 16
1066: 24(ivec2) ConstantComposite 1064 1065
1067: 23(int) Constant 4294967294
1068: 23(int) Constant 0
1069: 24(ivec2) ConstantComposite 1067 1068
1070: 1062 ConstantComposite 1063 27 1066 1069
1078: TypeVector 23(int) 4
1079: TypePointer Output 1078(ivec4)
1080(ioutp): 1079(ptr) Variable Output
1081: TypeImage 23(int) 2D array sampled format:Unknown
1082: TypeSampledImage 1081
1083: TypePointer UniformConstant 1082
1084(isamp2DA): 1083(ptr) Variable UniformConstant
1086: 10(float) Constant 1036831949
1087: 1043(fvec3) ConstantComposite 1086 1086 1086
1088: 24(ivec2) ConstantComposite 966 966
1100: TypePointer Input 11(fvec4)
1101(gl_FragCoord): 1100(ptr) Variable Input
1103(vl2): 1100(ptr) Variable Input
1108: TypePointer Output 32(int)
1109(uo): 1108(ptr) Variable Output
1110: TypePointer Input 32(int)
1111(u): 1110(ptr) Variable Input
1118: TypePointer Function 23(int)
1120(gl_PrimitiveID): 1026(ptr) Variable Input
4(main): 2 Function None 3
5: Label
1019(v): 1018(ptr) Variable Function
1115(id): 1114(ptr) Variable Function
1119(id): 1118(ptr) Variable Function
1028: 23(int) Load 1027(i)
1030: 1029(ptr) AccessChain 1025(arrayedSampler) 1028
1031: 1021 Load 1030
@ -214,50 +214,56 @@ Validation failed
Store 1042 1041
1044: 11(fvec4) Load 1019(v)
1045: 1043(fvec3) VectorShuffle 1044 1044 1 2 3
1046: 11(fvec4) Load 13(outp)
1047: 11(fvec4) VectorShuffle 1046 1045 0 4 5 6
Store 13(outp) 1047
1055: 1052 Load 1054(samp2dr)
1056: 20(fvec2) Load 1033(c2D)
1067: 1048(ivec4) ImageGather 1055 1056 970 ConstOffsets 1066
Store 1050(uoutp) 1067
1068: 1029(ptr) AccessChain 1025(arrayedSampler) 1064
1069: 1021 Load 1068
1070: 20(fvec2) Load 1033(c2D)
1071: 11(fvec4) ImageGather 1069 1070 1064
1072: 11(fvec4) Load 13(outp)
1073: 11(fvec4) FAdd 1072 1071
Store 13(outp) 1073
1081: 1078 Load 1080(isamp2DA)
1085: 1074(ivec4) ImageGather 1081 1083 25 ConstOffset 1084
Store 1076(ioutp) 1085
1086: 1078 Load 1080(isamp2DA)
1087: 1074(ivec4) ImageGather 1086 1083 25 ConstOffset 1084
1088: 1074(ivec4) Load 1076(ioutp)
1089: 1074(ivec4) IAdd 1088 1087
Store 1076(ioutp) 1089
1090: 1078 Load 1080(isamp2DA)
1091: 23(int) Load 1027(i)
1092: 24(ivec2) CompositeConstruct 1091 1091
1093: 1074(ivec4) ImageGather 1090 1083 1064 Offset 1092
1094: 1074(ivec4) Load 1076(ioutp)
1095: 1074(ivec4) IAdd 1094 1093
Store 1076(ioutp) 1095
1098: 11(fvec4) Load 1097(gl_FragCoord)
1100: 11(fvec4) Load 1099(vl2)
1101: 11(fvec4) FAdd 1098 1100
1102: 11(fvec4) Load 13(outp)
1103: 11(fvec4) FAdd 1102 1101
Store 13(outp) 1103
1108: 32(int) Load 1107(u)
1109: 23(int) Load 1027(i)
1110: 32(int) Bitcast 1109
1111: 32(int) UMod 1108 1110
Store 1105(uo) 1111
1112: 2 FunctionCall 6(foo23()
1113: 2 FunctionCall 8(doubles()
1117: 23(int) Load 1116(gl_PrimitiveID)
Store 1115(id) 1117
1046: 34(ptr) AccessChain 13(outp) 954
1047: 10(float) CompositeExtract 1045 0
Store 1046 1047
1048: 34(ptr) AccessChain 13(outp) 958
1049: 10(float) CompositeExtract 1045 1
Store 1048 1049
1050: 34(ptr) AccessChain 13(outp) 962
1051: 10(float) CompositeExtract 1045 2
Store 1050 1051
1059: 1056 Load 1058(samp2dr)
1060: 20(fvec2) Load 1033(c2D)
1071: 1052(ivec4) ImageGather 1059 1060 970 ConstOffsets 1070
Store 1054(uoutp) 1071
1072: 1029(ptr) AccessChain 1025(arrayedSampler) 1068
1073: 1021 Load 1072
1074: 20(fvec2) Load 1033(c2D)
1075: 11(fvec4) ImageGather 1073 1074 1068
1076: 11(fvec4) Load 13(outp)
1077: 11(fvec4) FAdd 1076 1075
Store 13(outp) 1077
1085: 1082 Load 1084(isamp2DA)
1089: 1078(ivec4) ImageGather 1085 1087 25 ConstOffset 1088
Store 1080(ioutp) 1089
1090: 1082 Load 1084(isamp2DA)
1091: 1078(ivec4) ImageGather 1090 1087 25 ConstOffset 1088
1092: 1078(ivec4) Load 1080(ioutp)
1093: 1078(ivec4) IAdd 1092 1091
Store 1080(ioutp) 1093
1094: 1082 Load 1084(isamp2DA)
1095: 23(int) Load 1027(i)
1096: 24(ivec2) CompositeConstruct 1095 1095
1097: 1078(ivec4) ImageGather 1094 1087 1068 Offset 1096
1098: 1078(ivec4) Load 1080(ioutp)
1099: 1078(ivec4) IAdd 1098 1097
Store 1080(ioutp) 1099
1102: 11(fvec4) Load 1101(gl_FragCoord)
1104: 11(fvec4) Load 1103(vl2)
1105: 11(fvec4) FAdd 1102 1104
1106: 11(fvec4) Load 13(outp)
1107: 11(fvec4) FAdd 1106 1105
Store 13(outp) 1107
1112: 32(int) Load 1111(u)
1113: 23(int) Load 1027(i)
1114: 32(int) Bitcast 1113
1115: 32(int) UMod 1112 1114
Store 1109(uo) 1115
1116: 2 FunctionCall 6(foo23()
1117: 2 FunctionCall 8(doubles()
1121: 23(int) Load 1120(gl_PrimitiveID)
Store 1119(id) 1121
Return
FunctionEnd
6(foo23(): 2 Function None 3

View File

@ -1,12 +1,12 @@
spv.Operations.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 583
// Id's are bound by 591
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 11 22 220 296 314 539 580
EntryPoint Fragment 4 "main" 11 22 220 296 314 547 588
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
@ -26,13 +26,13 @@ spv.Operations.frag
Name 324 "lsb"
Name 325 "swizzleTemp"
Name 326 "ResType"
Name 359 "b"
Name 396 "ub42"
Name 539 "FragColor"
Name 557 "m1"
Name 564 "m2"
Name 580 "uiv4"
Name 582 "ub"
Name 367 "b"
Name 404 "ub42"
Name 547 "FragColor"
Name 565 "m1"
Name 572 "m2"
Name 588 "uiv4"
Name 590 "ub"
Decorate 11(uv4) Location 1
Decorate 22(ui) Flat
Decorate 22(ui) Location 3
@ -41,9 +41,9 @@ spv.Operations.frag
Decorate 296(uui) Location 5
Decorate 314(uuv4) Flat
Decorate 314(uuv4) Location 4
Decorate 539(FragColor) Location 0
Decorate 580(uiv4) Flat
Decorate 580(uiv4) Location 0
Decorate 547(FragColor) Location 0
Decorate 588(uiv4) Flat
Decorate 588(uiv4) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -74,34 +74,34 @@ spv.Operations.frag
320: TypePointer Function 312(ivec4)
322: TypePointer Function 315(ivec3)
326(ResType): TypeStruct 315(ivec3) 315(ivec3)
338: 141(int) Constant 1
342: 141(int) Constant 2
358: TypePointer Function 186(bool)
396(ub42): 188(ptr) Variable Private
452: 18(int) Constant 2
459: 18(int) Constant 1
489: TypeVector 6(float) 3
508: 6(float) Constant 1073741824
515: 6(float) Constant 1065353216
520: 18(int) Constant 66
526: 18(int) Constant 17
538: TypePointer Output 7(fvec4)
539(FragColor): 538(ptr) Variable Output
555: TypeMatrix 7(fvec4) 4
556: TypePointer Function 555
558: 6(float) Constant 0
559: 7(fvec4) ConstantComposite 515 558 558 558
560: 7(fvec4) ConstantComposite 558 515 558 558
561: 7(fvec4) ConstantComposite 558 558 515 558
562: 7(fvec4) ConstantComposite 558 558 558 515
563: 555 ConstantComposite 559 560 561 562
565: 7(fvec4) ConstantComposite 558 558 558 558
566: 555 ConstantComposite 565 565 565 565
578: TypeVector 18(int) 4
579: TypePointer Input 578(ivec4)
580(uiv4): 579(ptr) Variable Input
581: TypePointer Private 186(bool)
582(ub): 581(ptr) Variable Private
333: 141(int) Constant 1
336: 141(int) Constant 2
366: TypePointer Function 186(bool)
404(ub42): 188(ptr) Variable Private
460: 18(int) Constant 2
467: 18(int) Constant 1
497: TypeVector 6(float) 3
516: 6(float) Constant 1073741824
523: 6(float) Constant 1065353216
528: 18(int) Constant 66
534: 18(int) Constant 17
546: TypePointer Output 7(fvec4)
547(FragColor): 546(ptr) Variable Output
563: TypeMatrix 7(fvec4) 4
564: TypePointer Function 563
566: 6(float) Constant 0
567: 7(fvec4) ConstantComposite 523 566 566 566
568: 7(fvec4) ConstantComposite 566 523 566 566
569: 7(fvec4) ConstantComposite 566 566 523 566
570: 7(fvec4) ConstantComposite 566 566 566 523
571: 563 ConstantComposite 567 568 569 570
573: 7(fvec4) ConstantComposite 566 566 566 566
574: 563 ConstantComposite 573 573 573 573
586: TypeVector 18(int) 4
587: TypePointer Input 586(ivec4)
588(uiv4): 587(ptr) Variable Input
589: TypePointer Private 186(bool)
590(ub): 589(ptr) Variable Private
4(main): 2 Function None 3
5: Label
9(v): 8(ptr) Variable Function
@ -113,11 +113,11 @@ spv.Operations.frag
323(swizzleTemp): 322(ptr) Variable Function
324(lsb): 320(ptr) Variable Function
325(swizzleTemp): 322(ptr) Variable Function
359(b): 358(ptr) Variable Function
541: 8(ptr) Variable Function
557(m1): 556(ptr) Variable Function
564(m2): 556(ptr) Variable Function
568: 556(ptr) Variable Function
367(b): 366(ptr) Variable Function
549: 8(ptr) Variable Function
565(m1): 564(ptr) Variable Function
572(m2): 564(ptr) Variable Function
576: 564(ptr) Variable Function
12: 7(fvec4) Load 11(uv4)
13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
Store 9(v) 13
@ -469,306 +469,318 @@ spv.Operations.frag
329: 315(ivec3) CompositeExtract 327 1
Store 323(swizzleTemp) 329
330: 315(ivec3) Load 323(swizzleTemp)
331: 312(ivec4) Load 321(msb)
332: 312(ivec4) VectorShuffle 331 330 4 5 6 3
Store 321(msb) 332
333: 315(ivec3) Load 325(swizzleTemp)
334: 312(ivec4) Load 324(lsb)
335: 312(ivec4) VectorShuffle 334 333 4 5 6 3
Store 324(lsb) 335
336: 292(ptr) AccessChain 321(msb) 142
337: 141(int) Load 336
339: 292(ptr) AccessChain 321(msb) 338
340: 141(int) Load 339
341: 141(int) IAdd 337 340
343: 292(ptr) AccessChain 321(msb) 342
344: 141(int) Load 343
345: 141(int) IAdd 341 344
346: 141(int) Load 293(u)
347: 141(int) IAdd 346 345
Store 293(u) 347
348: 292(ptr) AccessChain 324(lsb) 142
331: 292(ptr) AccessChain 321(msb) 142
332: 141(int) CompositeExtract 330 0
Store 331 332
334: 292(ptr) AccessChain 321(msb) 333
335: 141(int) CompositeExtract 330 1
Store 334 335
337: 292(ptr) AccessChain 321(msb) 336
338: 141(int) CompositeExtract 330 2
Store 337 338
339: 315(ivec3) Load 325(swizzleTemp)
340: 292(ptr) AccessChain 324(lsb) 142
341: 141(int) CompositeExtract 339 0
Store 340 341
342: 292(ptr) AccessChain 324(lsb) 333
343: 141(int) CompositeExtract 339 1
Store 342 343
344: 292(ptr) AccessChain 324(lsb) 336
345: 141(int) CompositeExtract 339 2
Store 344 345
346: 292(ptr) AccessChain 321(msb) 142
347: 141(int) Load 346
348: 292(ptr) AccessChain 321(msb) 333
349: 141(int) Load 348
350: 292(ptr) AccessChain 324(lsb) 338
351: 141(int) Load 350
352: 141(int) IAdd 349 351
353: 292(ptr) AccessChain 324(lsb) 342
354: 141(int) Load 353
355: 141(int) IAdd 352 354
356: 141(int) Load 293(u)
357: 141(int) IAdd 356 355
Store 293(u) 357
360: 6(float) Load 220(uf)
361: 186(bool) IsNan 360
Store 359(b) 361
362: 6(float) Load 196(f)
363: 186(bool) IsInf 362
Store 359(b) 363
364: 7(fvec4) Load 9(v)
365: 7(fvec4) Load 11(uv4)
366: 187(bvec4) FOrdLessThan 364 365
367: 186(bool) Any 366
Store 359(b) 367
368: 186(bool) Load 359(b)
SelectionMerge 370 None
BranchConditional 368 369 370
369: Label
371: 7(fvec4) Load 9(v)
372: 7(fvec4) Load 11(uv4)
373: 187(bvec4) FOrdLessThanEqual 371 372
374: 186(bool) Any 373
Branch 370
370: Label
375: 186(bool) Phi 368 5 374 369
Store 359(b) 375
376: 186(bool) Load 359(b)
350: 141(int) IAdd 347 349
351: 292(ptr) AccessChain 321(msb) 336
352: 141(int) Load 351
353: 141(int) IAdd 350 352
354: 141(int) Load 293(u)
355: 141(int) IAdd 354 353
Store 293(u) 355
356: 292(ptr) AccessChain 324(lsb) 142
357: 141(int) Load 356
358: 292(ptr) AccessChain 324(lsb) 333
359: 141(int) Load 358
360: 141(int) IAdd 357 359
361: 292(ptr) AccessChain 324(lsb) 336
362: 141(int) Load 361
363: 141(int) IAdd 360 362
364: 141(int) Load 293(u)
365: 141(int) IAdd 364 363
Store 293(u) 365
368: 6(float) Load 220(uf)
369: 186(bool) IsNan 368
Store 367(b) 369
370: 6(float) Load 196(f)
371: 186(bool) IsInf 370
Store 367(b) 371
372: 7(fvec4) Load 9(v)
373: 7(fvec4) Load 11(uv4)
374: 187(bvec4) FOrdLessThan 372 373
375: 186(bool) Any 374
Store 367(b) 375
376: 186(bool) Load 367(b)
SelectionMerge 378 None
BranchConditional 376 377 378
377: Label
379: 7(fvec4) Load 9(v)
380: 7(fvec4) Load 11(uv4)
381: 187(bvec4) FOrdGreaterThan 379 380
381: 187(bvec4) FOrdLessThanEqual 379 380
382: 186(bool) Any 381
Branch 378
378: Label
383: 186(bool) Phi 376 370 382 377
Store 359(b) 383
384: 186(bool) Load 359(b)
383: 186(bool) Phi 376 5 382 377
Store 367(b) 383
384: 186(bool) Load 367(b)
SelectionMerge 386 None
BranchConditional 384 385 386
385: Label
387: 7(fvec4) Load 9(v)
388: 7(fvec4) Load 11(uv4)
389: 187(bvec4) FOrdGreaterThanEqual 387 388
389: 187(bvec4) FOrdGreaterThan 387 388
390: 186(bool) Any 389
Branch 386
386: Label
391: 186(bool) Phi 384 378 390 385
Store 359(b) 391
392: 186(bool) Load 359(b)
Store 367(b) 391
392: 186(bool) Load 367(b)
SelectionMerge 394 None
BranchConditional 392 393 394
393: Label
395: 187(bvec4) Load 189(ub41)
397: 187(bvec4) Load 396(ub42)
398: 187(bvec4) LogicalEqual 395 397
399: 186(bool) Any 398
395: 7(fvec4) Load 9(v)
396: 7(fvec4) Load 11(uv4)
397: 187(bvec4) FOrdGreaterThanEqual 395 396
398: 186(bool) Any 397
Branch 394
394: Label
400: 186(bool) Phi 392 386 399 393
Store 359(b) 400
401: 186(bool) Load 359(b)
SelectionMerge 403 None
BranchConditional 401 402 403
402: Label
404: 187(bvec4) Load 189(ub41)
405: 187(bvec4) Load 396(ub42)
406: 187(bvec4) LogicalNotEqual 404 405
399: 186(bool) Phi 392 386 398 393
Store 367(b) 399
400: 186(bool) Load 367(b)
SelectionMerge 402 None
BranchConditional 400 401 402
401: Label
403: 187(bvec4) Load 189(ub41)
405: 187(bvec4) Load 404(ub42)
406: 187(bvec4) LogicalEqual 403 405
407: 186(bool) Any 406
Branch 403
403: Label
408: 186(bool) Phi 401 394 407 402
Store 359(b) 408
409: 186(bool) Load 359(b)
410: 187(bvec4) Load 189(ub41)
411: 186(bool) Any 410
412: 186(bool) LogicalAnd 409 411
Store 359(b) 412
413: 186(bool) Load 359(b)
414: 187(bvec4) Load 189(ub41)
415: 186(bool) All 414
416: 186(bool) LogicalAnd 413 415
Store 359(b) 416
417: 186(bool) Load 359(b)
SelectionMerge 419 None
BranchConditional 417 418 419
418: Label
420: 187(bvec4) Load 189(ub41)
421: 187(bvec4) LogicalNot 420
422: 186(bool) Any 421
Branch 419
419: Label
423: 186(bool) Phi 417 403 422 418
Store 359(b) 423
424: 18(int) Load 20(i)
425: 18(int) Load 22(ui)
426: 18(int) IAdd 424 425
427: 18(int) Load 20(i)
428: 18(int) IMul 426 427
429: 18(int) Load 22(ui)
430: 18(int) ISub 428 429
431: 18(int) Load 20(i)
432: 18(int) SDiv 430 431
Store 20(i) 432
433: 18(int) Load 20(i)
434: 18(int) Load 22(ui)
435: 18(int) SMod 433 434
Store 20(i) 435
436: 18(int) Load 20(i)
Branch 402
402: Label
408: 186(bool) Phi 400 394 407 401
Store 367(b) 408
409: 186(bool) Load 367(b)
SelectionMerge 411 None
BranchConditional 409 410 411
410: Label
412: 187(bvec4) Load 189(ub41)
413: 187(bvec4) Load 404(ub42)
414: 187(bvec4) LogicalNotEqual 412 413
415: 186(bool) Any 414
Branch 411
411: Label
416: 186(bool) Phi 409 402 415 410
Store 367(b) 416
417: 186(bool) Load 367(b)
418: 187(bvec4) Load 189(ub41)
419: 186(bool) Any 418
420: 186(bool) LogicalAnd 417 419
Store 367(b) 420
421: 186(bool) Load 367(b)
422: 187(bvec4) Load 189(ub41)
423: 186(bool) All 422
424: 186(bool) LogicalAnd 421 423
Store 367(b) 424
425: 186(bool) Load 367(b)
SelectionMerge 427 None
BranchConditional 425 426 427
426: Label
428: 187(bvec4) Load 189(ub41)
429: 187(bvec4) LogicalNot 428
430: 186(bool) Any 429
Branch 427
427: Label
431: 186(bool) Phi 425 411 430 426
Store 367(b) 431
432: 18(int) Load 20(i)
433: 18(int) Load 22(ui)
434: 18(int) IAdd 432 433
435: 18(int) Load 20(i)
436: 18(int) IMul 434 435
437: 18(int) Load 22(ui)
438: 186(bool) IEqual 436 437
439: 186(bool) LogicalNot 438
SelectionMerge 441 None
BranchConditional 439 440 441
440: Label
442: 18(int) Load 20(i)
443: 18(int) Load 22(ui)
444: 186(bool) INotEqual 442 443
SelectionMerge 446 None
BranchConditional 444 445 446
445: Label
447: 18(int) Load 20(i)
448: 18(int) Load 22(ui)
449: 186(bool) IEqual 447 448
Branch 446
446: Label
450: 186(bool) Phi 444 440 449 445
451: 18(int) Load 20(i)
453: 186(bool) INotEqual 451 452
454: 186(bool) LogicalNotEqual 450 453
Branch 441
441: Label
455: 186(bool) Phi 438 419 454 446
SelectionMerge 457 None
BranchConditional 455 456 457
456: Label
458: 18(int) Load 20(i)
460: 18(int) IAdd 458 459
Store 20(i) 460
Branch 457
457: Label
461: 6(float) Load 220(uf)
462: 6(float) Load 220(uf)
463: 6(float) FAdd 461 462
464: 6(float) Load 220(uf)
465: 6(float) FMul 463 464
466: 6(float) Load 220(uf)
467: 6(float) FSub 465 466
468: 6(float) Load 220(uf)
469: 6(float) FDiv 467 468
Store 196(f) 469
470: 7(fvec4) Load 9(v)
471: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 470
472: 6(float) Load 196(f)
473: 6(float) FAdd 472 471
Store 196(f) 473
474: 7(fvec4) Load 9(v)
475: 7(fvec4) Load 9(v)
476: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 474 475
477: 6(float) Load 196(f)
478: 6(float) FAdd 477 476
Store 196(f) 478
479: 7(fvec4) Load 9(v)
480: 7(fvec4) Load 9(v)
481: 6(float) Dot 479 480
482: 6(float) Load 196(f)
483: 6(float) FAdd 482 481
Store 196(f) 483
484: 6(float) Load 196(f)
485: 6(float) Load 220(uf)
486: 6(float) FMul 484 485
487: 6(float) Load 196(f)
488: 6(float) FAdd 487 486
Store 196(f) 488
490: 7(fvec4) Load 9(v)
491: 489(fvec3) VectorShuffle 490 490 0 1 2
492: 7(fvec4) Load 9(v)
493: 489(fvec3) VectorShuffle 492 492 0 1 2
494: 489(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 491 493
495: 6(float) CompositeExtract 494 0
496: 6(float) Load 196(f)
497: 6(float) FAdd 496 495
Store 196(f) 497
498: 6(float) Load 196(f)
499: 6(float) Load 220(uf)
500: 186(bool) FOrdEqual 498 499
501: 186(bool) LogicalNot 500
SelectionMerge 503 None
BranchConditional 501 502 503
502: Label
504: 6(float) Load 196(f)
505: 6(float) Load 220(uf)
506: 186(bool) FUnordNotEqual 504 505
507: 6(float) Load 196(f)
509: 186(bool) FUnordNotEqual 507 508
510: 186(bool) LogicalAnd 506 509
Branch 503
503: Label
511: 186(bool) Phi 500 457 510 502
SelectionMerge 513 None
BranchConditional 511 512 513
512: Label
514: 6(float) Load 196(f)
516: 6(float) FAdd 514 515
Store 196(f) 516
Branch 513
513: Label
517: 18(int) Load 22(ui)
518: 18(int) Load 20(i)
519: 18(int) BitwiseAnd 518 517
Store 20(i) 519
521: 18(int) Load 20(i)
522: 18(int) BitwiseOr 521 520
Store 20(i) 522
523: 18(int) Load 22(ui)
524: 18(int) Load 20(i)
525: 18(int) BitwiseXor 524 523
Store 20(i) 525
527: 18(int) Load 20(i)
528: 18(int) SMod 527 526
Store 20(i) 528
438: 18(int) ISub 436 437
439: 18(int) Load 20(i)
440: 18(int) SDiv 438 439
Store 20(i) 440
441: 18(int) Load 20(i)
442: 18(int) Load 22(ui)
443: 18(int) SMod 441 442
Store 20(i) 443
444: 18(int) Load 20(i)
445: 18(int) Load 22(ui)
446: 186(bool) IEqual 444 445
447: 186(bool) LogicalNot 446
SelectionMerge 449 None
BranchConditional 447 448 449
448: Label
450: 18(int) Load 20(i)
451: 18(int) Load 22(ui)
452: 186(bool) INotEqual 450 451
SelectionMerge 454 None
BranchConditional 452 453 454
453: Label
455: 18(int) Load 20(i)
456: 18(int) Load 22(ui)
457: 186(bool) IEqual 455 456
Branch 454
454: Label
458: 186(bool) Phi 452 448 457 453
459: 18(int) Load 20(i)
461: 186(bool) INotEqual 459 460
462: 186(bool) LogicalNotEqual 458 461
Branch 449
449: Label
463: 186(bool) Phi 446 427 462 454
SelectionMerge 465 None
BranchConditional 463 464 465
464: Label
466: 18(int) Load 20(i)
468: 18(int) IAdd 466 467
Store 20(i) 468
Branch 465
465: Label
469: 6(float) Load 220(uf)
470: 6(float) Load 220(uf)
471: 6(float) FAdd 469 470
472: 6(float) Load 220(uf)
473: 6(float) FMul 471 472
474: 6(float) Load 220(uf)
475: 6(float) FSub 473 474
476: 6(float) Load 220(uf)
477: 6(float) FDiv 475 476
Store 196(f) 477
478: 7(fvec4) Load 9(v)
479: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 478
480: 6(float) Load 196(f)
481: 6(float) FAdd 480 479
Store 196(f) 481
482: 7(fvec4) Load 9(v)
483: 7(fvec4) Load 9(v)
484: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 482 483
485: 6(float) Load 196(f)
486: 6(float) FAdd 485 484
Store 196(f) 486
487: 7(fvec4) Load 9(v)
488: 7(fvec4) Load 9(v)
489: 6(float) Dot 487 488
490: 6(float) Load 196(f)
491: 6(float) FAdd 490 489
Store 196(f) 491
492: 6(float) Load 196(f)
493: 6(float) Load 220(uf)
494: 6(float) FMul 492 493
495: 6(float) Load 196(f)
496: 6(float) FAdd 495 494
Store 196(f) 496
498: 7(fvec4) Load 9(v)
499: 497(fvec3) VectorShuffle 498 498 0 1 2
500: 7(fvec4) Load 9(v)
501: 497(fvec3) VectorShuffle 500 500 0 1 2
502: 497(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 499 501
503: 6(float) CompositeExtract 502 0
504: 6(float) Load 196(f)
505: 6(float) FAdd 504 503
Store 196(f) 505
506: 6(float) Load 196(f)
507: 6(float) Load 220(uf)
508: 186(bool) FOrdEqual 506 507
509: 186(bool) LogicalNot 508
SelectionMerge 511 None
BranchConditional 509 510 511
510: Label
512: 6(float) Load 196(f)
513: 6(float) Load 220(uf)
514: 186(bool) FUnordNotEqual 512 513
515: 6(float) Load 196(f)
517: 186(bool) FUnordNotEqual 515 516
518: 186(bool) LogicalAnd 514 517
Branch 511
511: Label
519: 186(bool) Phi 508 465 518 510
SelectionMerge 521 None
BranchConditional 519 520 521
520: Label
522: 6(float) Load 196(f)
524: 6(float) FAdd 522 523
Store 196(f) 524
Branch 521
521: Label
525: 18(int) Load 22(ui)
526: 18(int) Load 20(i)
527: 18(int) BitwiseAnd 526 525
Store 20(i) 527
529: 18(int) Load 20(i)
530: 18(int) ShiftRightArithmetic 529 452
530: 18(int) BitwiseOr 529 528
Store 20(i) 530
531: 18(int) Load 22(ui)
532: 18(int) Load 20(i)
533: 18(int) ShiftLeftLogical 532 531
533: 18(int) BitwiseXor 532 531
Store 20(i) 533
534: 18(int) Load 20(i)
535: 18(int) Not 534
Store 20(i) 535
536: 186(bool) Load 359(b)
537: 186(bool) LogicalNot 536
Store 359(b) 537
540: 186(bool) Load 359(b)
SelectionMerge 543 None
BranchConditional 540 542 552
542: Label
544: 18(int) Load 20(i)
545: 6(float) ConvertSToF 544
546: 7(fvec4) CompositeConstruct 545 545 545 545
547: 6(float) Load 196(f)
548: 7(fvec4) CompositeConstruct 547 547 547 547
549: 7(fvec4) FAdd 546 548
550: 7(fvec4) Load 9(v)
551: 7(fvec4) FAdd 549 550
Store 541 551
Branch 543
552: Label
553: 7(fvec4) Load 9(v)
Store 541 553
Branch 543
543: Label
554: 7(fvec4) Load 541
Store 539(FragColor) 554
Store 557(m1) 563
Store 564(m2) 566
567: 186(bool) Load 359(b)
SelectionMerge 570 None
BranchConditional 567 569 572
569: Label
571: 555 Load 557(m1)
Store 568 571
Branch 570
572: Label
573: 555 Load 564(m2)
Store 568 573
Branch 570
570: Label
574: 8(ptr) AccessChain 568 459
575: 7(fvec4) Load 574
576: 7(fvec4) Load 539(FragColor)
577: 7(fvec4) FAdd 576 575
Store 539(FragColor) 577
535: 18(int) Load 20(i)
536: 18(int) SMod 535 534
Store 20(i) 536
537: 18(int) Load 20(i)
538: 18(int) ShiftRightArithmetic 537 460
Store 20(i) 538
539: 18(int) Load 22(ui)
540: 18(int) Load 20(i)
541: 18(int) ShiftLeftLogical 540 539
Store 20(i) 541
542: 18(int) Load 20(i)
543: 18(int) Not 542
Store 20(i) 543
544: 186(bool) Load 367(b)
545: 186(bool) LogicalNot 544
Store 367(b) 545
548: 186(bool) Load 367(b)
SelectionMerge 551 None
BranchConditional 548 550 560
550: Label
552: 18(int) Load 20(i)
553: 6(float) ConvertSToF 552
554: 7(fvec4) CompositeConstruct 553 553 553 553
555: 6(float) Load 196(f)
556: 7(fvec4) CompositeConstruct 555 555 555 555
557: 7(fvec4) FAdd 554 556
558: 7(fvec4) Load 9(v)
559: 7(fvec4) FAdd 557 558
Store 549 559
Branch 551
560: Label
561: 7(fvec4) Load 9(v)
Store 549 561
Branch 551
551: Label
562: 7(fvec4) Load 549
Store 547(FragColor) 562
Store 565(m1) 571
Store 572(m2) 574
575: 186(bool) Load 367(b)
SelectionMerge 578 None
BranchConditional 575 577 580
577: Label
579: 563 Load 565(m1)
Store 576 579
Branch 578
580: Label
581: 563 Load 572(m2)
Store 576 581
Branch 578
578: Label
582: 8(ptr) AccessChain 576 467
583: 7(fvec4) Load 582
584: 7(fvec4) Load 547(FragColor)
585: 7(fvec4) FAdd 584 583
Store 547(FragColor) 585
Return
FunctionEnd

View File

@ -1,12 +1,12 @@
spv.accessChain.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 222
// Id's are bound by 228
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 69 170
EntryPoint Fragment 4 "main" 69 176
ExecutionMode 4 OriginUpperLeft
Source GLSL 420
Name 4 "main"
@ -54,24 +54,24 @@ spv.accessChain.frag
Name 64 "i"
Name 65 "comp"
Name 69 "OutColor"
Name 165 "s"
Name 170 "u"
Name 171 "param"
Name 175 "param"
Name 179 "param"
Name 183 "param"
Name 187 "param"
Name 191 "param"
Name 195 "param"
Name 199 "param"
Name 203 "param"
Name 207 "param"
Name 211 "param"
Name 215 "param"
Name 219 "param"
Name 171 "s"
Name 176 "u"
Name 177 "param"
Name 181 "param"
Name 185 "param"
Name 189 "param"
Name 193 "param"
Name 197 "param"
Name 201 "param"
Name 205 "param"
Name 209 "param"
Name 213 "param"
Name 217 "param"
Name 221 "param"
Name 225 "param"
Decorate 69(OutColor) Location 0
Decorate 170(u) Flat
Decorate 170(u) Location 0
Decorate 176(u) Flat
Decorate 176(u) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -87,89 +87,89 @@ spv.accessChain.frag
71: TypeInt 32 0
72: 71(int) Constant 0
99: TypeVector 6(float) 2
113: 71(int) Constant 2
140: TypePointer Output 6(float)
147: 71(int) Constant 1
148: TypeVector 71(int) 2
149: 148(ivec2) ConstantComposite 113 147
158: TypeVector 71(int) 3
159: 158(ivec3) ConstantComposite 113 147 72
162: 6(float) Constant 0
163: 7(fvec3) ConstantComposite 162 162 162
164: TypePointer Function 8(S)
169: TypePointer Input 13(int)
170(u): 169(ptr) Variable Input
111: TypePointer Output 6(float)
114: 71(int) Constant 1
117: 71(int) Constant 2
154: TypeVector 71(int) 2
155: 154(ivec2) ConstantComposite 117 114
164: TypeVector 71(int) 3
165: 164(ivec3) ConstantComposite 117 114 72
168: 6(float) Constant 0
169: 7(fvec3) ConstantComposite 168 168 168
170: TypePointer Function 8(S)
175: TypePointer Input 13(int)
176(u): 175(ptr) Variable Input
4(main): 2 Function None 3
5: Label
165(s): 164(ptr) Variable Function
171(param): 14(ptr) Variable Function
175(param): 14(ptr) Variable Function
179(param): 14(ptr) Variable Function
183(param): 14(ptr) Variable Function
187(param): 14(ptr) Variable Function
191(param): 14(ptr) Variable Function
195(param): 14(ptr) Variable Function
199(param): 14(ptr) Variable Function
203(param): 14(ptr) Variable Function
207(param): 14(ptr) Variable Function
211(param): 14(ptr) Variable Function
215(param): 14(ptr) Variable Function
219(param): 14(ptr) Variable Function
Store 69(OutColor) 163
166: 8(S) Load 165(s)
167: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 166
168: 8(S) Load 165(s)
172: 13(int) Load 170(u)
Store 171(param) 172
173: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 168 171(param)
174: 8(S) Load 165(s)
176: 13(int) Load 170(u)
Store 175(param) 176
177: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 174 175(param)
178: 8(S) Load 165(s)
180: 13(int) Load 170(u)
Store 179(param) 180
181: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 178 179(param)
182: 8(S) Load 165(s)
184: 13(int) Load 170(u)
Store 183(param) 184
185: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 182 183(param)
186: 8(S) Load 165(s)
188: 13(int) Load 170(u)
Store 187(param) 188
189: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 186 187(param)
190: 8(S) Load 165(s)
192: 13(int) Load 170(u)
Store 191(param) 192
193: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 190 191(param)
194: 8(S) Load 165(s)
196: 13(int) Load 170(u)
Store 195(param) 196
197: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 194 195(param)
198: 8(S) Load 165(s)
200: 13(int) Load 170(u)
Store 199(param) 200
201: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 198 199(param)
202: 8(S) Load 165(s)
204: 13(int) Load 170(u)
Store 203(param) 204
205: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 202 203(param)
206: 8(S) Load 165(s)
208: 13(int) Load 170(u)
Store 207(param) 208
209: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 206 207(param)
210: 8(S) Load 165(s)
212: 13(int) Load 170(u)
Store 211(param) 212
213: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 210 211(param)
214: 8(S) Load 165(s)
216: 13(int) Load 170(u)
Store 215(param) 216
217: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 214 215(param)
218: 8(S) Load 165(s)
220: 13(int) Load 170(u)
Store 219(param) 220
221: 2 FunctionCall 66(GetColor14(struct-S-vf31;i1;) 218 219(param)
171(s): 170(ptr) Variable Function
177(param): 14(ptr) Variable Function
181(param): 14(ptr) Variable Function
185(param): 14(ptr) Variable Function
189(param): 14(ptr) Variable Function
193(param): 14(ptr) Variable Function
197(param): 14(ptr) Variable Function
201(param): 14(ptr) Variable Function
205(param): 14(ptr) Variable Function
209(param): 14(ptr) Variable Function
213(param): 14(ptr) Variable Function
217(param): 14(ptr) Variable Function
221(param): 14(ptr) Variable Function
225(param): 14(ptr) Variable Function
Store 69(OutColor) 169
172: 8(S) Load 171(s)
173: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 172
174: 8(S) Load 171(s)
178: 13(int) Load 176(u)
Store 177(param) 178
179: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 174 177(param)
180: 8(S) Load 171(s)
182: 13(int) Load 176(u)
Store 181(param) 182
183: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 180 181(param)
184: 8(S) Load 171(s)
186: 13(int) Load 176(u)
Store 185(param) 186
187: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 184 185(param)
188: 8(S) Load 171(s)
190: 13(int) Load 176(u)
Store 189(param) 190
191: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 188 189(param)
192: 8(S) Load 171(s)
194: 13(int) Load 176(u)
Store 193(param) 194
195: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 192 193(param)
196: 8(S) Load 171(s)
198: 13(int) Load 176(u)
Store 197(param) 198
199: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 196 197(param)
200: 8(S) Load 171(s)
202: 13(int) Load 176(u)
Store 201(param) 202
203: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 200 201(param)
204: 8(S) Load 171(s)
206: 13(int) Load 176(u)
Store 205(param) 206
207: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 204 205(param)
208: 8(S) Load 171(s)
210: 13(int) Load 176(u)
Store 209(param) 210
211: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 208 209(param)
212: 8(S) Load 171(s)
214: 13(int) Load 176(u)
Store 213(param) 214
215: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 212 213(param)
216: 8(S) Load 171(s)
218: 13(int) Load 176(u)
Store 217(param) 218
219: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 216 217(param)
220: 8(S) Load 171(s)
222: 13(int) Load 176(u)
Store 221(param) 222
223: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 220 221(param)
224: 8(S) Load 171(s)
226: 13(int) Load 176(u)
Store 225(param) 226
227: 2 FunctionCall 66(GetColor14(struct-S-vf31;i1;) 224 225(param)
Return
FunctionEnd
11(GetColor1(struct-S-vf31;): 2 Function None 9
@ -254,99 +254,108 @@ spv.accessChain.frag
108: 7(fvec3) Load 69(OutColor)
109: 99(fvec2) VectorShuffle 108 108 0 1
110: 99(fvec2) FAdd 109 107
111: 7(fvec3) Load 69(OutColor)
112: 7(fvec3) VectorShuffle 111 110 3 4 2
Store 69(OutColor) 112
112: 111(ptr) AccessChain 69(OutColor) 72
113: 6(float) CompositeExtract 110 0
Store 112 113
115: 111(ptr) AccessChain 69(OutColor) 114
116: 6(float) CompositeExtract 110 1
Store 115 116
Return
FunctionEnd
42(GetColor8(struct-S-vf31;i1;): 2 Function None 15
40(i): 8(S) FunctionParameter
41(comp): 14(ptr) FunctionParameter
43: Label
114: 6(float) CompositeExtract 40(i) 0 2
115: 7(fvec3) Load 69(OutColor)
116: 7(fvec3) CompositeConstruct 114 114 114
117: 7(fvec3) FAdd 115 116
Store 69(OutColor) 117
118: 6(float) CompositeExtract 40(i) 0 2
119: 7(fvec3) Load 69(OutColor)
120: 7(fvec3) CompositeConstruct 118 118 118
121: 7(fvec3) FAdd 119 120
Store 69(OutColor) 121
Return
FunctionEnd
46(GetColor9(struct-S-vf31;i1;): 2 Function None 15
44(i): 8(S) FunctionParameter
45(comp): 14(ptr) FunctionParameter
47: Label
118: 7(fvec3) CompositeExtract 44(i) 0
119: 7(fvec3) Load 69(OutColor)
120: 7(fvec3) VectorShuffle 119 119 2 0 1
121: 7(fvec3) FAdd 120 118
122: 7(fvec3) Load 69(OutColor)
123: 7(fvec3) VectorShuffle 122 121 4 5 3
Store 69(OutColor) 123
122: 7(fvec3) CompositeExtract 44(i) 0
123: 7(fvec3) Load 69(OutColor)
124: 7(fvec3) VectorShuffle 123 123 2 0 1
125: 7(fvec3) FAdd 124 122
126: 7(fvec3) Load 69(OutColor)
127: 7(fvec3) VectorShuffle 126 125 4 5 3
Store 69(OutColor) 127
Return
FunctionEnd
50(GetColor10(struct-S-vf31;i1;): 2 Function None 15
48(i): 8(S) FunctionParameter
49(comp): 14(ptr) FunctionParameter
51: Label
124: 7(fvec3) CompositeExtract 48(i) 0
125: 99(fvec2) VectorShuffle 124 124 0 1
126: 7(fvec3) Load 69(OutColor)
127: 99(fvec2) VectorShuffle 126 126 2 1
128: 99(fvec2) FAdd 127 125
129: 7(fvec3) Load 69(OutColor)
130: 7(fvec3) VectorShuffle 129 128 0 4 3
Store 69(OutColor) 130
128: 7(fvec3) CompositeExtract 48(i) 0
129: 99(fvec2) VectorShuffle 128 128 0 1
130: 7(fvec3) Load 69(OutColor)
131: 99(fvec2) VectorShuffle 130 130 2 1
132: 99(fvec2) FAdd 131 129
133: 111(ptr) AccessChain 69(OutColor) 117
134: 6(float) CompositeExtract 132 0
Store 133 134
135: 111(ptr) AccessChain 69(OutColor) 114
136: 6(float) CompositeExtract 132 1
Store 135 136
Return
FunctionEnd
54(GetColor11(struct-S-vf31;i1;): 2 Function None 15
52(i): 8(S) FunctionParameter
53(comp): 14(ptr) FunctionParameter
55: Label
131: 7(fvec3) CompositeExtract 52(i) 0
132: 99(fvec2) VectorShuffle 131 131 0 1
133: 7(fvec3) Load 69(OutColor)
134: 99(fvec2) VectorShuffle 133 133 0 2
135: 99(fvec2) FAdd 134 132
136: 7(fvec3) Load 69(OutColor)
137: 7(fvec3) VectorShuffle 136 135 3 1 4
Store 69(OutColor) 137
137: 7(fvec3) CompositeExtract 52(i) 0
138: 99(fvec2) VectorShuffle 137 137 0 1
139: 7(fvec3) Load 69(OutColor)
140: 99(fvec2) VectorShuffle 139 139 0 2
141: 99(fvec2) FAdd 140 138
142: 111(ptr) AccessChain 69(OutColor) 72
143: 6(float) CompositeExtract 141 0
Store 142 143
144: 111(ptr) AccessChain 69(OutColor) 117
145: 6(float) CompositeExtract 141 1
Store 144 145
Return
FunctionEnd
58(GetColor12(struct-S-vf31;i1;): 2 Function None 15
56(i): 8(S) FunctionParameter
57(comp): 14(ptr) FunctionParameter
59: Label
138: 13(int) Load 57(comp)
139: 6(float) CompositeExtract 56(i) 0 0
141: 140(ptr) AccessChain 69(OutColor) 138
142: 6(float) Load 141
143: 6(float) FAdd 142 139
144: 140(ptr) AccessChain 69(OutColor) 138
Store 144 143
146: 13(int) Load 57(comp)
147: 6(float) CompositeExtract 56(i) 0 0
148: 111(ptr) AccessChain 69(OutColor) 146
149: 6(float) Load 148
150: 6(float) FAdd 149 147
151: 111(ptr) AccessChain 69(OutColor) 146
Store 151 150
Return
FunctionEnd
62(GetColor13(struct-S-vf31;i1;): 2 Function None 15
60(i): 8(S) FunctionParameter
61(comp): 14(ptr) FunctionParameter
63: Label
145: 13(int) Load 61(comp)
146: 6(float) CompositeExtract 60(i) 0 0
150: 71(int) VectorExtractDynamic 149 145
151: 140(ptr) AccessChain 69(OutColor) 150
152: 6(float) Load 151
153: 6(float) FAdd 152 146
154: 71(int) VectorExtractDynamic 149 145
155: 140(ptr) AccessChain 69(OutColor) 154
Store 155 153
152: 13(int) Load 61(comp)
153: 6(float) CompositeExtract 60(i) 0 0
156: 71(int) VectorExtractDynamic 155 152
157: 111(ptr) AccessChain 69(OutColor) 156
158: 6(float) Load 157
159: 6(float) FAdd 158 153
160: 71(int) VectorExtractDynamic 155 152
161: 111(ptr) AccessChain 69(OutColor) 160
Store 161 159
Return
FunctionEnd
66(GetColor14(struct-S-vf31;i1;): 2 Function None 15
64(i): 8(S) FunctionParameter
65(comp): 14(ptr) FunctionParameter
67: Label
156: 13(int) Load 65(comp)
157: 6(float) CompositeExtract 64(i) 0 0
160: 71(int) VectorExtractDynamic 159 156
161: 140(ptr) AccessChain 69(OutColor) 160
Store 161 157
162: 13(int) Load 65(comp)
163: 6(float) CompositeExtract 64(i) 0 0
166: 71(int) VectorExtractDynamic 165 162
167: 111(ptr) AccessChain 69(OutColor) 166
Store 167 163
Return
FunctionEnd

View File

@ -1,52 +1,52 @@
spv.bitCast.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 172
// Id's are bound by 198
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 14 26 37 48 89 98 107 116 122 130 139 148 154
EntryPoint Fragment 4 "main" 14 26 40 56 103 112 123 136 142 150 161 174 180
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "idata"
Name 14 "f1"
Name 26 "f2"
Name 37 "f3"
Name 48 "f4"
Name 55 "udata"
Name 85 "fdata"
Name 89 "i1"
Name 98 "i2"
Name 107 "i3"
Name 116 "i4"
Name 122 "u1"
Name 130 "u2"
Name 139 "u3"
Name 148 "u4"
Name 154 "fragColor"
Name 40 "f3"
Name 56 "f4"
Name 63 "udata"
Name 99 "fdata"
Name 103 "i1"
Name 112 "i2"
Name 123 "i3"
Name 136 "i4"
Name 142 "u1"
Name 150 "u2"
Name 161 "u3"
Name 174 "u4"
Name 180 "fragColor"
Decorate 14(f1) Location 8
Decorate 26(f2) Location 9
Decorate 37(f3) Location 10
Decorate 48(f4) Location 11
Decorate 89(i1) Flat
Decorate 89(i1) Location 0
Decorate 98(i2) Flat
Decorate 98(i2) Location 1
Decorate 107(i3) Flat
Decorate 107(i3) Location 2
Decorate 116(i4) Flat
Decorate 116(i4) Location 3
Decorate 122(u1) Flat
Decorate 122(u1) Location 4
Decorate 130(u2) Flat
Decorate 130(u2) Location 5
Decorate 139(u3) Flat
Decorate 139(u3) Location 6
Decorate 148(u4) Flat
Decorate 148(u4) Location 7
Decorate 154(fragColor) Location 0
Decorate 40(f3) Location 10
Decorate 56(f4) Location 11
Decorate 103(i1) Flat
Decorate 103(i1) Location 0
Decorate 112(i2) Flat
Decorate 112(i2) Location 1
Decorate 123(i3) Flat
Decorate 123(i3) Location 2
Decorate 136(i4) Flat
Decorate 136(i4) Location 3
Decorate 142(u1) Flat
Decorate 142(u1) Location 4
Decorate 150(u2) Flat
Decorate 150(u2) Location 5
Decorate 161(u3) Flat
Decorate 161(u3) Location 6
Decorate 174(u4) Flat
Decorate 174(u4) Location 7
Decorate 180(fragColor) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -64,51 +64,53 @@ spv.bitCast.frag
25: TypePointer Input 24(fvec2)
26(f2): 25(ptr) Variable Input
28: TypeVector 6(int) 2
35: TypeVector 12(float) 3
36: TypePointer Input 35(fvec3)
37(f3): 36(ptr) Variable Input
39: TypeVector 6(int) 3
46: TypeVector 12(float) 4
47: TypePointer Input 46(fvec4)
48(f4): 47(ptr) Variable Input
53: TypeVector 17(int) 4
54: TypePointer Function 53(ivec4)
56: 53(ivec4) ConstantComposite 18 18 18 18
59: TypePointer Function 17(int)
65: TypeVector 17(int) 2
73: TypeVector 17(int) 3
84: TypePointer Function 46(fvec4)
86: 12(float) Constant 0
87: 46(fvec4) ConstantComposite 86 86 86 86
88: TypePointer Input 6(int)
89(i1): 88(ptr) Variable Input
92: TypePointer Function 12(float)
97: TypePointer Input 28(ivec2)
98(i2): 97(ptr) Variable Input
106: TypePointer Input 39(ivec3)
107(i3): 106(ptr) Variable Input
115: TypePointer Input 7(ivec4)
116(i4): 115(ptr) Variable Input
121: TypePointer Input 17(int)
122(u1): 121(ptr) Variable Input
129: TypePointer Input 65(ivec2)
130(u2): 129(ptr) Variable Input
138: TypePointer Input 73(ivec3)
139(u3): 138(ptr) Variable Input
147: TypePointer Input 53(ivec4)
148(u4): 147(ptr) Variable Input
153: TypePointer Output 46(fvec4)
154(fragColor): 153(ptr) Variable Output
158: TypeBool
159: TypeVector 158(bool) 4
168: 12(float) Constant 1045220557
169: 46(fvec4) ConstantComposite 168 168 168 168
35: 17(int) Constant 1
38: TypeVector 12(float) 3
39: TypePointer Input 38(fvec3)
40(f3): 39(ptr) Variable Input
42: TypeVector 6(int) 3
51: 17(int) Constant 2
54: TypeVector 12(float) 4
55: TypePointer Input 54(fvec4)
56(f4): 55(ptr) Variable Input
61: TypeVector 17(int) 4
62: TypePointer Function 61(ivec4)
64: 61(ivec4) ConstantComposite 18 18 18 18
67: TypePointer Function 17(int)
73: TypeVector 17(int) 2
83: TypeVector 17(int) 3
98: TypePointer Function 54(fvec4)
100: 12(float) Constant 0
101: 54(fvec4) ConstantComposite 100 100 100 100
102: TypePointer Input 6(int)
103(i1): 102(ptr) Variable Input
106: TypePointer Function 12(float)
111: TypePointer Input 28(ivec2)
112(i2): 111(ptr) Variable Input
122: TypePointer Input 42(ivec3)
123(i3): 122(ptr) Variable Input
135: TypePointer Input 7(ivec4)
136(i4): 135(ptr) Variable Input
141: TypePointer Input 17(int)
142(u1): 141(ptr) Variable Input
149: TypePointer Input 73(ivec2)
150(u2): 149(ptr) Variable Input
160: TypePointer Input 83(ivec3)
161(u3): 160(ptr) Variable Input
173: TypePointer Input 61(ivec4)
174(u4): 173(ptr) Variable Input
179: TypePointer Output 54(fvec4)
180(fragColor): 179(ptr) Variable Output
184: TypeBool
185: TypeVector 184(bool) 4
194: 12(float) Constant 1045220557
195: 54(fvec4) ConstantComposite 194 194 194 194
4(main): 2 Function None 3
5: Label
9(idata): 8(ptr) Variable Function
55(udata): 54(ptr) Variable Function
85(fdata): 84(ptr) Variable Function
162: 84(ptr) Variable Function
63(udata): 62(ptr) Variable Function
99(fdata): 98(ptr) Variable Function
188: 98(ptr) Variable Function
Store 9(idata) 11
15: 12(float) Load 14(f1)
16: 6(int) Bitcast 15
@ -122,126 +124,162 @@ spv.bitCast.frag
30: 7(ivec4) Load 9(idata)
31: 28(ivec2) VectorShuffle 30 30 0 1
32: 28(ivec2) IAdd 31 29
33: 7(ivec4) Load 9(idata)
34: 7(ivec4) VectorShuffle 33 32 4 5 2 3
Store 9(idata) 34
38: 35(fvec3) Load 37(f3)
40: 39(ivec3) Bitcast 38
41: 7(ivec4) Load 9(idata)
42: 39(ivec3) VectorShuffle 41 41 0 1 2
43: 39(ivec3) IAdd 42 40
33: 19(ptr) AccessChain 9(idata) 18
34: 6(int) CompositeExtract 32 0
Store 33 34
36: 19(ptr) AccessChain 9(idata) 35
37: 6(int) CompositeExtract 32 1
Store 36 37
41: 38(fvec3) Load 40(f3)
43: 42(ivec3) Bitcast 41
44: 7(ivec4) Load 9(idata)
45: 7(ivec4) VectorShuffle 44 43 4 5 6 3
Store 9(idata) 45
49: 46(fvec4) Load 48(f4)
50: 7(ivec4) Bitcast 49
51: 7(ivec4) Load 9(idata)
52: 7(ivec4) IAdd 51 50
Store 9(idata) 52
Store 55(udata) 56
57: 12(float) Load 14(f1)
58: 17(int) Bitcast 57
60: 59(ptr) AccessChain 55(udata) 18
61: 17(int) Load 60
62: 17(int) IAdd 61 58
63: 59(ptr) AccessChain 55(udata) 18
Store 63 62
64: 24(fvec2) Load 26(f2)
66: 65(ivec2) Bitcast 64
67: 53(ivec4) Load 55(udata)
68: 65(ivec2) VectorShuffle 67 67 0 1
69: 65(ivec2) IAdd 68 66
70: 53(ivec4) Load 55(udata)
71: 53(ivec4) VectorShuffle 70 69 4 5 2 3
Store 55(udata) 71
72: 35(fvec3) Load 37(f3)
74: 73(ivec3) Bitcast 72
75: 53(ivec4) Load 55(udata)
76: 73(ivec3) VectorShuffle 75 75 0 1 2
77: 73(ivec3) IAdd 76 74
78: 53(ivec4) Load 55(udata)
79: 53(ivec4) VectorShuffle 78 77 4 5 6 3
Store 55(udata) 79
80: 46(fvec4) Load 48(f4)
81: 53(ivec4) Bitcast 80
82: 53(ivec4) Load 55(udata)
83: 53(ivec4) IAdd 82 81
Store 55(udata) 83
Store 85(fdata) 87
90: 6(int) Load 89(i1)
91: 12(float) Bitcast 90
93: 92(ptr) AccessChain 85(fdata) 18
94: 12(float) Load 93
95: 12(float) FAdd 94 91
96: 92(ptr) AccessChain 85(fdata) 18
Store 96 95
99: 28(ivec2) Load 98(i2)
100: 24(fvec2) Bitcast 99
101: 46(fvec4) Load 85(fdata)
102: 24(fvec2) VectorShuffle 101 101 0 1
103: 24(fvec2) FAdd 102 100
104: 46(fvec4) Load 85(fdata)
105: 46(fvec4) VectorShuffle 104 103 4 5 2 3
Store 85(fdata) 105
108: 39(ivec3) Load 107(i3)
109: 35(fvec3) Bitcast 108
110: 46(fvec4) Load 85(fdata)
111: 35(fvec3) VectorShuffle 110 110 0 1 2
112: 35(fvec3) FAdd 111 109
113: 46(fvec4) Load 85(fdata)
114: 46(fvec4) VectorShuffle 113 112 4 5 6 3
Store 85(fdata) 114
117: 7(ivec4) Load 116(i4)
118: 46(fvec4) Bitcast 117
119: 46(fvec4) Load 85(fdata)
120: 46(fvec4) FAdd 119 118
Store 85(fdata) 120
123: 17(int) Load 122(u1)
124: 12(float) Bitcast 123
125: 92(ptr) AccessChain 85(fdata) 18
126: 12(float) Load 125
127: 12(float) FAdd 126 124
128: 92(ptr) AccessChain 85(fdata) 18
Store 128 127
131: 65(ivec2) Load 130(u2)
132: 24(fvec2) Bitcast 131
133: 46(fvec4) Load 85(fdata)
134: 24(fvec2) VectorShuffle 133 133 0 1
135: 24(fvec2) FAdd 134 132
136: 46(fvec4) Load 85(fdata)
137: 46(fvec4) VectorShuffle 136 135 4 5 2 3
Store 85(fdata) 137
140: 73(ivec3) Load 139(u3)
141: 35(fvec3) Bitcast 140
142: 46(fvec4) Load 85(fdata)
143: 35(fvec3) VectorShuffle 142 142 0 1 2
144: 35(fvec3) FAdd 143 141
145: 46(fvec4) Load 85(fdata)
146: 46(fvec4) VectorShuffle 145 144 4 5 6 3
Store 85(fdata) 146
149: 53(ivec4) Load 148(u4)
150: 46(fvec4) Bitcast 149
151: 46(fvec4) Load 85(fdata)
152: 46(fvec4) FAdd 151 150
Store 85(fdata) 152
155: 7(ivec4) Load 9(idata)
156: 53(ivec4) Bitcast 155
157: 53(ivec4) Load 55(udata)
160: 159(bvec4) IEqual 156 157
161: 158(bool) All 160
SelectionMerge 164 None
BranchConditional 161 163 166
163: Label
165: 46(fvec4) Load 85(fdata)
Store 162 165
Branch 164
166: Label
167: 46(fvec4) Load 85(fdata)
170: 46(fvec4) FAdd 167 169
Store 162 170
Branch 164
164: Label
171: 46(fvec4) Load 162
Store 154(fragColor) 171
45: 42(ivec3) VectorShuffle 44 44 0 1 2
46: 42(ivec3) IAdd 45 43
47: 19(ptr) AccessChain 9(idata) 18
48: 6(int) CompositeExtract 46 0
Store 47 48
49: 19(ptr) AccessChain 9(idata) 35
50: 6(int) CompositeExtract 46 1
Store 49 50
52: 19(ptr) AccessChain 9(idata) 51
53: 6(int) CompositeExtract 46 2
Store 52 53
57: 54(fvec4) Load 56(f4)
58: 7(ivec4) Bitcast 57
59: 7(ivec4) Load 9(idata)
60: 7(ivec4) IAdd 59 58
Store 9(idata) 60
Store 63(udata) 64
65: 12(float) Load 14(f1)
66: 17(int) Bitcast 65
68: 67(ptr) AccessChain 63(udata) 18
69: 17(int) Load 68
70: 17(int) IAdd 69 66
71: 67(ptr) AccessChain 63(udata) 18
Store 71 70
72: 24(fvec2) Load 26(f2)
74: 73(ivec2) Bitcast 72
75: 61(ivec4) Load 63(udata)
76: 73(ivec2) VectorShuffle 75 75 0 1
77: 73(ivec2) IAdd 76 74
78: 67(ptr) AccessChain 63(udata) 18
79: 17(int) CompositeExtract 77 0
Store 78 79
80: 67(ptr) AccessChain 63(udata) 35
81: 17(int) CompositeExtract 77 1
Store 80 81
82: 38(fvec3) Load 40(f3)
84: 83(ivec3) Bitcast 82
85: 61(ivec4) Load 63(udata)
86: 83(ivec3) VectorShuffle 85 85 0 1 2
87: 83(ivec3) IAdd 86 84
88: 67(ptr) AccessChain 63(udata) 18
89: 17(int) CompositeExtract 87 0
Store 88 89
90: 67(ptr) AccessChain 63(udata) 35
91: 17(int) CompositeExtract 87 1
Store 90 91
92: 67(ptr) AccessChain 63(udata) 51
93: 17(int) CompositeExtract 87 2
Store 92 93
94: 54(fvec4) Load 56(f4)
95: 61(ivec4) Bitcast 94
96: 61(ivec4) Load 63(udata)
97: 61(ivec4) IAdd 96 95
Store 63(udata) 97
Store 99(fdata) 101
104: 6(int) Load 103(i1)
105: 12(float) Bitcast 104
107: 106(ptr) AccessChain 99(fdata) 18
108: 12(float) Load 107
109: 12(float) FAdd 108 105
110: 106(ptr) AccessChain 99(fdata) 18
Store 110 109
113: 28(ivec2) Load 112(i2)
114: 24(fvec2) Bitcast 113
115: 54(fvec4) Load 99(fdata)
116: 24(fvec2) VectorShuffle 115 115 0 1
117: 24(fvec2) FAdd 116 114
118: 106(ptr) AccessChain 99(fdata) 18
119: 12(float) CompositeExtract 117 0
Store 118 119
120: 106(ptr) AccessChain 99(fdata) 35
121: 12(float) CompositeExtract 117 1
Store 120 121
124: 42(ivec3) Load 123(i3)
125: 38(fvec3) Bitcast 124
126: 54(fvec4) Load 99(fdata)
127: 38(fvec3) VectorShuffle 126 126 0 1 2
128: 38(fvec3) FAdd 127 125
129: 106(ptr) AccessChain 99(fdata) 18
130: 12(float) CompositeExtract 128 0
Store 129 130
131: 106(ptr) AccessChain 99(fdata) 35
132: 12(float) CompositeExtract 128 1
Store 131 132
133: 106(ptr) AccessChain 99(fdata) 51
134: 12(float) CompositeExtract 128 2
Store 133 134
137: 7(ivec4) Load 136(i4)
138: 54(fvec4) Bitcast 137
139: 54(fvec4) Load 99(fdata)
140: 54(fvec4) FAdd 139 138
Store 99(fdata) 140
143: 17(int) Load 142(u1)
144: 12(float) Bitcast 143
145: 106(ptr) AccessChain 99(fdata) 18
146: 12(float) Load 145
147: 12(float) FAdd 146 144
148: 106(ptr) AccessChain 99(fdata) 18
Store 148 147
151: 73(ivec2) Load 150(u2)
152: 24(fvec2) Bitcast 151
153: 54(fvec4) Load 99(fdata)
154: 24(fvec2) VectorShuffle 153 153 0 1
155: 24(fvec2) FAdd 154 152
156: 106(ptr) AccessChain 99(fdata) 18
157: 12(float) CompositeExtract 155 0
Store 156 157
158: 106(ptr) AccessChain 99(fdata) 35
159: 12(float) CompositeExtract 155 1
Store 158 159
162: 83(ivec3) Load 161(u3)
163: 38(fvec3) Bitcast 162
164: 54(fvec4) Load 99(fdata)
165: 38(fvec3) VectorShuffle 164 164 0 1 2
166: 38(fvec3) FAdd 165 163
167: 106(ptr) AccessChain 99(fdata) 18
168: 12(float) CompositeExtract 166 0
Store 167 168
169: 106(ptr) AccessChain 99(fdata) 35
170: 12(float) CompositeExtract 166 1
Store 169 170
171: 106(ptr) AccessChain 99(fdata) 51
172: 12(float) CompositeExtract 166 2
Store 171 172
175: 61(ivec4) Load 174(u4)
176: 54(fvec4) Bitcast 175
177: 54(fvec4) Load 99(fdata)
178: 54(fvec4) FAdd 177 176
Store 99(fdata) 178
181: 7(ivec4) Load 9(idata)
182: 61(ivec4) Bitcast 181
183: 61(ivec4) Load 63(udata)
186: 185(bvec4) IEqual 182 183
187: 184(bool) All 186
SelectionMerge 190 None
BranchConditional 187 189 192
189: Label
191: 54(fvec4) Load 99(fdata)
Store 188 191
Branch 190
192: Label
193: 54(fvec4) Load 99(fdata)
196: 54(fvec4) FAdd 193 195
Store 188 196
Branch 190
190: Label
197: 54(fvec4) Load 188
Store 180(fragColor) 197
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ spv.float16.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 534
// Id's are bound by 542
Capability Shader
Capability Float16
@ -80,87 +80,87 @@ Validation failed
Name 445 "f16v2"
Name 463 "f16v"
Name 465 "if16v"
Name 514 "S"
MemberName 514(S) 0 "x"
MemberName 514(S) 1 "y"
MemberName 514(S) 2 "z"
Name 516 "B1"
MemberName 516(B1) 0 "a"
MemberName 516(B1) 1 "b"
MemberName 516(B1) 2 "c"
MemberName 516(B1) 3 "d"
MemberName 516(B1) 4 "e"
MemberName 516(B1) 5 "f"
MemberName 516(B1) 6 "g"
MemberName 516(B1) 7 "h"
Name 518 ""
Name 521 "S"
MemberName 521(S) 0 "x"
MemberName 521(S) 1 "y"
MemberName 521(S) 2 "z"
Name 523 "B2"
MemberName 523(B2) 0 "o"
MemberName 523(B2) 1 "p"
MemberName 523(B2) 2 "q"
MemberName 523(B2) 3 "r"
MemberName 523(B2) 4 "s"
MemberName 523(B2) 5 "t"
MemberName 523(B2) 6 "u"
MemberName 523(B2) 7 "v"
Name 525 ""
Name 526 "sf16"
Name 527 "sf"
Name 528 "sd"
Name 529 "f16_to_f"
Name 531 "f16_to_d"
Name 532 "f_to_f16"
Name 533 "d_to_f16"
Name 522 "S"
MemberName 522(S) 0 "x"
MemberName 522(S) 1 "y"
MemberName 522(S) 2 "z"
Name 524 "B1"
MemberName 524(B1) 0 "a"
MemberName 524(B1) 1 "b"
MemberName 524(B1) 2 "c"
MemberName 524(B1) 3 "d"
MemberName 524(B1) 4 "e"
MemberName 524(B1) 5 "f"
MemberName 524(B1) 6 "g"
MemberName 524(B1) 7 "h"
Name 526 ""
Name 529 "S"
MemberName 529(S) 0 "x"
MemberName 529(S) 1 "y"
MemberName 529(S) 2 "z"
Name 531 "B2"
MemberName 531(B2) 0 "o"
MemberName 531(B2) 1 "p"
MemberName 531(B2) 2 "q"
MemberName 531(B2) 3 "r"
MemberName 531(B2) 4 "s"
MemberName 531(B2) 5 "t"
MemberName 531(B2) 6 "u"
MemberName 531(B2) 7 "v"
Name 533 ""
Name 534 "sf16"
Name 535 "sf"
Name 536 "sd"
Name 537 "f16_to_f"
Name 539 "f16_to_d"
Name 540 "f_to_f16"
Name 541 "d_to_f16"
Decorate 465(if16v) Location 0
Decorate 512 ArrayStride 16
Decorate 513 ArrayStride 32
MemberDecorate 514(S) 0 Offset 0
MemberDecorate 514(S) 1 Offset 4
MemberDecorate 514(S) 2 Offset 8
Decorate 515 ArrayStride 16
MemberDecorate 516(B1) 0 Offset 0
MemberDecorate 516(B1) 1 Offset 4
MemberDecorate 516(B1) 2 Offset 8
MemberDecorate 516(B1) 3 Offset 16
MemberDecorate 516(B1) 4 ColMajor
MemberDecorate 516(B1) 4 Offset 48
MemberDecorate 516(B1) 4 MatrixStride 16
MemberDecorate 516(B1) 5 ColMajor
MemberDecorate 516(B1) 5 Offset 80
MemberDecorate 516(B1) 5 MatrixStride 16
MemberDecorate 516(B1) 6 Offset 144
MemberDecorate 516(B1) 7 Offset 160
Decorate 516(B1) Block
Decorate 518 DescriptorSet 0
Decorate 518 Binding 0
Decorate 519 ArrayStride 2
Decorate 520 ArrayStride 12
MemberDecorate 521(S) 0 Offset 0
MemberDecorate 521(S) 1 Offset 4
MemberDecorate 521(S) 2 Offset 8
Decorate 522 ArrayStride 16
MemberDecorate 523(B2) 0 Offset 0
MemberDecorate 523(B2) 1 Offset 4
MemberDecorate 523(B2) 2 Offset 8
MemberDecorate 523(B2) 3 Offset 14
MemberDecorate 523(B2) 4 RowMajor
MemberDecorate 523(B2) 4 Offset 20
MemberDecorate 523(B2) 4 MatrixStride 4
MemberDecorate 523(B2) 5 RowMajor
MemberDecorate 523(B2) 5 Offset 32
MemberDecorate 523(B2) 5 MatrixStride 4
MemberDecorate 523(B2) 6 Offset 56
MemberDecorate 523(B2) 7 Offset 72
Decorate 523(B2) BufferBlock
Decorate 525 DescriptorSet 0
Decorate 525 Binding 0
Decorate 526(sf16) SpecId 100
Decorate 527(sf) SpecId 101
Decorate 528(sd) SpecId 102
Decorate 520 ArrayStride 16
Decorate 521 ArrayStride 32
MemberDecorate 522(S) 0 Offset 0
MemberDecorate 522(S) 1 Offset 4
MemberDecorate 522(S) 2 Offset 8
Decorate 523 ArrayStride 16
MemberDecorate 524(B1) 0 Offset 0
MemberDecorate 524(B1) 1 Offset 4
MemberDecorate 524(B1) 2 Offset 8
MemberDecorate 524(B1) 3 Offset 16
MemberDecorate 524(B1) 4 ColMajor
MemberDecorate 524(B1) 4 Offset 48
MemberDecorate 524(B1) 4 MatrixStride 16
MemberDecorate 524(B1) 5 ColMajor
MemberDecorate 524(B1) 5 Offset 80
MemberDecorate 524(B1) 5 MatrixStride 16
MemberDecorate 524(B1) 6 Offset 144
MemberDecorate 524(B1) 7 Offset 160
Decorate 524(B1) Block
Decorate 526 DescriptorSet 0
Decorate 526 Binding 0
Decorate 527 ArrayStride 2
Decorate 528 ArrayStride 12
MemberDecorate 529(S) 0 Offset 0
MemberDecorate 529(S) 1 Offset 4
MemberDecorate 529(S) 2 Offset 8
Decorate 530 ArrayStride 16
MemberDecorate 531(B2) 0 Offset 0
MemberDecorate 531(B2) 1 Offset 4
MemberDecorate 531(B2) 2 Offset 8
MemberDecorate 531(B2) 3 Offset 14
MemberDecorate 531(B2) 4 RowMajor
MemberDecorate 531(B2) 4 Offset 20
MemberDecorate 531(B2) 4 MatrixStride 4
MemberDecorate 531(B2) 5 RowMajor
MemberDecorate 531(B2) 5 Offset 32
MemberDecorate 531(B2) 5 MatrixStride 4
MemberDecorate 531(B2) 6 Offset 56
MemberDecorate 531(B2) 7 Offset 72
Decorate 531(B2) BufferBlock
Decorate 533 DescriptorSet 0
Decorate 533 Binding 0
Decorate 534(sf16) SpecId 100
Decorate 535(sf) SpecId 101
Decorate 536(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
28: TypeFloat 16
@ -218,32 +218,32 @@ Validation failed
464: TypePointer Input 151(f16vec3)
465(if16v): 464(ptr) Variable Input
466: TypePointer Input 28(float16_t)
503: 183(int) Constant 1
508:28(float16_t) Constant 14336
509: 29(f16vec2) ConstantComposite 508 508
511: 33(int) Constant 2
512: TypeArray 28(float16_t) 511
513: TypeArray 406 511
514(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
515: TypeArray 514(S) 511
516(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 512 406 513 514(S) 515
517: TypePointer Uniform 516(B1)
518: 517(ptr) Variable Uniform
519: TypeArray 28(float16_t) 511
520: TypeArray 406 511
521(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
522: TypeArray 521(S) 511
523(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 519 406 520 521(S) 522
524: TypePointer Uniform 523(B2)
525: 524(ptr) Variable Uniform
526(sf16):28(float16_t) SpecConstant 12288
527(sf): 164(float) SpecConstant 1048576000
528(sd):172(float64_t) SpecConstant 0 1071644672
529(f16_to_f): 164(float) SpecConstantOp 115 526(sf16)
530: 164(float) SpecConstantOp 115 526(sf16)
531(f16_to_d):172(float64_t) SpecConstantOp 115 530
532(f_to_f16):28(float16_t) SpecConstantOp 115 527(sf)
533(d_to_f16):28(float16_t) SpecConstantOp 115 528(sd)
509: 183(int) Constant 1
516:28(float16_t) Constant 14336
517: 29(f16vec2) ConstantComposite 516 516
519: 33(int) Constant 2
520: TypeArray 28(float16_t) 519
521: TypeArray 406 519
522(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
523: TypeArray 522(S) 519
524(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 520 406 521 522(S) 523
525: TypePointer Uniform 524(B1)
526: 525(ptr) Variable Uniform
527: TypeArray 28(float16_t) 519
528: TypeArray 406 519
529(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
530: TypeArray 529(S) 519
531(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 527 406 528 529(S) 530
532: TypePointer Uniform 531(B2)
533: 532(ptr) Variable Uniform
534(sf16):28(float16_t) SpecConstant 12288
535(sf): 164(float) SpecConstant 1048576000
536(sd):172(float64_t) SpecConstant 0 1071644672
537(f16_to_f): 164(float) SpecConstantOp 115 534(sf16)
538: 164(float) SpecConstantOp 115 534(sf16)
539(f16_to_d):172(float64_t) SpecConstantOp 115 538
540(f_to_f16):28(float16_t) SpecConstantOp 115 535(sf)
541(d_to_f16):28(float16_t) SpecConstantOp 115 536(sd)
4(main): 2 Function None 3
5: Label
Return
@ -801,45 +801,57 @@ Validation failed
475:151(f16vec3) Load 465(if16v)
476: 29(f16vec2) VectorShuffle 475 475 0 1
477: 29(f16vec2) DPdxFine 476
478:151(f16vec3) Load 463(f16v)
479:151(f16vec3) VectorShuffle 478 477 3 4 2
Store 463(f16v) 479
480:151(f16vec3) Load 465(if16v)
481: 29(f16vec2) VectorShuffle 480 480 0 1
482: 29(f16vec2) DPdyFine 481
483:151(f16vec3) Load 463(f16v)
484:151(f16vec3) VectorShuffle 483 482 3 4 2
Store 463(f16v) 484
485:151(f16vec3) Load 465(if16v)
486:151(f16vec3) DPdxCoarse 485
Store 463(f16v) 486
487:151(f16vec3) Load 465(if16v)
488:151(f16vec3) DPdxCoarse 487
Store 463(f16v) 488
489: 466(ptr) AccessChain 465(if16v) 34
490:28(float16_t) Load 489
491:28(float16_t) Fwidth 490
492: 35(ptr) AccessChain 463(f16v) 34
Store 492 491
493:151(f16vec3) Load 465(if16v)
494: 29(f16vec2) VectorShuffle 493 493 0 1
495: 29(f16vec2) FwidthFine 494
496:151(f16vec3) Load 463(f16v)
497:151(f16vec3) VectorShuffle 496 495 3 4 2
Store 463(f16v) 497
498:151(f16vec3) Load 465(if16v)
499:151(f16vec3) FwidthCoarse 498
Store 463(f16v) 499
500: 466(ptr) AccessChain 465(if16v) 34
501:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 500
502: 35(ptr) AccessChain 463(f16v) 34
Store 502 501
504:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 503
505: 29(f16vec2) VectorShuffle 504 504 0 1
506:151(f16vec3) Load 463(f16v)
507:151(f16vec3) VectorShuffle 506 505 3 4 2
Store 463(f16v) 507
510:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 509
Store 463(f16v) 510
478: 35(ptr) AccessChain 463(f16v) 34
479:28(float16_t) CompositeExtract 477 0
Store 478 479
480: 35(ptr) AccessChain 463(f16v) 90
481:28(float16_t) CompositeExtract 477 1
Store 480 481
482:151(f16vec3) Load 465(if16v)
483: 29(f16vec2) VectorShuffle 482 482 0 1
484: 29(f16vec2) DPdyFine 483
485: 35(ptr) AccessChain 463(f16v) 34
486:28(float16_t) CompositeExtract 484 0
Store 485 486
487: 35(ptr) AccessChain 463(f16v) 90
488:28(float16_t) CompositeExtract 484 1
Store 487 488
489:151(f16vec3) Load 465(if16v)
490:151(f16vec3) DPdxCoarse 489
Store 463(f16v) 490
491:151(f16vec3) Load 465(if16v)
492:151(f16vec3) DPdxCoarse 491
Store 463(f16v) 492
493: 466(ptr) AccessChain 465(if16v) 34
494:28(float16_t) Load 493
495:28(float16_t) Fwidth 494
496: 35(ptr) AccessChain 463(f16v) 34
Store 496 495
497:151(f16vec3) Load 465(if16v)
498: 29(f16vec2) VectorShuffle 497 497 0 1
499: 29(f16vec2) FwidthFine 498
500: 35(ptr) AccessChain 463(f16v) 34
501:28(float16_t) CompositeExtract 499 0
Store 500 501
502: 35(ptr) AccessChain 463(f16v) 90
503:28(float16_t) CompositeExtract 499 1
Store 502 503
504:151(f16vec3) Load 465(if16v)
505:151(f16vec3) FwidthCoarse 504
Store 463(f16v) 505
506: 466(ptr) AccessChain 465(if16v) 34
507:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
508: 35(ptr) AccessChain 463(f16v) 34
Store 508 507
510:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 509
511: 29(f16vec2) VectorShuffle 510 510 0 1
512: 35(ptr) AccessChain 463(f16v) 34
513:28(float16_t) CompositeExtract 511 0
Store 512 513
514: 35(ptr) AccessChain 463(f16v) 90
515:28(float16_t) CompositeExtract 511 1
Store 514 515
518:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 517
Store 463(f16v) 518
Return
FunctionEnd

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
spv.float32.frag
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 533
// Id's are bound by 541
Capability Shader
Capability Float16
@ -83,52 +83,52 @@ spv.float32.frag
Name 451 "f32v2"
Name 469 "f32v"
Name 471 "if32v"
Name 520 "S"
MemberName 520(S) 0 "x"
MemberName 520(S) 1 "y"
MemberName 520(S) 2 "z"
Name 522 "B1"
MemberName 522(B1) 0 "a"
MemberName 522(B1) 1 "b"
MemberName 522(B1) 2 "c"
MemberName 522(B1) 3 "d"
MemberName 522(B1) 4 "e"
MemberName 522(B1) 5 "f"
MemberName 522(B1) 6 "g"
MemberName 522(B1) 7 "h"
Name 524 ""
Name 525 "sf16"
Name 526 "sf"
Name 527 "sd"
Name 528 "f16_to_f"
Name 530 "f16_to_d"
Name 531 "f_to_f16"
Name 532 "d_to_f16"
Name 528 "S"
MemberName 528(S) 0 "x"
MemberName 528(S) 1 "y"
MemberName 528(S) 2 "z"
Name 530 "B1"
MemberName 530(B1) 0 "a"
MemberName 530(B1) 1 "b"
MemberName 530(B1) 2 "c"
MemberName 530(B1) 3 "d"
MemberName 530(B1) 4 "e"
MemberName 530(B1) 5 "f"
MemberName 530(B1) 6 "g"
MemberName 530(B1) 7 "h"
Name 532 ""
Name 533 "sf16"
Name 534 "sf"
Name 535 "sd"
Name 536 "f16_to_f"
Name 538 "f16_to_d"
Name 539 "f_to_f16"
Name 540 "d_to_f16"
Decorate 471(if32v) Location 0
Decorate 518 ArrayStride 16
Decorate 519 ArrayStride 32
MemberDecorate 520(S) 0 Offset 0
MemberDecorate 520(S) 1 Offset 8
MemberDecorate 520(S) 2 Offset 16
Decorate 521 ArrayStride 32
MemberDecorate 522(B1) 0 Offset 0
MemberDecorate 522(B1) 1 Offset 8
MemberDecorate 522(B1) 2 Offset 16
MemberDecorate 522(B1) 3 Offset 32
MemberDecorate 522(B1) 4 ColMajor
MemberDecorate 522(B1) 4 Offset 64
MemberDecorate 522(B1) 4 MatrixStride 16
MemberDecorate 522(B1) 5 ColMajor
MemberDecorate 522(B1) 5 Offset 96
MemberDecorate 522(B1) 5 MatrixStride 16
MemberDecorate 522(B1) 6 Offset 160
MemberDecorate 522(B1) 7 Offset 192
Decorate 522(B1) Block
Decorate 524 DescriptorSet 0
Decorate 524 Binding 0
Decorate 525(sf16) SpecId 100
Decorate 526(sf) SpecId 101
Decorate 527(sd) SpecId 102
Decorate 526 ArrayStride 16
Decorate 527 ArrayStride 32
MemberDecorate 528(S) 0 Offset 0
MemberDecorate 528(S) 1 Offset 8
MemberDecorate 528(S) 2 Offset 16
Decorate 529 ArrayStride 32
MemberDecorate 530(B1) 0 Offset 0
MemberDecorate 530(B1) 1 Offset 8
MemberDecorate 530(B1) 2 Offset 16
MemberDecorate 530(B1) 3 Offset 32
MemberDecorate 530(B1) 4 ColMajor
MemberDecorate 530(B1) 4 Offset 64
MemberDecorate 530(B1) 4 MatrixStride 16
MemberDecorate 530(B1) 5 ColMajor
MemberDecorate 530(B1) 5 Offset 96
MemberDecorate 530(B1) 5 MatrixStride 16
MemberDecorate 530(B1) 6 Offset 160
MemberDecorate 530(B1) 7 Offset 192
Decorate 530(B1) Block
Decorate 532 DescriptorSet 0
Decorate 532 Binding 0
Decorate 533(sf16) SpecId 100
Decorate 534(sf) SpecId 101
Decorate 535(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
26: TypeFloat 32
@ -197,25 +197,25 @@ spv.float32.frag
470: TypePointer Input 153(fvec3)
471(if32v): 470(ptr) Variable Input
472: TypePointer Input 26(float)
509: 192(int) Constant 1
514: 26(float) Constant 1056964608
515: 27(fvec2) ConstantComposite 514 514
517: 31(int) Constant 2
518: TypeArray 26(float) 517
519: TypeArray 412 517
520(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
521: TypeArray 520(S) 517
522(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 518 412 519 520(S) 521
523: TypePointer Uniform 522(B1)
524: 523(ptr) Variable Uniform
525(sf16):172(float16_t) SpecConstant 12288
526(sf): 26(float) SpecConstant 1048576000
527(sd):149(float64_t) SpecConstant 0 1071644672
528(f16_to_f): 26(float) SpecConstantOp 115 525(sf16)
529: 26(float) SpecConstantOp 115 525(sf16)
530(f16_to_d):149(float64_t) SpecConstantOp 115 529
531(f_to_f16):172(float16_t) SpecConstantOp 115 526(sf)
532(d_to_f16):172(float16_t) SpecConstantOp 115 527(sd)
515: 192(int) Constant 1
522: 26(float) Constant 1056964608
523: 27(fvec2) ConstantComposite 522 522
525: 31(int) Constant 2
526: TypeArray 26(float) 525
527: TypeArray 412 525
528(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
529: TypeArray 528(S) 525
530(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 526 412 527 528(S) 529
531: TypePointer Uniform 530(B1)
532: 531(ptr) Variable Uniform
533(sf16):172(float16_t) SpecConstant 12288
534(sf): 26(float) SpecConstant 1048576000
535(sd):149(float64_t) SpecConstant 0 1071644672
536(f16_to_f): 26(float) SpecConstantOp 115 533(sf16)
537: 26(float) SpecConstantOp 115 533(sf16)
538(f16_to_d):149(float64_t) SpecConstantOp 115 537
539(f_to_f16):172(float16_t) SpecConstantOp 115 534(sf)
540(d_to_f16):172(float16_t) SpecConstantOp 115 535(sd)
4(main): 2 Function None 3
5: Label
Return
@ -765,45 +765,57 @@ spv.float32.frag
481: 153(fvec3) Load 471(if32v)
482: 27(fvec2) VectorShuffle 481 481 0 1
483: 27(fvec2) DPdxFine 482
484: 153(fvec3) Load 469(f32v)
485: 153(fvec3) VectorShuffle 484 483 3 4 2
Store 469(f32v) 485
486: 153(fvec3) Load 471(if32v)
487: 27(fvec2) VectorShuffle 486 486 0 1
488: 27(fvec2) DPdyFine 487
489: 153(fvec3) Load 469(f32v)
490: 153(fvec3) VectorShuffle 489 488 3 4 2
Store 469(f32v) 490
491: 153(fvec3) Load 471(if32v)
492: 153(fvec3) DPdxCoarse 491
Store 469(f32v) 492
493: 153(fvec3) Load 471(if32v)
494: 153(fvec3) DPdxCoarse 493
Store 469(f32v) 494
495: 472(ptr) AccessChain 471(if32v) 32
496: 26(float) Load 495
497: 26(float) Fwidth 496
498: 33(ptr) AccessChain 469(f32v) 32
Store 498 497
499: 153(fvec3) Load 471(if32v)
500: 27(fvec2) VectorShuffle 499 499 0 1
501: 27(fvec2) FwidthFine 500
502: 153(fvec3) Load 469(f32v)
503: 153(fvec3) VectorShuffle 502 501 3 4 2
Store 469(f32v) 503
504: 153(fvec3) Load 471(if32v)
505: 153(fvec3) FwidthCoarse 504
Store 469(f32v) 505
506: 472(ptr) AccessChain 471(if32v) 32
507: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
508: 33(ptr) AccessChain 469(f32v) 32
Store 508 507
510: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 509
511: 27(fvec2) VectorShuffle 510 510 0 1
512: 153(fvec3) Load 469(f32v)
513: 153(fvec3) VectorShuffle 512 511 3 4 2
Store 469(f32v) 513
516: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 515
Store 469(f32v) 516
484: 33(ptr) AccessChain 469(f32v) 32
485: 26(float) CompositeExtract 483 0
Store 484 485
486: 33(ptr) AccessChain 469(f32v) 88
487: 26(float) CompositeExtract 483 1
Store 486 487
488: 153(fvec3) Load 471(if32v)
489: 27(fvec2) VectorShuffle 488 488 0 1
490: 27(fvec2) DPdyFine 489
491: 33(ptr) AccessChain 469(f32v) 32
492: 26(float) CompositeExtract 490 0
Store 491 492
493: 33(ptr) AccessChain 469(f32v) 88
494: 26(float) CompositeExtract 490 1
Store 493 494
495: 153(fvec3) Load 471(if32v)
496: 153(fvec3) DPdxCoarse 495
Store 469(f32v) 496
497: 153(fvec3) Load 471(if32v)
498: 153(fvec3) DPdxCoarse 497
Store 469(f32v) 498
499: 472(ptr) AccessChain 471(if32v) 32
500: 26(float) Load 499
501: 26(float) Fwidth 500
502: 33(ptr) AccessChain 469(f32v) 32
Store 502 501
503: 153(fvec3) Load 471(if32v)
504: 27(fvec2) VectorShuffle 503 503 0 1
505: 27(fvec2) FwidthFine 504
506: 33(ptr) AccessChain 469(f32v) 32
507: 26(float) CompositeExtract 505 0
Store 506 507
508: 33(ptr) AccessChain 469(f32v) 88
509: 26(float) CompositeExtract 505 1
Store 508 509
510: 153(fvec3) Load 471(if32v)
511: 153(fvec3) FwidthCoarse 510
Store 469(f32v) 511
512: 472(ptr) AccessChain 471(if32v) 32
513: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 512
514: 33(ptr) AccessChain 469(f32v) 32
Store 514 513
516: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 515
517: 27(fvec2) VectorShuffle 516 516 0 1
518: 33(ptr) AccessChain 469(f32v) 32
519: 26(float) CompositeExtract 517 0
Store 518 519
520: 33(ptr) AccessChain 469(f32v) 88
521: 26(float) CompositeExtract 517 1
Store 520 521
524: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 523
Store 469(f32v) 524
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ spv.float64.frag
Validation failed
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 524
// Id's are bound by 532
Capability Shader
Capability Float16
@ -83,53 +83,53 @@ Validation failed
Name 441 "f64v2"
Name 459 "f64v"
Name 461 "if64v"
Name 510 "S"
MemberName 510(S) 0 "x"
MemberName 510(S) 1 "y"
MemberName 510(S) 2 "z"
Name 512 "B1"
MemberName 512(B1) 0 "a"
MemberName 512(B1) 1 "b"
MemberName 512(B1) 2 "c"
MemberName 512(B1) 3 "d"
MemberName 512(B1) 4 "e"
MemberName 512(B1) 5 "f"
MemberName 512(B1) 6 "g"
MemberName 512(B1) 7 "h"
Name 514 ""
Name 515 "sf16"
Name 517 "sf"
Name 518 "sd"
Name 519 "f16_to_f"
Name 521 "f16_to_d"
Name 522 "f_to_f16"
Name 523 "d_to_f16"
Name 518 "S"
MemberName 518(S) 0 "x"
MemberName 518(S) 1 "y"
MemberName 518(S) 2 "z"
Name 520 "B1"
MemberName 520(B1) 0 "a"
MemberName 520(B1) 1 "b"
MemberName 520(B1) 2 "c"
MemberName 520(B1) 3 "d"
MemberName 520(B1) 4 "e"
MemberName 520(B1) 5 "f"
MemberName 520(B1) 6 "g"
MemberName 520(B1) 7 "h"
Name 522 ""
Name 523 "sf16"
Name 525 "sf"
Name 526 "sd"
Name 527 "f16_to_f"
Name 529 "f16_to_d"
Name 530 "f_to_f16"
Name 531 "d_to_f16"
Decorate 461(if64v) Flat
Decorate 461(if64v) Location 0
Decorate 508 ArrayStride 16
Decorate 509 ArrayStride 64
MemberDecorate 510(S) 0 Offset 0
MemberDecorate 510(S) 1 Offset 16
MemberDecorate 510(S) 2 Offset 32
Decorate 511 ArrayStride 64
MemberDecorate 512(B1) 0 Offset 0
MemberDecorate 512(B1) 1 Offset 16
MemberDecorate 512(B1) 2 Offset 32
MemberDecorate 512(B1) 3 Offset 64
MemberDecorate 512(B1) 4 ColMajor
MemberDecorate 512(B1) 4 Offset 96
MemberDecorate 512(B1) 4 MatrixStride 32
MemberDecorate 512(B1) 5 ColMajor
MemberDecorate 512(B1) 5 Offset 160
MemberDecorate 512(B1) 5 MatrixStride 32
MemberDecorate 512(B1) 6 Offset 288
MemberDecorate 512(B1) 7 Offset 352
Decorate 512(B1) Block
Decorate 514 DescriptorSet 0
Decorate 514 Binding 0
Decorate 515(sf16) SpecId 100
Decorate 517(sf) SpecId 101
Decorate 518(sd) SpecId 102
Decorate 516 ArrayStride 16
Decorate 517 ArrayStride 64
MemberDecorate 518(S) 0 Offset 0
MemberDecorate 518(S) 1 Offset 16
MemberDecorate 518(S) 2 Offset 32
Decorate 519 ArrayStride 64
MemberDecorate 520(B1) 0 Offset 0
MemberDecorate 520(B1) 1 Offset 16
MemberDecorate 520(B1) 2 Offset 32
MemberDecorate 520(B1) 3 Offset 64
MemberDecorate 520(B1) 4 ColMajor
MemberDecorate 520(B1) 4 Offset 96
MemberDecorate 520(B1) 4 MatrixStride 32
MemberDecorate 520(B1) 5 ColMajor
MemberDecorate 520(B1) 5 Offset 160
MemberDecorate 520(B1) 5 MatrixStride 32
MemberDecorate 520(B1) 6 Offset 288
MemberDecorate 520(B1) 7 Offset 352
Decorate 520(B1) Block
Decorate 522 DescriptorSet 0
Decorate 522 Binding 0
Decorate 523(sf16) SpecId 100
Decorate 525(sf) SpecId 101
Decorate 526(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
26: TypeFloat 64
@ -195,26 +195,26 @@ Validation failed
460: TypePointer Input 149(f64vec3)
461(if64v): 460(ptr) Variable Input
462: TypePointer Input 26(float64_t)
499: 182(int) Constant 1
504:26(float64_t) Constant 0 1071644672
505: 27(f64vec2) ConstantComposite 504 504
507: 31(int) Constant 2
508: TypeArray 26(float64_t) 507
509: TypeArray 402 507
510(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3)
511: TypeArray 510(S) 507
512(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 508 402 509 510(S) 511
513: TypePointer Uniform 512(B1)
514: 513(ptr) Variable Uniform
515(sf16):162(float16_t) SpecConstant 12288
516: TypeFloat 32
517(sf): 516(float) SpecConstant 1048576000
518(sd):26(float64_t) SpecConstant 0 1071644672
519(f16_to_f): 516(float) SpecConstantOp 115 515(sf16)
520: 516(float) SpecConstantOp 115 515(sf16)
521(f16_to_d):26(float64_t) SpecConstantOp 115 520
522(f_to_f16):162(float16_t) SpecConstantOp 115 517(sf)
523(d_to_f16):162(float16_t) SpecConstantOp 115 518(sd)
505: 182(int) Constant 1
512:26(float64_t) Constant 0 1071644672
513: 27(f64vec2) ConstantComposite 512 512
515: 31(int) Constant 2
516: TypeArray 26(float64_t) 515
517: TypeArray 402 515
518(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3)
519: TypeArray 518(S) 515
520(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 516 402 517 518(S) 519
521: TypePointer Uniform 520(B1)
522: 521(ptr) Variable Uniform
523(sf16):162(float16_t) SpecConstant 12288
524: TypeFloat 32
525(sf): 524(float) SpecConstant 1048576000
526(sd):26(float64_t) SpecConstant 0 1071644672
527(f16_to_f): 524(float) SpecConstantOp 115 523(sf16)
528: 524(float) SpecConstantOp 115 523(sf16)
529(f16_to_d):26(float64_t) SpecConstantOp 115 528
530(f_to_f16):162(float16_t) SpecConstantOp 115 525(sf)
531(d_to_f16):162(float16_t) SpecConstantOp 115 526(sd)
4(main): 2 Function None 3
5: Label
Return
@ -754,45 +754,57 @@ Validation failed
471:149(f64vec3) Load 461(if64v)
472: 27(f64vec2) VectorShuffle 471 471 0 1
473: 27(f64vec2) DPdxFine 472
474:149(f64vec3) Load 459(f64v)
475:149(f64vec3) VectorShuffle 474 473 3 4 2
Store 459(f64v) 475
476:149(f64vec3) Load 461(if64v)
477: 27(f64vec2) VectorShuffle 476 476 0 1
478: 27(f64vec2) DPdyFine 477
479:149(f64vec3) Load 459(f64v)
480:149(f64vec3) VectorShuffle 479 478 3 4 2
Store 459(f64v) 480
481:149(f64vec3) Load 461(if64v)
482:149(f64vec3) DPdxCoarse 481
Store 459(f64v) 482
483:149(f64vec3) Load 461(if64v)
484:149(f64vec3) DPdxCoarse 483
Store 459(f64v) 484
485: 462(ptr) AccessChain 461(if64v) 32
486:26(float64_t) Load 485
487:26(float64_t) Fwidth 486
488: 33(ptr) AccessChain 459(f64v) 32
Store 488 487
489:149(f64vec3) Load 461(if64v)
490: 27(f64vec2) VectorShuffle 489 489 0 1
491: 27(f64vec2) FwidthFine 490
492:149(f64vec3) Load 459(f64v)
493:149(f64vec3) VectorShuffle 492 491 3 4 2
Store 459(f64v) 493
494:149(f64vec3) Load 461(if64v)
495:149(f64vec3) FwidthCoarse 494
Store 459(f64v) 495
496: 462(ptr) AccessChain 461(if64v) 32
497:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 496
498: 33(ptr) AccessChain 459(f64v) 32
Store 498 497
500:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if64v) 499
501: 27(f64vec2) VectorShuffle 500 500 0 1
502:149(f64vec3) Load 459(f64v)
503:149(f64vec3) VectorShuffle 502 501 3 4 2
Store 459(f64v) 503
506:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if64v) 505
Store 459(f64v) 506
474: 33(ptr) AccessChain 459(f64v) 32
475:26(float64_t) CompositeExtract 473 0
Store 474 475
476: 33(ptr) AccessChain 459(f64v) 88
477:26(float64_t) CompositeExtract 473 1
Store 476 477
478:149(f64vec3) Load 461(if64v)
479: 27(f64vec2) VectorShuffle 478 478 0 1
480: 27(f64vec2) DPdyFine 479
481: 33(ptr) AccessChain 459(f64v) 32
482:26(float64_t) CompositeExtract 480 0
Store 481 482
483: 33(ptr) AccessChain 459(f64v) 88
484:26(float64_t) CompositeExtract 480 1
Store 483 484
485:149(f64vec3) Load 461(if64v)
486:149(f64vec3) DPdxCoarse 485
Store 459(f64v) 486
487:149(f64vec3) Load 461(if64v)
488:149(f64vec3) DPdxCoarse 487
Store 459(f64v) 488
489: 462(ptr) AccessChain 461(if64v) 32
490:26(float64_t) Load 489
491:26(float64_t) Fwidth 490
492: 33(ptr) AccessChain 459(f64v) 32
Store 492 491
493:149(f64vec3) Load 461(if64v)
494: 27(f64vec2) VectorShuffle 493 493 0 1
495: 27(f64vec2) FwidthFine 494
496: 33(ptr) AccessChain 459(f64v) 32
497:26(float64_t) CompositeExtract 495 0
Store 496 497
498: 33(ptr) AccessChain 459(f64v) 88
499:26(float64_t) CompositeExtract 495 1
Store 498 499
500:149(f64vec3) Load 461(if64v)
501:149(f64vec3) FwidthCoarse 500
Store 459(f64v) 501
502: 462(ptr) AccessChain 461(if64v) 32
503:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 502
504: 33(ptr) AccessChain 459(f64v) 32
Store 504 503
506:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if64v) 505
507: 27(f64vec2) VectorShuffle 506 506 0 1
508: 33(ptr) AccessChain 459(f64v) 32
509:26(float64_t) CompositeExtract 507 0
Store 508 509
510: 33(ptr) AccessChain 459(f64v) 88
511:26(float64_t) CompositeExtract 507 1
Store 510 511
514:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if64v) 513
Store 459(f64v) 514
Return
FunctionEnd

View File

@ -1,12 +1,12 @@
spv.forLoop.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 131
// Id's are bound by 143
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 11 24 28 36 53 104
EntryPoint Fragment 4 "main" 11 24 28 36 53 111
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
@ -22,9 +22,9 @@ spv.forLoop.frag
Name 63 "i"
Name 71 "tv4"
Name 88 "r"
Name 94 "i"
Name 104 "f"
Name 117 "i"
Name 101 "i"
Name 111 "f"
Name 129 "i"
Decorate 11(BaseColor) Location 1
Decorate 24(Count) Flat
Decorate 24(Count) Location 3
@ -32,7 +32,7 @@ spv.forLoop.frag
Decorate 36(gl_FragColor) Location 0
Decorate 53(v4) Flat
Decorate 53(v4) Location 4
Decorate 104(f) Location 2
Decorate 111(f) Location 2
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -60,10 +60,14 @@ spv.forLoop.frag
55: TypePointer Input 50(int)
76: 50(int) Constant 4
89: TypeVector 6(float) 3
103: TypePointer Input 6(float)
104(f): 103(ptr) Variable Input
106: 50(int) Constant 3
124: 13(int) Constant 16
92: 50(int) Constant 0
95: 50(int) Constant 1
98: 50(int) Constant 2
110: TypePointer Input 6(float)
111(f): 110(ptr) Variable Input
113: 50(int) Constant 3
122: TypePointer Output 6(float)
136: 13(int) Constant 16
4(main): 2 Function None 3
5: Label
9(color): 8(ptr) Variable Function
@ -73,8 +77,8 @@ spv.forLoop.frag
63(i): 14(ptr) Variable Function
71(tv4): 8(ptr) Variable Function
88(r): 8(ptr) Variable Function
94(i): 14(ptr) Variable Function
117(i): 14(ptr) Variable Function
101(i): 14(ptr) Variable Function
129(i): 14(ptr) Variable Function
12: 7(fvec4) Load 11(BaseColor)
Store 9(color) 12
Store 15(i) 16
@ -160,58 +164,70 @@ spv.forLoop.frag
Store 36(gl_FragColor) 87
90: 7(fvec4) Load 11(BaseColor)
91: 89(fvec3) VectorShuffle 90 90 0 1 2
92: 7(fvec4) Load 88(r)
93: 7(fvec4) VectorShuffle 92 91 4 5 6 3
Store 88(r) 93
Store 94(i) 16
Branch 95
95: Label
LoopMerge 97 98 None
Branch 99
99: Label
100: 13(int) Load 94(i)
101: 13(int) Load 24(Count)
102: 26(bool) SLessThan 100 101
BranchConditional 102 96 97
96: Label
105: 6(float) Load 104(f)
107: 38(ptr) AccessChain 88(r) 106
Store 107 105
Branch 98
98: Label
108: 13(int) Load 94(i)
109: 13(int) IAdd 108 33
Store 94(i) 109
Branch 95
97: Label
110: 7(fvec4) Load 88(r)
111: 89(fvec3) VectorShuffle 110 110 0 1 2
112: 7(fvec4) Load 36(gl_FragColor)
113: 89(fvec3) VectorShuffle 112 112 0 1 2
114: 89(fvec3) FAdd 113 111
115: 7(fvec4) Load 36(gl_FragColor)
116: 7(fvec4) VectorShuffle 115 114 4 5 6 3
Store 36(gl_FragColor) 116
Store 117(i) 16
Branch 118
118: Label
LoopMerge 120 121 None
Branch 122
122: Label
123: 13(int) Load 117(i)
125: 26(bool) SLessThan 123 124
BranchConditional 125 119 120
119: Label
126: 6(float) Load 104(f)
127: 7(fvec4) Load 36(gl_FragColor)
128: 7(fvec4) VectorTimesScalar 127 126
Store 36(gl_FragColor) 128
Branch 121
121: Label
129: 13(int) Load 117(i)
130: 13(int) IAdd 129 48
Store 117(i) 130
Branch 118
120: Label
93: 38(ptr) AccessChain 88(r) 92
94: 6(float) CompositeExtract 91 0
Store 93 94
96: 38(ptr) AccessChain 88(r) 95
97: 6(float) CompositeExtract 91 1
Store 96 97
99: 38(ptr) AccessChain 88(r) 98
100: 6(float) CompositeExtract 91 2
Store 99 100
Store 101(i) 16
Branch 102
102: Label
LoopMerge 104 105 None
Branch 106
106: Label
107: 13(int) Load 101(i)
108: 13(int) Load 24(Count)
109: 26(bool) SLessThan 107 108
BranchConditional 109 103 104
103: Label
112: 6(float) Load 111(f)
114: 38(ptr) AccessChain 88(r) 113
Store 114 112
Branch 105
105: Label
115: 13(int) Load 101(i)
116: 13(int) IAdd 115 33
Store 101(i) 116
Branch 102
104: Label
117: 7(fvec4) Load 88(r)
118: 89(fvec3) VectorShuffle 117 117 0 1 2
119: 7(fvec4) Load 36(gl_FragColor)
120: 89(fvec3) VectorShuffle 119 119 0 1 2
121: 89(fvec3) FAdd 120 118
123: 122(ptr) AccessChain 36(gl_FragColor) 92
124: 6(float) CompositeExtract 121 0
Store 123 124
125: 122(ptr) AccessChain 36(gl_FragColor) 95
126: 6(float) CompositeExtract 121 1
Store 125 126
127: 122(ptr) AccessChain 36(gl_FragColor) 98
128: 6(float) CompositeExtract 121 2
Store 127 128
Store 129(i) 16
Branch 130
130: Label
LoopMerge 132 133 None
Branch 134
134: Label
135: 13(int) Load 129(i)
137: 26(bool) SLessThan 135 136
BranchConditional 137 131 132
131: Label
138: 6(float) Load 111(f)
139: 7(fvec4) Load 36(gl_FragColor)
140: 7(fvec4) VectorTimesScalar 139 138
Store 36(gl_FragColor) 140
Branch 133
133: Label
141: 13(int) Load 129(i)
142: 13(int) IAdd 141 48
Store 129(i) 142
Branch 130
132: Label
Return
FunctionEnd

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
spv.int16.amd.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 560
// Id's are bound by 576
Capability Shader
Capability Float16
@ -14,7 +14,7 @@ spv.int16.amd.frag
Extension "SPV_KHR_16bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 519 521
EntryPoint Fragment 4 "main" 535 537
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_AMD_gpu_shader_half_float"
@ -54,66 +54,66 @@ spv.int16.amd.frag
Name 393 "f16v"
Name 396 "exp"
Name 397 "ResType"
Name 418 "packi"
Name 423 "packu"
Name 432 "packi64"
Name 441 "packu64"
Name 450 "bv"
Name 515 "Block"
MemberName 515(Block) 0 "i16v"
MemberName 515(Block) 1 "u16"
Name 517 "block"
Name 519 "iu16v"
Name 521 "ii16"
Name 522 "si64"
Name 523 "su64"
Name 524 "si"
Name 525 "su"
Name 526 "sb"
Name 527 "si16"
Name 528 "su16"
Name 529 "i16_to_b"
Name 530 "u16_to_b"
Name 531 "b_to_i16"
Name 532 "b_to_u16"
Name 533 "i16_to_i"
Name 535 "u16_to_i"
Name 536 "i_to_i16"
Name 538 "i_to_u16"
Name 540 "i16_to_u"
Name 541 "u16_to_u"
Name 543 "u_to_i16"
Name 544 "u_to_u16"
Name 545 "i16_to_i64"
Name 548 "u16_to_i64"
Name 549 "i64_to_i16"
Name 551 "i64_to_u16"
Name 553 "i16_to_u64"
Name 554 "u16_to_u64"
Name 556 "u64_to_i16"
Name 557 "u64_to_u16"
Name 558 "i16_to_u16"
Name 559 "u16_to_i16"
Name 420 "packi"
Name 425 "packu"
Name 436 "packi64"
Name 445 "packu64"
Name 454 "bv"
Name 531 "Block"
MemberName 531(Block) 0 "i16v"
MemberName 531(Block) 1 "u16"
Name 533 "block"
Name 535 "iu16v"
Name 537 "ii16"
Name 538 "si64"
Name 539 "su64"
Name 540 "si"
Name 541 "su"
Name 542 "sb"
Name 543 "si16"
Name 544 "su16"
Name 545 "i16_to_b"
Name 546 "u16_to_b"
Name 547 "b_to_i16"
Name 548 "b_to_u16"
Name 549 "i16_to_i"
Name 551 "u16_to_i"
Name 552 "i_to_i16"
Name 554 "i_to_u16"
Name 556 "i16_to_u"
Name 557 "u16_to_u"
Name 559 "u_to_i16"
Name 560 "u_to_u16"
Name 561 "i16_to_i64"
Name 564 "u16_to_i64"
Name 565 "i64_to_i16"
Name 567 "i64_to_u16"
Name 569 "i16_to_u64"
Name 570 "u16_to_u64"
Name 572 "u64_to_i16"
Name 573 "u64_to_u16"
Name 574 "i16_to_u16"
Name 575 "u16_to_i16"
MemberDecorate 25(Uniforms) 0 Offset 0
Decorate 25(Uniforms) Block
Decorate 27 DescriptorSet 0
Decorate 27 Binding 0
MemberDecorate 515(Block) 0 Offset 0
MemberDecorate 515(Block) 1 Offset 6
Decorate 515(Block) Block
Decorate 517(block) DescriptorSet 0
Decorate 517(block) Binding 1
Decorate 519(iu16v) Flat
Decorate 519(iu16v) Location 0
Decorate 521(ii16) Flat
Decorate 521(ii16) Location 1
Decorate 522(si64) SpecId 100
Decorate 523(su64) SpecId 101
Decorate 524(si) SpecId 102
Decorate 525(su) SpecId 103
Decorate 526(sb) SpecId 104
Decorate 527(si16) SpecId 105
Decorate 528(su16) SpecId 106
MemberDecorate 531(Block) 0 Offset 0
MemberDecorate 531(Block) 1 Offset 6
Decorate 531(Block) Block
Decorate 533(block) DescriptorSet 0
Decorate 533(block) Binding 1
Decorate 535(iu16v) Flat
Decorate 535(iu16v) Location 0
Decorate 537(ii16) Flat
Decorate 537(ii16) Location 1
Decorate 538(si64) SpecId 100
Decorate 539(su64) SpecId 101
Decorate 540(si) SpecId 102
Decorate 541(su) SpecId 103
Decorate 542(sb) SpecId 104
Decorate 543(si16) SpecId 105
Decorate 544(su16) SpecId 106
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 0
@ -194,62 +194,62 @@ spv.int16.amd.frag
395: TypePointer Function 54(i16vec3)
397(ResType): TypeStruct 391(f16vec3) 54(i16vec3)
407: TypePointer Function 261(float16_t)
431: TypePointer Function 273(int64_t)
434: TypeVector 17(int16_t) 4
440: TypePointer Function 285(int64_t)
443: TypeVector 14(int16_t) 4
449: TypePointer Function 388(bvec3)
515(Block): TypeStruct 54(i16vec3) 14(int16_t)
516: TypePointer Uniform 515(Block)
517(block): 516(ptr) Variable Uniform
518: TypePointer Input 49(i16vec3)
519(iu16v): 518(ptr) Variable Input
520: TypePointer Input 17(int16_t)
521(ii16): 520(ptr) Variable Input
522(si64):273(int64_t) SpecConstant 4294967286 4294967295
523(su64):285(int64_t) SpecConstant 20 0
524(si): 28(int) SpecConstant 4294967291
525(su): 18(int) SpecConstant 4
526(sb): 125(bool) SpecConstantTrue
527(si16): 17(int16_t) SpecConstant 4294967291
528(su16): 14(int16_t) SpecConstant 4
529(i16_to_b): 125(bool) SpecConstantOp 171 527(si16) 202
530(u16_to_b): 125(bool) SpecConstantOp 171 528(su16) 202
531(b_to_i16): 17(int16_t) SpecConstantOp 169 526(sb) 53 194
532(b_to_u16): 14(int16_t) SpecConstantOp 169 526(sb) 203 202
533(i16_to_i): 28(int) SpecConstantOp 114 527(si16)
534: 18(int) SpecConstantOp 113 528(su16)
535(u16_to_i): 28(int) SpecConstantOp 128 534 128
536(i_to_i16): 17(int16_t) SpecConstantOp 114 524(si)
537: 17(int16_t) SpecConstantOp 114 524(si)
538(i_to_u16): 14(int16_t) SpecConstantOp 128 537 202
539: 28(int) SpecConstantOp 114 527(si16)
540(i16_to_u): 18(int) SpecConstantOp 128 539 128
541(u16_to_u): 18(int) SpecConstantOp 113 528(su16)
542: 14(int16_t) SpecConstantOp 113 525(su)
543(u_to_i16): 17(int16_t) SpecConstantOp 128 542 202
544(u_to_u16): 14(int16_t) SpecConstantOp 113 525(su)
545(i16_to_i64):273(int64_t) SpecConstantOp 114 527(si16)
546:285(int64_t) SpecConstantOp 113 528(su16)
547:285(int64_t) Constant 0 0
548(u16_to_i64):273(int64_t) SpecConstantOp 128 546 547
549(i64_to_i16): 17(int16_t) SpecConstantOp 114 522(si64)
550: 17(int16_t) SpecConstantOp 114 522(si64)
551(i64_to_u16): 14(int16_t) SpecConstantOp 128 550 202
552:273(int64_t) SpecConstantOp 114 527(si16)
553(i16_to_u64):285(int64_t) SpecConstantOp 128 552 547
554(u16_to_u64):285(int64_t) SpecConstantOp 113 528(su16)
555: 14(int16_t) SpecConstantOp 113 523(su64)
556(u64_to_i16): 17(int16_t) SpecConstantOp 128 555 202
557(u64_to_u16): 14(int16_t) SpecConstantOp 113 523(su64)
558(i16_to_u16): 14(int16_t) SpecConstantOp 128 527(si16) 202
559(u16_to_i16): 17(int16_t) SpecConstantOp 128 528(su16) 202
435: TypePointer Function 273(int64_t)
438: TypeVector 17(int16_t) 4
444: TypePointer Function 285(int64_t)
447: TypeVector 14(int16_t) 4
453: TypePointer Function 388(bvec3)
531(Block): TypeStruct 54(i16vec3) 14(int16_t)
532: TypePointer Uniform 531(Block)
533(block): 532(ptr) Variable Uniform
534: TypePointer Input 49(i16vec3)
535(iu16v): 534(ptr) Variable Input
536: TypePointer Input 17(int16_t)
537(ii16): 536(ptr) Variable Input
538(si64):273(int64_t) SpecConstant 4294967286 4294967295
539(su64):285(int64_t) SpecConstant 20 0
540(si): 28(int) SpecConstant 4294967291
541(su): 18(int) SpecConstant 4
542(sb): 125(bool) SpecConstantTrue
543(si16): 17(int16_t) SpecConstant 4294967291
544(su16): 14(int16_t) SpecConstant 4
545(i16_to_b): 125(bool) SpecConstantOp 171 543(si16) 202
546(u16_to_b): 125(bool) SpecConstantOp 171 544(su16) 202
547(b_to_i16): 17(int16_t) SpecConstantOp 169 542(sb) 53 194
548(b_to_u16): 14(int16_t) SpecConstantOp 169 542(sb) 203 202
549(i16_to_i): 28(int) SpecConstantOp 114 543(si16)
550: 18(int) SpecConstantOp 113 544(su16)
551(u16_to_i): 28(int) SpecConstantOp 128 550 128
552(i_to_i16): 17(int16_t) SpecConstantOp 114 540(si)
553: 17(int16_t) SpecConstantOp 114 540(si)
554(i_to_u16): 14(int16_t) SpecConstantOp 128 553 202
555: 28(int) SpecConstantOp 114 543(si16)
556(i16_to_u): 18(int) SpecConstantOp 128 555 128
557(u16_to_u): 18(int) SpecConstantOp 113 544(su16)
558: 14(int16_t) SpecConstantOp 113 541(su)
559(u_to_i16): 17(int16_t) SpecConstantOp 128 558 202
560(u_to_u16): 14(int16_t) SpecConstantOp 113 541(su)
561(i16_to_i64):273(int64_t) SpecConstantOp 114 543(si16)
562:285(int64_t) SpecConstantOp 113 544(su16)
563:285(int64_t) Constant 0 0
564(u16_to_i64):273(int64_t) SpecConstantOp 128 562 563
565(i64_to_i16): 17(int16_t) SpecConstantOp 114 538(si64)
566: 17(int16_t) SpecConstantOp 114 538(si64)
567(i64_to_u16): 14(int16_t) SpecConstantOp 128 566 202
568:273(int64_t) SpecConstantOp 114 543(si16)
569(i16_to_u64):285(int64_t) SpecConstantOp 128 568 563
570(u16_to_u64):285(int64_t) SpecConstantOp 113 544(su16)
571: 14(int16_t) SpecConstantOp 113 539(su64)
572(u64_to_i16): 17(int16_t) SpecConstantOp 128 571 202
573(u64_to_u16): 14(int16_t) SpecConstantOp 113 539(su64)
574(i16_to_u16): 14(int16_t) SpecConstantOp 128 543(si16) 202
575(u16_to_i16): 17(int16_t) SpecConstantOp 128 544(su16) 202
4(main): 2 Function None 3
5: Label
511: 2 FunctionCall 6(literal()
512: 2 FunctionCall 8(operators()
513: 2 FunctionCall 10(typeCast()
514: 2 FunctionCall 12(builtinFuncs()
527: 2 FunctionCall 6(literal()
528: 2 FunctionCall 8(operators()
529: 2 FunctionCall 10(typeCast()
530: 2 FunctionCall 12(builtinFuncs()
Return
FunctionEnd
6(literal(): 2 Function None 3
@ -568,11 +568,11 @@ spv.int16.amd.frag
321(u16): 15(ptr) Variable Function
393(f16v): 392(ptr) Variable Function
396(exp): 395(ptr) Variable Function
418(packi): 158(ptr) Variable Function
423(packu): 147(ptr) Variable Function
432(packi64): 431(ptr) Variable Function
441(packu64): 440(ptr) Variable Function
450(bv): 449(ptr) Variable Function
420(packi): 158(ptr) Variable Function
425(packu): 147(ptr) Variable Function
436(packi64): 435(ptr) Variable Function
445(packu64): 444(ptr) Variable Function
454(bv): 453(ptr) Variable Function
306:187(i16vec2) Load 305(i16v)
307:187(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 306
Store 305(i16v) 307
@ -686,114 +686,138 @@ spv.int16.amd.frag
Store 411 410
412:187(i16vec2) Load 305(i16v)
413:262(f16vec2) Bitcast 412
414:391(f16vec3) Load 393(f16v)
415:391(f16vec3) VectorShuffle 414 413 3 4 2
Store 393(f16v) 415
416: 49(i16vec3) Load 319(u16v)
417:391(f16vec3) Bitcast 416
Store 393(f16v) 417
419:187(i16vec2) Load 305(i16v)
420: 28(int) Bitcast 419
Store 418(packi) 420
421: 28(int) Load 418(packi)
422:187(i16vec2) Bitcast 421
Store 305(i16v) 422
424: 49(i16vec3) Load 319(u16v)
425:198(i16vec2) VectorShuffle 424 424 0 1
426: 18(int) Bitcast 425
Store 423(packu) 426
427: 18(int) Load 423(packu)
428:198(i16vec2) Bitcast 427
429: 49(i16vec3) Load 319(u16v)
430: 49(i16vec3) VectorShuffle 429 428 3 4 2
Store 319(u16v) 430
433: 17(int16_t) Load 311(i16)
435:434(i16vec4) CompositeConstruct 433 433 433 433
436:273(int64_t) Bitcast 435
Store 432(packi64) 436
437:273(int64_t) Load 432(packi64)
438:434(i16vec4) Bitcast 437
439:187(i16vec2) VectorShuffle 438 438 0 1
Store 305(i16v) 439
442: 14(int16_t) Load 321(u16)
444:443(i16vec4) CompositeConstruct 442 442 442 442
445:285(int64_t) Bitcast 444
Store 441(packu64) 445
446:285(int64_t) Load 441(packu64)
447:443(i16vec4) Bitcast 446
448: 49(i16vec3) VectorShuffle 447 447 0 1 2
Store 319(u16v) 448
451: 49(i16vec3) Load 319(u16v)
452: 14(int16_t) Load 321(u16)
453: 49(i16vec3) CompositeConstruct 452 452 452
454: 388(bvec3) ULessThan 451 453
Store 450(bv) 454
455:187(i16vec2) Load 305(i16v)
456: 17(int16_t) Load 311(i16)
457:187(i16vec2) CompositeConstruct 456 456
458: 190(bvec2) SLessThan 455 457
459: 388(bvec3) Load 450(bv)
460: 388(bvec3) VectorShuffle 459 458 3 4 2
Store 450(bv) 460
461: 49(i16vec3) Load 319(u16v)
462: 14(int16_t) Load 321(u16)
463: 49(i16vec3) CompositeConstruct 462 462 462
464: 388(bvec3) ULessThanEqual 461 463
Store 450(bv) 464
465:187(i16vec2) Load 305(i16v)
466: 17(int16_t) Load 311(i16)
467:187(i16vec2) CompositeConstruct 466 466
468: 190(bvec2) SLessThanEqual 465 467
469: 388(bvec3) Load 450(bv)
470: 388(bvec3) VectorShuffle 469 468 3 4 2
Store 450(bv) 470
471: 49(i16vec3) Load 319(u16v)
472: 14(int16_t) Load 321(u16)
473: 49(i16vec3) CompositeConstruct 472 472 472
474: 388(bvec3) UGreaterThan 471 473
Store 450(bv) 474
475:187(i16vec2) Load 305(i16v)
476: 17(int16_t) Load 311(i16)
477:187(i16vec2) CompositeConstruct 476 476
478: 190(bvec2) SGreaterThan 475 477
479: 388(bvec3) Load 450(bv)
480: 388(bvec3) VectorShuffle 479 478 3 4 2
Store 450(bv) 480
481: 49(i16vec3) Load 319(u16v)
482: 14(int16_t) Load 321(u16)
483: 49(i16vec3) CompositeConstruct 482 482 482
484: 388(bvec3) UGreaterThanEqual 481 483
Store 450(bv) 484
485:187(i16vec2) Load 305(i16v)
486: 17(int16_t) Load 311(i16)
487:187(i16vec2) CompositeConstruct 486 486
488: 190(bvec2) SGreaterThanEqual 485 487
489: 388(bvec3) Load 450(bv)
490: 388(bvec3) VectorShuffle 489 488 3 4 2
Store 450(bv) 490
414: 407(ptr) AccessChain 393(f16v) 128
415:261(float16_t) CompositeExtract 413 0
Store 414 415
416: 407(ptr) AccessChain 393(f16v) 111
417:261(float16_t) CompositeExtract 413 1
Store 416 417
418: 49(i16vec3) Load 319(u16v)
419:391(f16vec3) Bitcast 418
Store 393(f16v) 419
421:187(i16vec2) Load 305(i16v)
422: 28(int) Bitcast 421
Store 420(packi) 422
423: 28(int) Load 420(packi)
424:187(i16vec2) Bitcast 423
Store 305(i16v) 424
426: 49(i16vec3) Load 319(u16v)
427:198(i16vec2) VectorShuffle 426 426 0 1
428: 18(int) Bitcast 427
Store 425(packu) 428
429: 18(int) Load 425(packu)
430:198(i16vec2) Bitcast 429
431: 15(ptr) AccessChain 319(u16v) 128
432: 14(int16_t) CompositeExtract 430 0
Store 431 432
433: 15(ptr) AccessChain 319(u16v) 111
434: 14(int16_t) CompositeExtract 430 1
Store 433 434
437: 17(int16_t) Load 311(i16)
439:438(i16vec4) CompositeConstruct 437 437 437 437
440:273(int64_t) Bitcast 439
Store 436(packi64) 440
441:273(int64_t) Load 436(packi64)
442:438(i16vec4) Bitcast 441
443:187(i16vec2) VectorShuffle 442 442 0 1
Store 305(i16v) 443
446: 14(int16_t) Load 321(u16)
448:447(i16vec4) CompositeConstruct 446 446 446 446
449:285(int64_t) Bitcast 448
Store 445(packu64) 449
450:285(int64_t) Load 445(packu64)
451:447(i16vec4) Bitcast 450
452: 49(i16vec3) VectorShuffle 451 451 0 1 2
Store 319(u16v) 452
455: 49(i16vec3) Load 319(u16v)
456: 14(int16_t) Load 321(u16)
457: 49(i16vec3) CompositeConstruct 456 456 456
458: 388(bvec3) ULessThan 455 457
Store 454(bv) 458
459:187(i16vec2) Load 305(i16v)
460: 17(int16_t) Load 311(i16)
461:187(i16vec2) CompositeConstruct 460 460
462: 190(bvec2) SLessThan 459 461
463: 126(ptr) AccessChain 454(bv) 128
464: 125(bool) CompositeExtract 462 0
Store 463 464
465: 126(ptr) AccessChain 454(bv) 111
466: 125(bool) CompositeExtract 462 1
Store 465 466
467: 49(i16vec3) Load 319(u16v)
468: 14(int16_t) Load 321(u16)
469: 49(i16vec3) CompositeConstruct 468 468 468
470: 388(bvec3) ULessThanEqual 467 469
Store 454(bv) 470
471:187(i16vec2) Load 305(i16v)
472: 17(int16_t) Load 311(i16)
473:187(i16vec2) CompositeConstruct 472 472
474: 190(bvec2) SLessThanEqual 471 473
475: 126(ptr) AccessChain 454(bv) 128
476: 125(bool) CompositeExtract 474 0
Store 475 476
477: 126(ptr) AccessChain 454(bv) 111
478: 125(bool) CompositeExtract 474 1
Store 477 478
479: 49(i16vec3) Load 319(u16v)
480: 14(int16_t) Load 321(u16)
481: 49(i16vec3) CompositeConstruct 480 480 480
482: 388(bvec3) UGreaterThan 479 481
Store 454(bv) 482
483:187(i16vec2) Load 305(i16v)
484: 17(int16_t) Load 311(i16)
485:187(i16vec2) CompositeConstruct 484 484
486: 190(bvec2) SGreaterThan 483 485
487: 126(ptr) AccessChain 454(bv) 128
488: 125(bool) CompositeExtract 486 0
Store 487 488
489: 126(ptr) AccessChain 454(bv) 111
490: 125(bool) CompositeExtract 486 1
Store 489 490
491: 49(i16vec3) Load 319(u16v)
492: 14(int16_t) Load 321(u16)
493: 49(i16vec3) CompositeConstruct 492 492 492
494: 388(bvec3) IEqual 491 493
Store 450(bv) 494
494: 388(bvec3) UGreaterThanEqual 491 493
Store 454(bv) 494
495:187(i16vec2) Load 305(i16v)
496: 17(int16_t) Load 311(i16)
497:187(i16vec2) CompositeConstruct 496 496
498: 190(bvec2) IEqual 495 497
499: 388(bvec3) Load 450(bv)
500: 388(bvec3) VectorShuffle 499 498 3 4 2
Store 450(bv) 500
501: 49(i16vec3) Load 319(u16v)
502: 14(int16_t) Load 321(u16)
503: 49(i16vec3) CompositeConstruct 502 502 502
504: 388(bvec3) INotEqual 501 503
Store 450(bv) 504
505:187(i16vec2) Load 305(i16v)
506: 17(int16_t) Load 311(i16)
507:187(i16vec2) CompositeConstruct 506 506
508: 190(bvec2) INotEqual 505 507
509: 388(bvec3) Load 450(bv)
510: 388(bvec3) VectorShuffle 509 508 3 4 2
Store 450(bv) 510
498: 190(bvec2) SGreaterThanEqual 495 497
499: 126(ptr) AccessChain 454(bv) 128
500: 125(bool) CompositeExtract 498 0
Store 499 500
501: 126(ptr) AccessChain 454(bv) 111
502: 125(bool) CompositeExtract 498 1
Store 501 502
503: 49(i16vec3) Load 319(u16v)
504: 14(int16_t) Load 321(u16)
505: 49(i16vec3) CompositeConstruct 504 504 504
506: 388(bvec3) IEqual 503 505
Store 454(bv) 506
507:187(i16vec2) Load 305(i16v)
508: 17(int16_t) Load 311(i16)
509:187(i16vec2) CompositeConstruct 508 508
510: 190(bvec2) IEqual 507 509
511: 126(ptr) AccessChain 454(bv) 128
512: 125(bool) CompositeExtract 510 0
Store 511 512
513: 126(ptr) AccessChain 454(bv) 111
514: 125(bool) CompositeExtract 510 1
Store 513 514
515: 49(i16vec3) Load 319(u16v)
516: 14(int16_t) Load 321(u16)
517: 49(i16vec3) CompositeConstruct 516 516 516
518: 388(bvec3) INotEqual 515 517
Store 454(bv) 518
519:187(i16vec2) Load 305(i16v)
520: 17(int16_t) Load 311(i16)
521:187(i16vec2) CompositeConstruct 520 520
522: 190(bvec2) INotEqual 519 521
523: 126(ptr) AccessChain 454(bv) 128
524: 125(bool) CompositeExtract 522 0
Store 523 524
525: 126(ptr) AccessChain 454(bv) 111
526: 125(bool) CompositeExtract 522 1
Store 525 526
Return
FunctionEnd

View File

@ -1,7 +1,7 @@
spv.int16.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 523
// Id's are bound by 535
Capability Shader
Capability Float16
@ -66,35 +66,35 @@ spv.int16.frag
Name 442 "u64"
Name 445 "u16v4"
Name 457 "bv"
Name 518 "Block"
MemberName 518(Block) 0 "i16"
MemberName 518(Block) 1 "i16v2"
MemberName 518(Block) 2 "i16v3"
MemberName 518(Block) 3 "i16v4"
MemberName 518(Block) 4 "u16"
MemberName 518(Block) 5 "u16v2"
MemberName 518(Block) 6 "u16v3"
MemberName 518(Block) 7 "u16v4"
Name 520 "block"
Name 521 "si16"
Name 522 "su16"
Name 530 "Block"
MemberName 530(Block) 0 "i16"
MemberName 530(Block) 1 "i16v2"
MemberName 530(Block) 2 "i16v3"
MemberName 530(Block) 3 "i16v4"
MemberName 530(Block) 4 "u16"
MemberName 530(Block) 5 "u16v2"
MemberName 530(Block) 6 "u16v3"
MemberName 530(Block) 7 "u16v4"
Name 532 "block"
Name 533 "si16"
Name 534 "su16"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
MemberDecorate 518(Block) 0 Offset 0
MemberDecorate 518(Block) 1 Offset 4
MemberDecorate 518(Block) 2 Offset 8
MemberDecorate 518(Block) 3 Offset 16
MemberDecorate 518(Block) 4 Offset 24
MemberDecorate 518(Block) 5 Offset 28
MemberDecorate 518(Block) 6 Offset 32
MemberDecorate 518(Block) 7 Offset 40
Decorate 518(Block) Block
Decorate 520(block) DescriptorSet 0
Decorate 520(block) Binding 1
Decorate 521(si16) SpecId 100
Decorate 522(su16) SpecId 101
MemberDecorate 530(Block) 0 Offset 0
MemberDecorate 530(Block) 1 Offset 4
MemberDecorate 530(Block) 2 Offset 8
MemberDecorate 530(Block) 3 Offset 16
MemberDecorate 530(Block) 4 Offset 24
MemberDecorate 530(Block) 5 Offset 28
MemberDecorate 530(Block) 6 Offset 32
MemberDecorate 530(Block) 7 Offset 40
Decorate 530(Block) Block
Decorate 532(block) DescriptorSet 0
Decorate 532(block) Binding 1
Decorate 533(si16) SpecId 100
Decorate 534(su16) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 1
@ -186,11 +186,11 @@ spv.int16.frag
443: TypeVector 36(int16_t) 4
444: TypePointer Function 443(i16vec4)
456: TypePointer Function 425(bvec3)
518(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
519: TypePointer Uniform 518(Block)
520(block): 519(ptr) Variable Uniform
521(si16): 14(int16_t) SpecConstant 4294967286
522(su16): 36(int16_t) SpecConstant 20
530(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
531: TypePointer Uniform 530(Block)
532(block): 531(ptr) Variable Uniform
533(si16): 14(int16_t) SpecConstant 4294967286
534(su16): 36(int16_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@ -675,68 +675,86 @@ spv.int16.frag
463: 14(int16_t) Load 346(i16)
464: 52(i16vec2) CompositeConstruct 463 463
465: 174(bvec2) SLessThan 462 464
466: 425(bvec3) Load 457(bv)
467: 425(bvec3) VectorShuffle 466 465 3 4 2
Store 457(bv) 467
468:193(i16vec3) Load 356(u16v)
469: 36(int16_t) Load 358(u16)
470:193(i16vec3) CompositeConstruct 469 469 469
471: 425(bvec3) ULessThanEqual 468 470
Store 457(bv) 471
472: 52(i16vec2) Load 343(i16v)
473: 14(int16_t) Load 346(i16)
474: 52(i16vec2) CompositeConstruct 473 473
475: 174(bvec2) SLessThanEqual 472 474
476: 425(bvec3) Load 457(bv)
477: 425(bvec3) VectorShuffle 476 475 3 4 2
Store 457(bv) 477
478:193(i16vec3) Load 356(u16v)
479: 36(int16_t) Load 358(u16)
480:193(i16vec3) CompositeConstruct 479 479 479
481: 425(bvec3) UGreaterThan 478 480
Store 457(bv) 481
482: 52(i16vec2) Load 343(i16v)
483: 14(int16_t) Load 346(i16)
484: 52(i16vec2) CompositeConstruct 483 483
485: 174(bvec2) SGreaterThan 482 484
486: 425(bvec3) Load 457(bv)
487: 425(bvec3) VectorShuffle 486 485 3 4 2
Store 457(bv) 487
488:193(i16vec3) Load 356(u16v)
489: 36(int16_t) Load 358(u16)
490:193(i16vec3) CompositeConstruct 489 489 489
491: 425(bvec3) UGreaterThanEqual 488 490
Store 457(bv) 491
492: 52(i16vec2) Load 343(i16v)
493: 14(int16_t) Load 346(i16)
494: 52(i16vec2) CompositeConstruct 493 493
495: 174(bvec2) SGreaterThanEqual 492 494
496: 425(bvec3) Load 457(bv)
497: 425(bvec3) VectorShuffle 496 495 3 4 2
466: 280(ptr) AccessChain 457(bv) 282
467: 173(bool) CompositeExtract 465 0
Store 466 467
468: 280(ptr) AccessChain 457(bv) 264
469: 173(bool) CompositeExtract 465 1
Store 468 469
470:193(i16vec3) Load 356(u16v)
471: 36(int16_t) Load 358(u16)
472:193(i16vec3) CompositeConstruct 471 471 471
473: 425(bvec3) ULessThanEqual 470 472
Store 457(bv) 473
474: 52(i16vec2) Load 343(i16v)
475: 14(int16_t) Load 346(i16)
476: 52(i16vec2) CompositeConstruct 475 475
477: 174(bvec2) SLessThanEqual 474 476
478: 280(ptr) AccessChain 457(bv) 282
479: 173(bool) CompositeExtract 477 0
Store 478 479
480: 280(ptr) AccessChain 457(bv) 264
481: 173(bool) CompositeExtract 477 1
Store 480 481
482:193(i16vec3) Load 356(u16v)
483: 36(int16_t) Load 358(u16)
484:193(i16vec3) CompositeConstruct 483 483 483
485: 425(bvec3) UGreaterThan 482 484
Store 457(bv) 485
486: 52(i16vec2) Load 343(i16v)
487: 14(int16_t) Load 346(i16)
488: 52(i16vec2) CompositeConstruct 487 487
489: 174(bvec2) SGreaterThan 486 488
490: 280(ptr) AccessChain 457(bv) 282
491: 173(bool) CompositeExtract 489 0
Store 490 491
492: 280(ptr) AccessChain 457(bv) 264
493: 173(bool) CompositeExtract 489 1
Store 492 493
494:193(i16vec3) Load 356(u16v)
495: 36(int16_t) Load 358(u16)
496:193(i16vec3) CompositeConstruct 495 495 495
497: 425(bvec3) UGreaterThanEqual 494 496
Store 457(bv) 497
498:193(i16vec3) Load 356(u16v)
499: 36(int16_t) Load 358(u16)
500:193(i16vec3) CompositeConstruct 499 499 499
501: 425(bvec3) IEqual 498 500
Store 457(bv) 501
502: 52(i16vec2) Load 343(i16v)
503: 14(int16_t) Load 346(i16)
504: 52(i16vec2) CompositeConstruct 503 503
505: 174(bvec2) IEqual 502 504
506: 425(bvec3) Load 457(bv)
507: 425(bvec3) VectorShuffle 506 505 3 4 2
Store 457(bv) 507
508:193(i16vec3) Load 356(u16v)
509: 36(int16_t) Load 358(u16)
510:193(i16vec3) CompositeConstruct 509 509 509
511: 425(bvec3) INotEqual 508 510
Store 457(bv) 511
512: 52(i16vec2) Load 343(i16v)
513: 14(int16_t) Load 346(i16)
514: 52(i16vec2) CompositeConstruct 513 513
515: 174(bvec2) INotEqual 512 514
516: 425(bvec3) Load 457(bv)
517: 425(bvec3) VectorShuffle 516 515 3 4 2
Store 457(bv) 517
498: 52(i16vec2) Load 343(i16v)
499: 14(int16_t) Load 346(i16)
500: 52(i16vec2) CompositeConstruct 499 499
501: 174(bvec2) SGreaterThanEqual 498 500
502: 280(ptr) AccessChain 457(bv) 282
503: 173(bool) CompositeExtract 501 0
Store 502 503
504: 280(ptr) AccessChain 457(bv) 264
505: 173(bool) CompositeExtract 501 1
Store 504 505
506:193(i16vec3) Load 356(u16v)
507: 36(int16_t) Load 358(u16)
508:193(i16vec3) CompositeConstruct 507 507 507
509: 425(bvec3) IEqual 506 508
Store 457(bv) 509
510: 52(i16vec2) Load 343(i16v)
511: 14(int16_t) Load 346(i16)
512: 52(i16vec2) CompositeConstruct 511 511
513: 174(bvec2) IEqual 510 512
514: 280(ptr) AccessChain 457(bv) 282
515: 173(bool) CompositeExtract 513 0
Store 514 515
516: 280(ptr) AccessChain 457(bv) 264
517: 173(bool) CompositeExtract 513 1
Store 516 517
518:193(i16vec3) Load 356(u16v)
519: 36(int16_t) Load 358(u16)
520:193(i16vec3) CompositeConstruct 519 519 519
521: 425(bvec3) INotEqual 518 520
Store 457(bv) 521
522: 52(i16vec2) Load 343(i16v)
523: 14(int16_t) Load 346(i16)
524: 52(i16vec2) CompositeConstruct 523 523
525: 174(bvec2) INotEqual 522 524
526: 280(ptr) AccessChain 457(bv) 282
527: 173(bool) CompositeExtract 525 0
Store 526 527
528: 280(ptr) AccessChain 457(bv) 264
529: 173(bool) CompositeExtract 525 1
Store 528 529
Return
FunctionEnd

View File

@ -1,7 +1,7 @@
spv.int32.frag
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 493
// Id's are bound by 505
Capability Shader
Capability Float16
@ -65,41 +65,41 @@ spv.int32.frag
Name 416 "u32v2"
Name 418 "u64"
Name 422 "bv"
Name 485 "Block"
MemberName 485(Block) 0 "i32"
MemberName 485(Block) 1 "i32v2"
MemberName 485(Block) 2 "i32v3"
MemberName 485(Block) 3 "i32v4"
MemberName 485(Block) 4 "u32"
MemberName 485(Block) 5 "u32v2"
MemberName 485(Block) 6 "u32v3"
MemberName 485(Block) 7 "u32v4"
Name 487 "block"
Name 488 "si32"
Name 489 "su32"
Name 490 "si"
Name 491 "su"
Name 492 "sb"
Name 497 "Block"
MemberName 497(Block) 0 "i32"
MemberName 497(Block) 1 "i32v2"
MemberName 497(Block) 2 "i32v3"
MemberName 497(Block) 3 "i32v4"
MemberName 497(Block) 4 "u32"
MemberName 497(Block) 5 "u32v2"
MemberName 497(Block) 6 "u32v3"
MemberName 497(Block) 7 "u32v4"
Name 499 "block"
Name 500 "si32"
Name 501 "su32"
Name 502 "si"
Name 503 "su"
Name 504 "sb"
MemberDecorate 27(Uniforms) 0 Offset 0
Decorate 27(Uniforms) Block
Decorate 29 DescriptorSet 0
Decorate 29 Binding 0
MemberDecorate 485(Block) 0 Offset 0
MemberDecorate 485(Block) 1 Offset 8
MemberDecorate 485(Block) 2 Offset 16
MemberDecorate 485(Block) 3 Offset 32
MemberDecorate 485(Block) 4 Offset 48
MemberDecorate 485(Block) 5 Offset 56
MemberDecorate 485(Block) 6 Offset 64
MemberDecorate 485(Block) 7 Offset 80
Decorate 485(Block) Block
Decorate 487(block) DescriptorSet 0
Decorate 487(block) Binding 1
Decorate 488(si32) SpecId 100
Decorate 489(su32) SpecId 101
Decorate 490(si) SpecId 102
Decorate 491(su) SpecId 103
Decorate 492(sb) SpecId 104
MemberDecorate 497(Block) 0 Offset 0
MemberDecorate 497(Block) 1 Offset 8
MemberDecorate 497(Block) 2 Offset 16
MemberDecorate 497(Block) 3 Offset 32
MemberDecorate 497(Block) 4 Offset 48
MemberDecorate 497(Block) 5 Offset 56
MemberDecorate 497(Block) 6 Offset 64
MemberDecorate 497(Block) 7 Offset 80
Decorate 497(Block) Block
Decorate 499(block) DescriptorSet 0
Decorate 499(block) Binding 1
Decorate 500(si32) SpecId 100
Decorate 501(su32) SpecId 101
Decorate 502(si) SpecId 102
Decorate 503(su) SpecId 103
Decorate 504(sb) SpecId 104
2: TypeVoid
3: TypeFunction 2
14: TypeInt 32 0
@ -185,16 +185,16 @@ spv.int32.frag
406: TypePointer Function 405(i8vec4)
417: TypePointer Function 63(int64_t)
421: TypePointer Function 394(bvec3)
483: TypeVector 18(int) 4
484: TypeVector 14(int) 4
485(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 483(ivec4) 14(int) 49(ivec2) 184(ivec3) 484(ivec4)
486: TypePointer Uniform 485(Block)
487(block): 486(ptr) Variable Uniform
488(si32): 18(int) SpecConstant 4294967286
489(su32): 14(int) SpecConstant 20
490(si): 18(int) SpecConstant 4294967291
491(su): 14(int) SpecConstant 4
492(sb): 165(bool) SpecConstantTrue
495: TypeVector 18(int) 4
496: TypeVector 14(int) 4
497(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 495(ivec4) 14(int) 49(ivec2) 184(ivec3) 496(ivec4)
498: TypePointer Uniform 497(Block)
499(block): 498(ptr) Variable Uniform
500(si32): 18(int) SpecConstant 4294967286
501(su32): 14(int) SpecConstant 20
502(si): 18(int) SpecConstant 4294967291
503(su): 14(int) SpecConstant 4
504(sb): 165(bool) SpecConstantTrue
4(main): 2 Function None 3
5: Label
Store 16(u32Max) 17
@ -645,68 +645,86 @@ spv.int32.frag
428: 18(int) Load 315(i32)
429: 52(ivec2) CompositeConstruct 428 428
430: 166(bvec2) SLessThan 427 429
431: 394(bvec3) Load 422(bv)
432: 394(bvec3) VectorShuffle 431 430 3 4 2
Store 422(bv) 432
433: 184(ivec3) Load 325(u32v)
434: 14(int) Load 327(u32)
435: 184(ivec3) CompositeConstruct 434 434 434
436: 394(bvec3) ULessThanEqual 433 435
Store 422(bv) 436
437: 52(ivec2) Load 312(i32v)
438: 18(int) Load 315(i32)
439: 52(ivec2) CompositeConstruct 438 438
440: 166(bvec2) SLessThanEqual 437 439
441: 394(bvec3) Load 422(bv)
442: 394(bvec3) VectorShuffle 441 440 3 4 2
Store 422(bv) 442
443: 184(ivec3) Load 325(u32v)
444: 14(int) Load 327(u32)
445: 184(ivec3) CompositeConstruct 444 444 444
446: 394(bvec3) UGreaterThan 443 445
Store 422(bv) 446
447: 52(ivec2) Load 312(i32v)
448: 18(int) Load 315(i32)
449: 52(ivec2) CompositeConstruct 448 448
450: 166(bvec2) SGreaterThan 447 449
451: 394(bvec3) Load 422(bv)
452: 394(bvec3) VectorShuffle 451 450 3 4 2
Store 422(bv) 452
453: 184(ivec3) Load 325(u32v)
454: 14(int) Load 327(u32)
455: 184(ivec3) CompositeConstruct 454 454 454
456: 394(bvec3) UGreaterThanEqual 453 455
Store 422(bv) 456
457: 52(ivec2) Load 312(i32v)
458: 18(int) Load 315(i32)
459: 52(ivec2) CompositeConstruct 458 458
460: 166(bvec2) SGreaterThanEqual 457 459
461: 394(bvec3) Load 422(bv)
462: 394(bvec3) VectorShuffle 461 460 3 4 2
431: 259(ptr) AccessChain 422(bv) 175
432: 165(bool) CompositeExtract 430 0
Store 431 432
433: 259(ptr) AccessChain 422(bv) 176
434: 165(bool) CompositeExtract 430 1
Store 433 434
435: 184(ivec3) Load 325(u32v)
436: 14(int) Load 327(u32)
437: 184(ivec3) CompositeConstruct 436 436 436
438: 394(bvec3) ULessThanEqual 435 437
Store 422(bv) 438
439: 52(ivec2) Load 312(i32v)
440: 18(int) Load 315(i32)
441: 52(ivec2) CompositeConstruct 440 440
442: 166(bvec2) SLessThanEqual 439 441
443: 259(ptr) AccessChain 422(bv) 175
444: 165(bool) CompositeExtract 442 0
Store 443 444
445: 259(ptr) AccessChain 422(bv) 176
446: 165(bool) CompositeExtract 442 1
Store 445 446
447: 184(ivec3) Load 325(u32v)
448: 14(int) Load 327(u32)
449: 184(ivec3) CompositeConstruct 448 448 448
450: 394(bvec3) UGreaterThan 447 449
Store 422(bv) 450
451: 52(ivec2) Load 312(i32v)
452: 18(int) Load 315(i32)
453: 52(ivec2) CompositeConstruct 452 452
454: 166(bvec2) SGreaterThan 451 453
455: 259(ptr) AccessChain 422(bv) 175
456: 165(bool) CompositeExtract 454 0
Store 455 456
457: 259(ptr) AccessChain 422(bv) 176
458: 165(bool) CompositeExtract 454 1
Store 457 458
459: 184(ivec3) Load 325(u32v)
460: 14(int) Load 327(u32)
461: 184(ivec3) CompositeConstruct 460 460 460
462: 394(bvec3) UGreaterThanEqual 459 461
Store 422(bv) 462
463: 184(ivec3) Load 325(u32v)
464: 14(int) Load 327(u32)
465: 184(ivec3) CompositeConstruct 464 464 464
466: 394(bvec3) IEqual 463 465
Store 422(bv) 466
467: 52(ivec2) Load 312(i32v)
468: 18(int) Load 315(i32)
469: 52(ivec2) CompositeConstruct 468 468
470: 166(bvec2) IEqual 467 469
471: 394(bvec3) Load 422(bv)
472: 394(bvec3) VectorShuffle 471 470 3 4 2
Store 422(bv) 472
473: 184(ivec3) Load 325(u32v)
474: 14(int) Load 327(u32)
475: 184(ivec3) CompositeConstruct 474 474 474
476: 394(bvec3) INotEqual 473 475
Store 422(bv) 476
477: 52(ivec2) Load 312(i32v)
478: 18(int) Load 315(i32)
479: 52(ivec2) CompositeConstruct 478 478
480: 166(bvec2) INotEqual 477 479
481: 394(bvec3) Load 422(bv)
482: 394(bvec3) VectorShuffle 481 480 3 4 2
Store 422(bv) 482
463: 52(ivec2) Load 312(i32v)
464: 18(int) Load 315(i32)
465: 52(ivec2) CompositeConstruct 464 464
466: 166(bvec2) SGreaterThanEqual 463 465
467: 259(ptr) AccessChain 422(bv) 175
468: 165(bool) CompositeExtract 466 0
Store 467 468
469: 259(ptr) AccessChain 422(bv) 176
470: 165(bool) CompositeExtract 466 1
Store 469 470
471: 184(ivec3) Load 325(u32v)
472: 14(int) Load 327(u32)
473: 184(ivec3) CompositeConstruct 472 472 472
474: 394(bvec3) IEqual 471 473
Store 422(bv) 474
475: 52(ivec2) Load 312(i32v)
476: 18(int) Load 315(i32)
477: 52(ivec2) CompositeConstruct 476 476
478: 166(bvec2) IEqual 475 477
479: 259(ptr) AccessChain 422(bv) 175
480: 165(bool) CompositeExtract 478 0
Store 479 480
481: 259(ptr) AccessChain 422(bv) 176
482: 165(bool) CompositeExtract 478 1
Store 481 482
483: 184(ivec3) Load 325(u32v)
484: 14(int) Load 327(u32)
485: 184(ivec3) CompositeConstruct 484 484 484
486: 394(bvec3) INotEqual 483 485
Store 422(bv) 486
487: 52(ivec2) Load 312(i32v)
488: 18(int) Load 315(i32)
489: 52(ivec2) CompositeConstruct 488 488
490: 166(bvec2) INotEqual 487 489
491: 259(ptr) AccessChain 422(bv) 175
492: 165(bool) CompositeExtract 490 0
Store 491 492
493: 259(ptr) AccessChain 422(bv) 176
494: 165(bool) CompositeExtract 490 1
Store 493 494
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ spv.int64.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 499
// Id's are bound by 513
Capability Shader
Capability Float64
@ -44,48 +44,48 @@ Validation failed
Name 299 "u64v"
Name 301 "u64"
Name 373 "dv"
Name 392 "iv"
Name 397 "uv"
Name 401 "bv"
Name 472 "Block"
MemberName 472(Block) 0 "i64v"
MemberName 472(Block) 1 "u64"
Name 474 "block"
Name 475 "si64"
Name 476 "su64"
Name 477 "si"
Name 478 "su"
Name 479 "sb"
Name 480 "su64inc"
Name 481 "i64_to_b"
Name 482 "u64_to_b"
Name 483 "b_to_i64"
Name 484 "b_to_u64"
Name 485 "i64_to_i"
Name 486 "i_to_i64"
Name 487 "u64_to_u"
Name 488 "u_to_u64"
Name 489 "u64_to_i64"
Name 490 "i64_to_u64"
Name 492 "u64_to_i"
Name 494 "i_to_u64"
Name 496 "i64_to_u"
Name 498 "u_to_i64"
Name 394 "iv"
Name 399 "uv"
Name 403 "bv"
Name 486 "Block"
MemberName 486(Block) 0 "i64v"
MemberName 486(Block) 1 "u64"
Name 488 "block"
Name 489 "si64"
Name 490 "su64"
Name 491 "si"
Name 492 "su"
Name 493 "sb"
Name 494 "su64inc"
Name 495 "i64_to_b"
Name 496 "u64_to_b"
Name 497 "b_to_i64"
Name 498 "b_to_u64"
Name 499 "i64_to_i"
Name 500 "i_to_i64"
Name 501 "u64_to_u"
Name 502 "u_to_u64"
Name 503 "u64_to_i64"
Name 504 "i64_to_u64"
Name 506 "u64_to_i"
Name 508 "i_to_u64"
Name 510 "i64_to_u"
Name 512 "u_to_i64"
MemberDecorate 28(Uniforms) 0 Offset 0
Decorate 28(Uniforms) Block
Decorate 30 DescriptorSet 0
Decorate 30 Binding 0
MemberDecorate 472(Block) 0 Offset 0
MemberDecorate 472(Block) 1 Offset 24
Decorate 472(Block) Block
Decorate 474(block) DescriptorSet 0
Decorate 474(block) Binding 1
Decorate 475(si64) SpecId 100
Decorate 476(su64) SpecId 101
Decorate 477(si) SpecId 102
Decorate 478(su) SpecId 103
Decorate 479(sb) SpecId 104
Decorate 480(su64inc) SpecId 105
MemberDecorate 486(Block) 0 Offset 0
MemberDecorate 486(Block) 1 Offset 24
Decorate 486(Block) Block
Decorate 488(block) DescriptorSet 0
Decorate 488(block) Binding 1
Decorate 489(si64) SpecId 100
Decorate 490(su64) SpecId 101
Decorate 491(si) SpecId 102
Decorate 492(su) SpecId 103
Decorate 493(sb) SpecId 104
Decorate 494(su64inc) SpecId 105
2: TypeVoid
3: TypeFunction 2
14: TypeInt 64 0
@ -161,38 +161,38 @@ Validation failed
371: TypeVector 94(float64_t) 3
372: TypePointer Function 371(f64vec3)
377: TypePointer Function 94(float64_t)
388: 31(int) Constant 1
389: 31(int) Constant 2
390: 74(ivec2) ConstantComposite 388 389
395: 81(ivec2) ConstantComposite 217 22
400: TypePointer Function 368(bvec3)
472(Block): TypeStruct 136(i64vec3) 14(int64_t)
473: TypePointer Uniform 472(Block)
474(block): 473(ptr) Variable Uniform
475(si64): 18(int64_t) SpecConstant 4294967286 4294967295
476(su64): 14(int64_t) SpecConstant 20 0
477(si): 31(int) SpecConstant 4294967291
478(su): 21(int) SpecConstant 4
479(sb): 55(bool) SpecConstantTrue
480(su64inc): 14(int64_t) SpecConstantOp 128 476(su64) 70
481(i64_to_b): 55(bool) SpecConstantOp 171 475(si64) 69
482(u64_to_b): 55(bool) SpecConstantOp 171 476(su64) 69
483(b_to_i64): 18(int64_t) SpecConstantOp 169 479(sb) 61 60
484(b_to_u64): 14(int64_t) SpecConstantOp 169 479(sb) 70 69
485(i64_to_i): 31(int) SpecConstantOp 114 475(si64)
486(i_to_i64): 18(int64_t) SpecConstantOp 114 477(si)
487(u64_to_u): 21(int) SpecConstantOp 113 476(su64)
488(u_to_u64): 14(int64_t) SpecConstantOp 113 478(su)
489(u64_to_i64): 18(int64_t) SpecConstantOp 128 476(su64) 69
490(i64_to_u64): 14(int64_t) SpecConstantOp 128 475(si64) 69
491: 21(int) SpecConstantOp 113 476(su64)
492(u64_to_i): 31(int) SpecConstantOp 128 491 227
493: 18(int64_t) SpecConstantOp 114 477(si)
494(i_to_u64): 14(int64_t) SpecConstantOp 128 493 69
495: 31(int) SpecConstantOp 114 475(si64)
496(i64_to_u): 21(int) SpecConstantOp 128 495 227
497: 14(int64_t) SpecConstantOp 113 478(su)
498(u_to_i64): 18(int64_t) SpecConstantOp 128 497 69
390: 31(int) Constant 1
391: 31(int) Constant 2
392: 74(ivec2) ConstantComposite 390 391
397: 81(ivec2) ConstantComposite 217 22
402: TypePointer Function 368(bvec3)
486(Block): TypeStruct 136(i64vec3) 14(int64_t)
487: TypePointer Uniform 486(Block)
488(block): 487(ptr) Variable Uniform
489(si64): 18(int64_t) SpecConstant 4294967286 4294967295
490(su64): 14(int64_t) SpecConstant 20 0
491(si): 31(int) SpecConstant 4294967291
492(su): 21(int) SpecConstant 4
493(sb): 55(bool) SpecConstantTrue
494(su64inc): 14(int64_t) SpecConstantOp 128 490(su64) 70
495(i64_to_b): 55(bool) SpecConstantOp 171 489(si64) 69
496(u64_to_b): 55(bool) SpecConstantOp 171 490(su64) 69
497(b_to_i64): 18(int64_t) SpecConstantOp 169 493(sb) 61 60
498(b_to_u64): 14(int64_t) SpecConstantOp 169 493(sb) 70 69
499(i64_to_i): 31(int) SpecConstantOp 114 489(si64)
500(i_to_i64): 18(int64_t) SpecConstantOp 114 491(si)
501(u64_to_u): 21(int) SpecConstantOp 113 490(su64)
502(u_to_u64): 14(int64_t) SpecConstantOp 113 492(su)
503(u64_to_i64): 18(int64_t) SpecConstantOp 128 490(su64) 69
504(i64_to_u64): 14(int64_t) SpecConstantOp 128 489(si64) 69
505: 21(int) SpecConstantOp 113 490(su64)
506(u64_to_i): 31(int) SpecConstantOp 128 505 227
507: 18(int64_t) SpecConstantOp 114 491(si)
508(i_to_u64): 14(int64_t) SpecConstantOp 128 507 69
509: 31(int) SpecConstantOp 114 489(si64)
510(i64_to_u): 21(int) SpecConstantOp 128 509 227
511: 14(int64_t) SpecConstantOp 113 492(su)
512(u_to_i64): 18(int64_t) SpecConstantOp 128 511 69
4(main): 2 Function None 3
5: Label
Store 16(u64Max) 17
@ -487,9 +487,9 @@ Validation failed
299(u64v): 133(ptr) Variable Function
301(u64): 40(ptr) Variable Function
373(dv): 372(ptr) Variable Function
392(iv): 75(ptr) Variable Function
397(uv): 82(ptr) Variable Function
401(bv): 400(ptr) Variable Function
394(iv): 75(ptr) Variable Function
399(uv): 82(ptr) Variable Function
403(bv): 402(ptr) Variable Function
287: 52(i64vec2) Load 286(i64v)
288: 52(i64vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 287
Store 286(i64v) 288
@ -593,107 +593,128 @@ Validation failed
Store 381 380
382: 52(i64vec2) Load 286(i64v)
383: 95(f64vec2) Bitcast 382
384:371(f64vec3) Load 373(dv)
385:371(f64vec3) VectorShuffle 384 383 3 4 2
Store 373(dv) 385
386:132(i64vec3) Load 299(u64v)
387:371(f64vec3) Bitcast 386
Store 373(dv) 387
391: 18(int64_t) Bitcast 390
Store 289(i64) 391
393: 18(int64_t) Load 289(i64)
394: 74(ivec2) Bitcast 393
Store 392(iv) 394
396: 14(int64_t) Bitcast 395
Store 301(u64) 396
398: 14(int64_t) Load 301(u64)
399: 81(ivec2) Bitcast 398
Store 397(uv) 399
402:132(i64vec3) Load 299(u64v)
403: 14(int64_t) Load 301(u64)
404:132(i64vec3) CompositeConstruct 403 403 403
405: 368(bvec3) ULessThan 402 404
Store 401(bv) 405
406: 52(i64vec2) Load 286(i64v)
407: 18(int64_t) Load 289(i64)
408: 52(i64vec2) CompositeConstruct 407 407
409: 56(bvec2) SLessThan 406 408
410: 368(bvec3) Load 401(bv)
411: 368(bvec3) VectorShuffle 410 409 3 4 2
Store 401(bv) 411
412:132(i64vec3) Load 299(u64v)
413: 14(int64_t) Load 301(u64)
414:132(i64vec3) CompositeConstruct 413 413 413
415: 368(bvec3) ULessThanEqual 412 414
Store 401(bv) 415
416: 52(i64vec2) Load 286(i64v)
417: 18(int64_t) Load 289(i64)
418: 52(i64vec2) CompositeConstruct 417 417
419: 56(bvec2) SLessThanEqual 416 418
420: 368(bvec3) Load 401(bv)
421: 368(bvec3) VectorShuffle 420 419 3 4 2
Store 401(bv) 421
422:132(i64vec3) Load 299(u64v)
423: 14(int64_t) Load 301(u64)
424:132(i64vec3) CompositeConstruct 423 423 423
425: 368(bvec3) UGreaterThan 422 424
Store 401(bv) 425
426: 52(i64vec2) Load 286(i64v)
427: 18(int64_t) Load 289(i64)
428: 52(i64vec2) CompositeConstruct 427 427
429: 56(bvec2) SGreaterThan 426 428
430: 368(bvec3) Load 401(bv)
431: 368(bvec3) VectorShuffle 430 429 3 4 2
Store 401(bv) 431
432:132(i64vec3) Load 299(u64v)
433: 14(int64_t) Load 301(u64)
434:132(i64vec3) CompositeConstruct 433 433 433
435: 368(bvec3) UGreaterThanEqual 432 434
Store 401(bv) 435
436: 52(i64vec2) Load 286(i64v)
437: 18(int64_t) Load 289(i64)
438: 52(i64vec2) CompositeConstruct 437 437
439: 56(bvec2) SGreaterThanEqual 436 438
440: 368(bvec3) Load 401(bv)
441: 368(bvec3) VectorShuffle 440 439 3 4 2
Store 401(bv) 441
442:132(i64vec3) Load 299(u64v)
443: 14(int64_t) Load 301(u64)
444:132(i64vec3) CompositeConstruct 443 443 443
445: 368(bvec3) IEqual 442 444
Store 401(bv) 445
446: 52(i64vec2) Load 286(i64v)
447: 18(int64_t) Load 289(i64)
448: 52(i64vec2) CompositeConstruct 447 447
449: 56(bvec2) IEqual 446 448
450: 368(bvec3) Load 401(bv)
451: 368(bvec3) VectorShuffle 450 449 3 4 2
Store 401(bv) 451
384: 377(ptr) AccessChain 373(dv) 227
385:94(float64_t) CompositeExtract 383 0
Store 384 385
386: 377(ptr) AccessChain 373(dv) 203
387:94(float64_t) CompositeExtract 383 1
Store 386 387
388:132(i64vec3) Load 299(u64v)
389:371(f64vec3) Bitcast 388
Store 373(dv) 389
393: 18(int64_t) Bitcast 392
Store 289(i64) 393
395: 18(int64_t) Load 289(i64)
396: 74(ivec2) Bitcast 395
Store 394(iv) 396
398: 14(int64_t) Bitcast 397
Store 301(u64) 398
400: 14(int64_t) Load 301(u64)
401: 81(ivec2) Bitcast 400
Store 399(uv) 401
404:132(i64vec3) Load 299(u64v)
405: 14(int64_t) Load 301(u64)
406:132(i64vec3) CompositeConstruct 405 405 405
407: 368(bvec3) ULessThan 404 406
Store 403(bv) 407
408: 52(i64vec2) Load 286(i64v)
409: 18(int64_t) Load 289(i64)
410: 52(i64vec2) CompositeConstruct 409 409
411: 56(bvec2) SLessThan 408 410
412: 225(ptr) AccessChain 403(bv) 227
413: 55(bool) CompositeExtract 411 0
Store 412 413
414: 225(ptr) AccessChain 403(bv) 203
415: 55(bool) CompositeExtract 411 1
Store 414 415
416:132(i64vec3) Load 299(u64v)
417: 14(int64_t) Load 301(u64)
418:132(i64vec3) CompositeConstruct 417 417 417
419: 368(bvec3) ULessThanEqual 416 418
Store 403(bv) 419
420: 52(i64vec2) Load 286(i64v)
421: 18(int64_t) Load 289(i64)
422: 52(i64vec2) CompositeConstruct 421 421
423: 56(bvec2) SLessThanEqual 420 422
424: 225(ptr) AccessChain 403(bv) 227
425: 55(bool) CompositeExtract 423 0
Store 424 425
426: 225(ptr) AccessChain 403(bv) 203
427: 55(bool) CompositeExtract 423 1
Store 426 427
428:132(i64vec3) Load 299(u64v)
429: 14(int64_t) Load 301(u64)
430:132(i64vec3) CompositeConstruct 429 429 429
431: 368(bvec3) UGreaterThan 428 430
Store 403(bv) 431
432: 52(i64vec2) Load 286(i64v)
433: 18(int64_t) Load 289(i64)
434: 52(i64vec2) CompositeConstruct 433 433
435: 56(bvec2) SGreaterThan 432 434
436: 225(ptr) AccessChain 403(bv) 227
437: 55(bool) CompositeExtract 435 0
Store 436 437
438: 225(ptr) AccessChain 403(bv) 203
439: 55(bool) CompositeExtract 435 1
Store 438 439
440:132(i64vec3) Load 299(u64v)
441: 14(int64_t) Load 301(u64)
442:132(i64vec3) CompositeConstruct 441 441 441
443: 368(bvec3) UGreaterThanEqual 440 442
Store 403(bv) 443
444: 52(i64vec2) Load 286(i64v)
445: 18(int64_t) Load 289(i64)
446: 52(i64vec2) CompositeConstruct 445 445
447: 56(bvec2) SGreaterThanEqual 444 446
448: 225(ptr) AccessChain 403(bv) 227
449: 55(bool) CompositeExtract 447 0
Store 448 449
450: 225(ptr) AccessChain 403(bv) 203
451: 55(bool) CompositeExtract 447 1
Store 450 451
452:132(i64vec3) Load 299(u64v)
453: 14(int64_t) Load 301(u64)
454:132(i64vec3) CompositeConstruct 453 453 453
455: 368(bvec3) INotEqual 452 454
Store 401(bv) 455
455: 368(bvec3) IEqual 452 454
Store 403(bv) 455
456: 52(i64vec2) Load 286(i64v)
457: 18(int64_t) Load 289(i64)
458: 52(i64vec2) CompositeConstruct 457 457
459: 56(bvec2) INotEqual 456 458
460: 368(bvec3) Load 401(bv)
461: 368(bvec3) VectorShuffle 460 459 3 4 2
Store 401(bv) 461
462: 14(int64_t) Load 301(u64)
463: 18(int64_t) ExtInst 1(GLSL.std.450) 73(FindILsb) 462
Store 289(i64) 463
464: 14(int64_t) Load 301(u64)
465: 65(i64vec2) CompositeConstruct 464 464
466: 52(i64vec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 465
Store 286(i64v) 466
467: 14(int64_t) Load 301(u64)
468: 18(int64_t) BitCount 467
Store 289(i64) 468
469: 14(int64_t) Load 301(u64)
470: 65(i64vec2) CompositeConstruct 469 469
471: 52(i64vec2) BitCount 470
Store 286(i64v) 471
459: 56(bvec2) IEqual 456 458
460: 225(ptr) AccessChain 403(bv) 227
461: 55(bool) CompositeExtract 459 0
Store 460 461
462: 225(ptr) AccessChain 403(bv) 203
463: 55(bool) CompositeExtract 459 1
Store 462 463
464:132(i64vec3) Load 299(u64v)
465: 14(int64_t) Load 301(u64)
466:132(i64vec3) CompositeConstruct 465 465 465
467: 368(bvec3) INotEqual 464 466
Store 403(bv) 467
468: 52(i64vec2) Load 286(i64v)
469: 18(int64_t) Load 289(i64)
470: 52(i64vec2) CompositeConstruct 469 469
471: 56(bvec2) INotEqual 468 470
472: 225(ptr) AccessChain 403(bv) 227
473: 55(bool) CompositeExtract 471 0
Store 472 473
474: 225(ptr) AccessChain 403(bv) 203
475: 55(bool) CompositeExtract 471 1
Store 474 475
476: 14(int64_t) Load 301(u64)
477: 18(int64_t) ExtInst 1(GLSL.std.450) 73(FindILsb) 476
Store 289(i64) 477
478: 14(int64_t) Load 301(u64)
479: 65(i64vec2) CompositeConstruct 478 478
480: 52(i64vec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 479
Store 286(i64v) 480
481: 14(int64_t) Load 301(u64)
482: 18(int64_t) BitCount 481
Store 289(i64) 482
483: 14(int64_t) Load 301(u64)
484: 65(i64vec2) CompositeConstruct 483 483
485: 52(i64vec2) BitCount 484
Store 286(i64v) 485
Return
FunctionEnd

View File

@ -1,7 +1,7 @@
spv.int8.frag
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 518
// Id's are bound by 530
Capability Shader
Capability Float16
@ -66,35 +66,35 @@ spv.int8.frag
Name 437 "u32"
Name 440 "u8v4"
Name 452 "bv"
Name 513 "Block"
MemberName 513(Block) 0 "i8"
MemberName 513(Block) 1 "i8v2"
MemberName 513(Block) 2 "i8v3"
MemberName 513(Block) 3 "i8v4"
MemberName 513(Block) 4 "u8"
MemberName 513(Block) 5 "u8v2"
MemberName 513(Block) 6 "u8v3"
MemberName 513(Block) 7 "u8v4"
Name 515 "block"
Name 516 "si8"
Name 517 "su8"
Name 525 "Block"
MemberName 525(Block) 0 "i8"
MemberName 525(Block) 1 "i8v2"
MemberName 525(Block) 2 "i8v3"
MemberName 525(Block) 3 "i8v4"
MemberName 525(Block) 4 "u8"
MemberName 525(Block) 5 "u8v2"
MemberName 525(Block) 6 "u8v3"
MemberName 525(Block) 7 "u8v4"
Name 527 "block"
Name 528 "si8"
Name 529 "su8"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
MemberDecorate 513(Block) 0 Offset 0
MemberDecorate 513(Block) 1 Offset 2
MemberDecorate 513(Block) 2 Offset 4
MemberDecorate 513(Block) 3 Offset 8
MemberDecorate 513(Block) 4 Offset 12
MemberDecorate 513(Block) 5 Offset 14
MemberDecorate 513(Block) 6 Offset 16
MemberDecorate 513(Block) 7 Offset 20
Decorate 513(Block) Block
Decorate 515(block) DescriptorSet 0
Decorate 515(block) Binding 1
Decorate 516(si8) SpecId 100
Decorate 517(su8) SpecId 101
MemberDecorate 525(Block) 0 Offset 0
MemberDecorate 525(Block) 1 Offset 2
MemberDecorate 525(Block) 2 Offset 4
MemberDecorate 525(Block) 3 Offset 8
MemberDecorate 525(Block) 4 Offset 12
MemberDecorate 525(Block) 5 Offset 14
MemberDecorate 525(Block) 6 Offset 16
MemberDecorate 525(Block) 7 Offset 20
Decorate 525(Block) Block
Decorate 527(block) DescriptorSet 0
Decorate 527(block) Binding 1
Decorate 528(si8) SpecId 100
Decorate 529(su8) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 8 1
@ -184,11 +184,11 @@ spv.int8.frag
438: TypeVector 36(int8_t) 4
439: TypePointer Function 438(i8vec4)
451: TypePointer Function 420(bvec3)
513(Block): TypeStruct 14(int8_t) 52(i8vec2) 194(i8vec3) 427(i8vec4) 36(int8_t) 49(i8vec2) 190(i8vec3) 438(i8vec4)
514: TypePointer Uniform 513(Block)
515(block): 514(ptr) Variable Uniform
516(si8): 14(int8_t) SpecConstant 4294967286
517(su8): 36(int8_t) SpecConstant 20
525(Block): TypeStruct 14(int8_t) 52(i8vec2) 194(i8vec3) 427(i8vec4) 36(int8_t) 49(i8vec2) 190(i8vec3) 438(i8vec4)
526: TypePointer Uniform 525(Block)
527(block): 526(ptr) Variable Uniform
528(si8): 14(int8_t) SpecConstant 4294967286
529(su8): 36(int8_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@ -670,68 +670,86 @@ spv.int8.frag
458: 14(int8_t) Load 341(i8)
459: 52(i8vec2) CompositeConstruct 458 458
460: 172(bvec2) SLessThan 457 459
461: 420(bvec3) Load 452(bv)
462: 420(bvec3) VectorShuffle 461 460 3 4 2
Store 452(bv) 462
463: 190(i8vec3) Load 351(u8v)
464: 36(int8_t) Load 353(u8)
465: 190(i8vec3) CompositeConstruct 464 464 464
466: 420(bvec3) ULessThanEqual 463 465
Store 452(bv) 466
467: 52(i8vec2) Load 338(i8v)
468: 14(int8_t) Load 341(i8)
469: 52(i8vec2) CompositeConstruct 468 468
470: 172(bvec2) SLessThanEqual 467 469
471: 420(bvec3) Load 452(bv)
472: 420(bvec3) VectorShuffle 471 470 3 4 2
Store 452(bv) 472
473: 190(i8vec3) Load 351(u8v)
474: 36(int8_t) Load 353(u8)
475: 190(i8vec3) CompositeConstruct 474 474 474
476: 420(bvec3) UGreaterThan 473 475
Store 452(bv) 476
477: 52(i8vec2) Load 338(i8v)
478: 14(int8_t) Load 341(i8)
479: 52(i8vec2) CompositeConstruct 478 478
480: 172(bvec2) SGreaterThan 477 479
481: 420(bvec3) Load 452(bv)
482: 420(bvec3) VectorShuffle 481 480 3 4 2
Store 452(bv) 482
483: 190(i8vec3) Load 351(u8v)
484: 36(int8_t) Load 353(u8)
485: 190(i8vec3) CompositeConstruct 484 484 484
486: 420(bvec3) UGreaterThanEqual 483 485
Store 452(bv) 486
487: 52(i8vec2) Load 338(i8v)
488: 14(int8_t) Load 341(i8)
489: 52(i8vec2) CompositeConstruct 488 488
490: 172(bvec2) SGreaterThanEqual 487 489
491: 420(bvec3) Load 452(bv)
492: 420(bvec3) VectorShuffle 491 490 3 4 2
461: 275(ptr) AccessChain 452(bv) 277
462: 171(bool) CompositeExtract 460 0
Store 461 462
463: 275(ptr) AccessChain 452(bv) 261
464: 171(bool) CompositeExtract 460 1
Store 463 464
465: 190(i8vec3) Load 351(u8v)
466: 36(int8_t) Load 353(u8)
467: 190(i8vec3) CompositeConstruct 466 466 466
468: 420(bvec3) ULessThanEqual 465 467
Store 452(bv) 468
469: 52(i8vec2) Load 338(i8v)
470: 14(int8_t) Load 341(i8)
471: 52(i8vec2) CompositeConstruct 470 470
472: 172(bvec2) SLessThanEqual 469 471
473: 275(ptr) AccessChain 452(bv) 277
474: 171(bool) CompositeExtract 472 0
Store 473 474
475: 275(ptr) AccessChain 452(bv) 261
476: 171(bool) CompositeExtract 472 1
Store 475 476
477: 190(i8vec3) Load 351(u8v)
478: 36(int8_t) Load 353(u8)
479: 190(i8vec3) CompositeConstruct 478 478 478
480: 420(bvec3) UGreaterThan 477 479
Store 452(bv) 480
481: 52(i8vec2) Load 338(i8v)
482: 14(int8_t) Load 341(i8)
483: 52(i8vec2) CompositeConstruct 482 482
484: 172(bvec2) SGreaterThan 481 483
485: 275(ptr) AccessChain 452(bv) 277
486: 171(bool) CompositeExtract 484 0
Store 485 486
487: 275(ptr) AccessChain 452(bv) 261
488: 171(bool) CompositeExtract 484 1
Store 487 488
489: 190(i8vec3) Load 351(u8v)
490: 36(int8_t) Load 353(u8)
491: 190(i8vec3) CompositeConstruct 490 490 490
492: 420(bvec3) UGreaterThanEqual 489 491
Store 452(bv) 492
493: 190(i8vec3) Load 351(u8v)
494: 36(int8_t) Load 353(u8)
495: 190(i8vec3) CompositeConstruct 494 494 494
496: 420(bvec3) IEqual 493 495
Store 452(bv) 496
497: 52(i8vec2) Load 338(i8v)
498: 14(int8_t) Load 341(i8)
499: 52(i8vec2) CompositeConstruct 498 498
500: 172(bvec2) IEqual 497 499
501: 420(bvec3) Load 452(bv)
502: 420(bvec3) VectorShuffle 501 500 3 4 2
Store 452(bv) 502
503: 190(i8vec3) Load 351(u8v)
504: 36(int8_t) Load 353(u8)
505: 190(i8vec3) CompositeConstruct 504 504 504
506: 420(bvec3) INotEqual 503 505
Store 452(bv) 506
507: 52(i8vec2) Load 338(i8v)
508: 14(int8_t) Load 341(i8)
509: 52(i8vec2) CompositeConstruct 508 508
510: 172(bvec2) INotEqual 507 509
511: 420(bvec3) Load 452(bv)
512: 420(bvec3) VectorShuffle 511 510 3 4 2
Store 452(bv) 512
493: 52(i8vec2) Load 338(i8v)
494: 14(int8_t) Load 341(i8)
495: 52(i8vec2) CompositeConstruct 494 494
496: 172(bvec2) SGreaterThanEqual 493 495
497: 275(ptr) AccessChain 452(bv) 277
498: 171(bool) CompositeExtract 496 0
Store 497 498
499: 275(ptr) AccessChain 452(bv) 261
500: 171(bool) CompositeExtract 496 1
Store 499 500
501: 190(i8vec3) Load 351(u8v)
502: 36(int8_t) Load 353(u8)
503: 190(i8vec3) CompositeConstruct 502 502 502
504: 420(bvec3) IEqual 501 503
Store 452(bv) 504
505: 52(i8vec2) Load 338(i8v)
506: 14(int8_t) Load 341(i8)
507: 52(i8vec2) CompositeConstruct 506 506
508: 172(bvec2) IEqual 505 507
509: 275(ptr) AccessChain 452(bv) 277
510: 171(bool) CompositeExtract 508 0
Store 509 510
511: 275(ptr) AccessChain 452(bv) 261
512: 171(bool) CompositeExtract 508 1
Store 511 512
513: 190(i8vec3) Load 351(u8v)
514: 36(int8_t) Load 353(u8)
515: 190(i8vec3) CompositeConstruct 514 514 514
516: 420(bvec3) INotEqual 513 515
Store 452(bv) 516
517: 52(i8vec2) Load 338(i8v)
518: 14(int8_t) Load 341(i8)
519: 52(i8vec2) CompositeConstruct 518 518
520: 172(bvec2) INotEqual 517 519
521: 275(ptr) AccessChain 452(bv) 277
522: 171(bool) CompositeExtract 520 0
Store 521 522
523: 275(ptr) AccessChain 452(bv) 261
524: 171(bool) CompositeExtract 520 1
Store 523 524
Return
FunctionEnd

View File

@ -1,12 +1,12 @@
spv.intOps.vert
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 268
// Id's are bound by 302
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 15 21 26 47 67 83 100 121 142 146 156 173 182 247
EntryPoint Vertex 4 "main" 9 15 21 26 53 72 88 105 137 156 160 172 189 202 281
Source ESSL 310
Name 4 "main"
Name 9 "iout"
@ -15,44 +15,44 @@ spv.intOps.vert
Name 26 "u2"
Name 30 "u2out"
Name 31 "ResType"
Name 47 "u1"
Name 51 "u1out"
Name 52 "ResType"
Name 67 "u4"
Name 71 "u4outHi"
Name 72 "u4outLow"
Name 73 "ResType"
Name 83 "i4"
Name 87 "i4outHi"
Name 88 "i4outLow"
Name 89 "ResType"
Name 100 "v3"
Name 104 "i3out"
Name 105 "ResType"
Name 121 "v1"
Name 124 "i1out"
Name 125 "ResType"
Name 142 "v2"
Name 146 "i2"
Name 156 "i1"
Name 173 "u3"
Name 182 "i3"
Name 247 "v4"
Name 53 "u1"
Name 57 "u1out"
Name 58 "ResType"
Name 72 "u4"
Name 76 "u4outHi"
Name 77 "u4outLow"
Name 78 "ResType"
Name 88 "i4"
Name 92 "i4outHi"
Name 93 "i4outLow"
Name 94 "ResType"
Name 105 "v3"
Name 109 "i3out"
Name 110 "ResType"
Name 137 "v1"
Name 140 "i1out"
Name 141 "ResType"
Name 156 "v2"
Name 160 "i2"
Name 172 "i1"
Name 189 "u3"
Name 202 "i3"
Name 281 "v4"
Decorate 9(iout) Location 1
Decorate 15(uout) Location 0
Decorate 21(fout) Location 2
Decorate 26(u2) Location 1
Decorate 47(u1) Location 0
Decorate 67(u4) Location 3
Decorate 83(i4) Location 11
Decorate 100(v3) Location 6
Decorate 121(v1) Location 4
Decorate 142(v2) Location 5
Decorate 146(i2) Location 9
Decorate 156(i1) Location 8
Decorate 173(u3) Location 2
Decorate 182(i3) Location 10
Decorate 247(v4) Location 7
Decorate 53(u1) Location 0
Decorate 72(u4) Location 3
Decorate 88(i4) Location 11
Decorate 105(v3) Location 6
Decorate 137(v1) Location 4
Decorate 156(v2) Location 5
Decorate 160(i2) Location 9
Decorate 172(i1) Location 8
Decorate 189(u3) Location 2
Decorate 202(i3) Location 10
Decorate 281(v4) Location 7
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -78,58 +78,60 @@ spv.intOps.vert
26(u2): 25(ptr) Variable Input
29: TypePointer Function 24(ivec2)
31(ResType): TypeStruct 24(ivec2) 24(ivec2)
46: TypePointer Input 12(int)
47(u1): 46(ptr) Variable Input
50: TypePointer Function 12(int)
52(ResType): TypeStruct 12(int) 12(int)
56: TypePointer Output 12(int)
66: TypePointer Input 13(ivec4)
67(u4): 66(ptr) Variable Input
70: TypePointer Function 13(ivec4)
73(ResType): TypeStruct 13(ivec4) 13(ivec4)
82: TypePointer Input 7(ivec4)
83(i4): 82(ptr) Variable Input
86: TypePointer Function 7(ivec4)
89(ResType): TypeStruct 7(ivec4) 7(ivec4)
98: TypeVector 18(float) 3
99: TypePointer Input 98(fvec3)
100(v3): 99(ptr) Variable Input
102: TypeVector 6(int) 3
103: TypePointer Function 102(ivec3)
105(ResType): TypeStruct 98(fvec3) 102(ivec3)
120: TypePointer Input 18(float)
121(v1): 120(ptr) Variable Input
123: TypePointer Function 6(int)
125(ResType): TypeStruct 18(float) 6(int)
129: TypePointer Output 18(float)
135: TypePointer Output 6(int)
140: TypeVector 18(float) 2
141: TypePointer Input 140(fvec2)
142(v2): 141(ptr) Variable Input
144: TypeVector 6(int) 2
145: TypePointer Input 144(ivec2)
146(i2): 145(ptr) Variable Input
155: TypePointer Input 6(int)
156(i1): 155(ptr) Variable Input
164: 6(int) Constant 4
165: 6(int) Constant 5
171: TypeVector 12(int) 3
172: TypePointer Input 171(ivec3)
173(u3): 172(ptr) Variable Input
181: TypePointer Input 102(ivec3)
182(i3): 181(ptr) Variable Input
246: TypePointer Input 19(fvec4)
247(v4): 246(ptr) Variable Input
38: TypePointer Output 12(int)
41: 12(int) Constant 1
52: TypePointer Input 12(int)
53(u1): 52(ptr) Variable Input
56: TypePointer Function 12(int)
58(ResType): TypeStruct 12(int) 12(int)
71: TypePointer Input 13(ivec4)
72(u4): 71(ptr) Variable Input
75: TypePointer Function 13(ivec4)
78(ResType): TypeStruct 13(ivec4) 13(ivec4)
87: TypePointer Input 7(ivec4)
88(i4): 87(ptr) Variable Input
91: TypePointer Function 7(ivec4)
94(ResType): TypeStruct 7(ivec4) 7(ivec4)
103: TypeVector 18(float) 3
104: TypePointer Input 103(fvec3)
105(v3): 104(ptr) Variable Input
107: TypeVector 6(int) 3
108: TypePointer Function 107(ivec3)
110(ResType): TypeStruct 103(fvec3) 107(ivec3)
117: TypePointer Output 18(float)
122: 12(int) Constant 2
129: TypePointer Output 6(int)
136: TypePointer Input 18(float)
137(v1): 136(ptr) Variable Input
139: TypePointer Function 6(int)
141(ResType): TypeStruct 18(float) 6(int)
154: TypeVector 18(float) 2
155: TypePointer Input 154(fvec2)
156(v2): 155(ptr) Variable Input
158: TypeVector 6(int) 2
159: TypePointer Input 158(ivec2)
160(i2): 159(ptr) Variable Input
171: TypePointer Input 6(int)
172(i1): 171(ptr) Variable Input
180: 6(int) Constant 4
181: 6(int) Constant 5
187: TypeVector 12(int) 3
188: TypePointer Input 187(ivec3)
189(u3): 188(ptr) Variable Input
201: TypePointer Input 107(ivec3)
202(i3): 201(ptr) Variable Input
280: TypePointer Input 19(fvec4)
281(v4): 280(ptr) Variable Input
4(main): 2 Function None 3
5: Label
30(u2out): 29(ptr) Variable Function
51(u1out): 50(ptr) Variable Function
71(u4outHi): 70(ptr) Variable Function
72(u4outLow): 70(ptr) Variable Function
87(i4outHi): 86(ptr) Variable Function
88(i4outLow): 86(ptr) Variable Function
104(i3out): 103(ptr) Variable Function
124(i1out): 123(ptr) Variable Function
57(u1out): 56(ptr) Variable Function
76(u4outHi): 75(ptr) Variable Function
77(u4outLow): 75(ptr) Variable Function
92(i4outHi): 91(ptr) Variable Function
93(i4outLow): 91(ptr) Variable Function
109(i3out): 108(ptr) Variable Function
140(i1out): 139(ptr) Variable Function
Store 9(iout) 11
Store 15(uout) 17
Store 21(fout) 23
@ -142,221 +144,269 @@ spv.intOps.vert
35: 13(ivec4) Load 15(uout)
36: 24(ivec2) VectorShuffle 35 35 0 1
37: 24(ivec2) IAdd 36 34
38: 13(ivec4) Load 15(uout)
39: 13(ivec4) VectorShuffle 38 37 4 5 2 3
Store 15(uout) 39
40: 24(ivec2) Load 30(u2out)
41: 13(ivec4) Load 15(uout)
42: 24(ivec2) VectorShuffle 41 41 0 1
43: 24(ivec2) IAdd 42 40
44: 13(ivec4) Load 15(uout)
45: 13(ivec4) VectorShuffle 44 43 4 5 2 3
Store 15(uout) 45
48: 12(int) Load 47(u1)
49: 12(int) Load 47(u1)
53: 52(ResType) ISubBorrow 48 49
54: 12(int) CompositeExtract 53 1
Store 51(u1out) 54
55: 12(int) CompositeExtract 53 0
57: 56(ptr) AccessChain 15(uout) 16
58: 12(int) Load 57
59: 12(int) IAdd 58 55
60: 56(ptr) AccessChain 15(uout) 16
Store 60 59
61: 12(int) Load 51(u1out)
62: 56(ptr) AccessChain 15(uout) 16
39: 38(ptr) AccessChain 15(uout) 16
40: 12(int) CompositeExtract 37 0
Store 39 40
42: 38(ptr) AccessChain 15(uout) 41
43: 12(int) CompositeExtract 37 1
Store 42 43
44: 24(ivec2) Load 30(u2out)
45: 13(ivec4) Load 15(uout)
46: 24(ivec2) VectorShuffle 45 45 0 1
47: 24(ivec2) IAdd 46 44
48: 38(ptr) AccessChain 15(uout) 16
49: 12(int) CompositeExtract 47 0
Store 48 49
50: 38(ptr) AccessChain 15(uout) 41
51: 12(int) CompositeExtract 47 1
Store 50 51
54: 12(int) Load 53(u1)
55: 12(int) Load 53(u1)
59: 58(ResType) ISubBorrow 54 55
60: 12(int) CompositeExtract 59 1
Store 57(u1out) 60
61: 12(int) CompositeExtract 59 0
62: 38(ptr) AccessChain 15(uout) 16
63: 12(int) Load 62
64: 12(int) IAdd 63 61
65: 56(ptr) AccessChain 15(uout) 16
65: 38(ptr) AccessChain 15(uout) 16
Store 65 64
68: 13(ivec4) Load 67(u4)
69: 13(ivec4) Load 67(u4)
74: 73(ResType) UMulExtended 68 69
75: 13(ivec4) CompositeExtract 74 0
Store 72(u4outLow) 75
76: 13(ivec4) CompositeExtract 74 1
Store 71(u4outHi) 76
77: 13(ivec4) Load 71(u4outHi)
78: 13(ivec4) Load 72(u4outLow)
79: 13(ivec4) IAdd 77 78
80: 13(ivec4) Load 15(uout)
81: 13(ivec4) IAdd 80 79
Store 15(uout) 81
84: 7(ivec4) Load 83(i4)
85: 7(ivec4) Load 83(i4)
90: 89(ResType) SMulExtended 84 85
91: 7(ivec4) CompositeExtract 90 0
Store 88(i4outLow) 91
92: 7(ivec4) CompositeExtract 90 1
Store 87(i4outHi) 92
93: 7(ivec4) Load 88(i4outLow)
94: 7(ivec4) Load 87(i4outHi)
95: 7(ivec4) IAdd 93 94
96: 7(ivec4) Load 9(iout)
97: 7(ivec4) IAdd 96 95
Store 9(iout) 97
101: 98(fvec3) Load 100(v3)
106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101
107: 102(ivec3) CompositeExtract 106 1
Store 104(i3out) 107
108: 98(fvec3) CompositeExtract 106 0
109: 19(fvec4) Load 21(fout)
110: 98(fvec3) VectorShuffle 109 109 0 1 2
111: 98(fvec3) FAdd 110 108
112: 19(fvec4) Load 21(fout)
113: 19(fvec4) VectorShuffle 112 111 4 5 6 3
Store 21(fout) 113
114: 102(ivec3) Load 104(i3out)
115: 7(ivec4) Load 9(iout)
116: 102(ivec3) VectorShuffle 115 115 0 1 2
117: 102(ivec3) IAdd 116 114
118: 7(ivec4) Load 9(iout)
119: 7(ivec4) VectorShuffle 118 117 4 5 6 3
Store 9(iout) 119
122: 18(float) Load 121(v1)
126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122
127: 6(int) CompositeExtract 126 1
Store 124(i1out) 127
128: 18(float) CompositeExtract 126 0
130: 129(ptr) AccessChain 21(fout) 16
131: 18(float) Load 130
132: 18(float) FAdd 131 128
133: 129(ptr) AccessChain 21(fout) 16
Store 133 132
134: 6(int) Load 124(i1out)
136: 135(ptr) AccessChain 9(iout) 16
137: 6(int) Load 136
138: 6(int) IAdd 137 134
139: 135(ptr) AccessChain 9(iout) 16
Store 139 138
143: 140(fvec2) Load 142(v2)
147: 144(ivec2) Load 146(i2)
148: 140(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 143 147
149: 19(fvec4) Load 21(fout)
150: 140(fvec2) VectorShuffle 149 149 0 1
151: 140(fvec2) FAdd 150 148
152: 19(fvec4) Load 21(fout)
153: 19(fvec4) VectorShuffle 152 151 4 5 2 3
Store 21(fout) 153
154: 18(float) Load 121(v1)
157: 6(int) Load 156(i1)
158: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 154 157
159: 129(ptr) AccessChain 21(fout) 16
160: 18(float) Load 159
161: 18(float) FAdd 160 158
162: 129(ptr) AccessChain 21(fout) 16
Store 162 161
163: 6(int) Load 156(i1)
166: 6(int) BitFieldSExtract 163 164 165
167: 135(ptr) AccessChain 9(iout) 16
168: 6(int) Load 167
169: 6(int) IAdd 168 166
170: 135(ptr) AccessChain 9(iout) 16
Store 170 169
174: 171(ivec3) Load 173(u3)
175: 171(ivec3) BitFieldUExtract 174 164 165
176: 13(ivec4) Load 15(uout)
177: 171(ivec3) VectorShuffle 176 176 0 1 2
178: 171(ivec3) IAdd 177 175
179: 13(ivec4) Load 15(uout)
180: 13(ivec4) VectorShuffle 179 178 4 5 6 3
Store 15(uout) 180
183: 102(ivec3) Load 182(i3)
184: 102(ivec3) Load 182(i3)
185: 102(ivec3) BitFieldInsert 183 184 164 165
186: 7(ivec4) Load 9(iout)
187: 102(ivec3) VectorShuffle 186 186 0 1 2
188: 102(ivec3) IAdd 187 185
189: 7(ivec4) Load 9(iout)
190: 7(ivec4) VectorShuffle 189 188 4 5 6 3
Store 9(iout) 190
191: 12(int) Load 47(u1)
192: 12(int) Load 47(u1)
193: 12(int) BitFieldInsert 191 192 164 165
194: 56(ptr) AccessChain 15(uout) 16
195: 12(int) Load 194
196: 12(int) IAdd 195 193
197: 56(ptr) AccessChain 15(uout) 16
Store 197 196
198: 144(ivec2) Load 146(i2)
199: 144(ivec2) BitReverse 198
200: 7(ivec4) Load 9(iout)
201: 144(ivec2) VectorShuffle 200 200 0 1
202: 144(ivec2) IAdd 201 199
203: 7(ivec4) Load 9(iout)
204: 7(ivec4) VectorShuffle 203 202 4 5 2 3
Store 9(iout) 204
205: 13(ivec4) Load 67(u4)
206: 13(ivec4) BitReverse 205
207: 13(ivec4) Load 15(uout)
208: 13(ivec4) IAdd 207 206
Store 15(uout) 208
209: 6(int) Load 156(i1)
210: 6(int) BitCount 209
211: 135(ptr) AccessChain 9(iout) 16
212: 6(int) Load 211
213: 6(int) IAdd 212 210
214: 135(ptr) AccessChain 9(iout) 16
Store 214 213
215: 171(ivec3) Load 173(u3)
216: 102(ivec3) BitCount 215
217: 7(ivec4) Load 9(iout)
218: 102(ivec3) VectorShuffle 217 217 0 1 2
219: 102(ivec3) IAdd 218 216
220: 7(ivec4) Load 9(iout)
221: 7(ivec4) VectorShuffle 220 219 4 5 6 3
Store 9(iout) 221
222: 144(ivec2) Load 146(i2)
223: 144(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 222
66: 12(int) Load 57(u1out)
67: 38(ptr) AccessChain 15(uout) 16
68: 12(int) Load 67
69: 12(int) IAdd 68 66
70: 38(ptr) AccessChain 15(uout) 16
Store 70 69
73: 13(ivec4) Load 72(u4)
74: 13(ivec4) Load 72(u4)
79: 78(ResType) UMulExtended 73 74
80: 13(ivec4) CompositeExtract 79 0
Store 77(u4outLow) 80
81: 13(ivec4) CompositeExtract 79 1
Store 76(u4outHi) 81
82: 13(ivec4) Load 76(u4outHi)
83: 13(ivec4) Load 77(u4outLow)
84: 13(ivec4) IAdd 82 83
85: 13(ivec4) Load 15(uout)
86: 13(ivec4) IAdd 85 84
Store 15(uout) 86
89: 7(ivec4) Load 88(i4)
90: 7(ivec4) Load 88(i4)
95: 94(ResType) SMulExtended 89 90
96: 7(ivec4) CompositeExtract 95 0
Store 93(i4outLow) 96
97: 7(ivec4) CompositeExtract 95 1
Store 92(i4outHi) 97
98: 7(ivec4) Load 93(i4outLow)
99: 7(ivec4) Load 92(i4outHi)
100: 7(ivec4) IAdd 98 99
101: 7(ivec4) Load 9(iout)
102: 7(ivec4) IAdd 101 100
Store 9(iout) 102
106: 103(fvec3) Load 105(v3)
111:110(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 106
112: 107(ivec3) CompositeExtract 111 1
Store 109(i3out) 112
113: 103(fvec3) CompositeExtract 111 0
114: 19(fvec4) Load 21(fout)
115: 103(fvec3) VectorShuffle 114 114 0 1 2
116: 103(fvec3) FAdd 115 113
118: 117(ptr) AccessChain 21(fout) 16
119: 18(float) CompositeExtract 116 0
Store 118 119
120: 117(ptr) AccessChain 21(fout) 41
121: 18(float) CompositeExtract 116 1
Store 120 121
123: 117(ptr) AccessChain 21(fout) 122
124: 18(float) CompositeExtract 116 2
Store 123 124
125: 107(ivec3) Load 109(i3out)
126: 7(ivec4) Load 9(iout)
127: 107(ivec3) VectorShuffle 126 126 0 1 2
128: 107(ivec3) IAdd 127 125
130: 129(ptr) AccessChain 9(iout) 16
131: 6(int) CompositeExtract 128 0
Store 130 131
132: 129(ptr) AccessChain 9(iout) 41
133: 6(int) CompositeExtract 128 1
Store 132 133
134: 129(ptr) AccessChain 9(iout) 122
135: 6(int) CompositeExtract 128 2
Store 134 135
138: 18(float) Load 137(v1)
142:141(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 138
143: 6(int) CompositeExtract 142 1
Store 140(i1out) 143
144: 18(float) CompositeExtract 142 0
145: 117(ptr) AccessChain 21(fout) 16
146: 18(float) Load 145
147: 18(float) FAdd 146 144
148: 117(ptr) AccessChain 21(fout) 16
Store 148 147
149: 6(int) Load 140(i1out)
150: 129(ptr) AccessChain 9(iout) 16
151: 6(int) Load 150
152: 6(int) IAdd 151 149
153: 129(ptr) AccessChain 9(iout) 16
Store 153 152
157: 154(fvec2) Load 156(v2)
161: 158(ivec2) Load 160(i2)
162: 154(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 157 161
163: 19(fvec4) Load 21(fout)
164: 154(fvec2) VectorShuffle 163 163 0 1
165: 154(fvec2) FAdd 164 162
166: 117(ptr) AccessChain 21(fout) 16
167: 18(float) CompositeExtract 165 0
Store 166 167
168: 117(ptr) AccessChain 21(fout) 41
169: 18(float) CompositeExtract 165 1
Store 168 169
170: 18(float) Load 137(v1)
173: 6(int) Load 172(i1)
174: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 170 173
175: 117(ptr) AccessChain 21(fout) 16
176: 18(float) Load 175
177: 18(float) FAdd 176 174
178: 117(ptr) AccessChain 21(fout) 16
Store 178 177
179: 6(int) Load 172(i1)
182: 6(int) BitFieldSExtract 179 180 181
183: 129(ptr) AccessChain 9(iout) 16
184: 6(int) Load 183
185: 6(int) IAdd 184 182
186: 129(ptr) AccessChain 9(iout) 16
Store 186 185
190: 187(ivec3) Load 189(u3)
191: 187(ivec3) BitFieldUExtract 190 180 181
192: 13(ivec4) Load 15(uout)
193: 187(ivec3) VectorShuffle 192 192 0 1 2
194: 187(ivec3) IAdd 193 191
195: 38(ptr) AccessChain 15(uout) 16
196: 12(int) CompositeExtract 194 0
Store 195 196
197: 38(ptr) AccessChain 15(uout) 41
198: 12(int) CompositeExtract 194 1
Store 197 198
199: 38(ptr) AccessChain 15(uout) 122
200: 12(int) CompositeExtract 194 2
Store 199 200
203: 107(ivec3) Load 202(i3)
204: 107(ivec3) Load 202(i3)
205: 107(ivec3) BitFieldInsert 203 204 180 181
206: 7(ivec4) Load 9(iout)
207: 107(ivec3) VectorShuffle 206 206 0 1 2
208: 107(ivec3) IAdd 207 205
209: 129(ptr) AccessChain 9(iout) 16
210: 6(int) CompositeExtract 208 0
Store 209 210
211: 129(ptr) AccessChain 9(iout) 41
212: 6(int) CompositeExtract 208 1
Store 211 212
213: 129(ptr) AccessChain 9(iout) 122
214: 6(int) CompositeExtract 208 2
Store 213 214
215: 12(int) Load 53(u1)
216: 12(int) Load 53(u1)
217: 12(int) BitFieldInsert 215 216 180 181
218: 38(ptr) AccessChain 15(uout) 16
219: 12(int) Load 218
220: 12(int) IAdd 219 217
221: 38(ptr) AccessChain 15(uout) 16
Store 221 220
222: 158(ivec2) Load 160(i2)
223: 158(ivec2) BitReverse 222
224: 7(ivec4) Load 9(iout)
225: 144(ivec2) VectorShuffle 224 224 0 1
226: 144(ivec2) IAdd 225 223
227: 7(ivec4) Load 9(iout)
228: 7(ivec4) VectorShuffle 227 226 4 5 2 3
Store 9(iout) 228
229: 13(ivec4) Load 67(u4)
230: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 229
231: 7(ivec4) Load 9(iout)
232: 7(ivec4) IAdd 231 230
Store 9(iout) 232
233: 6(int) Load 156(i1)
234: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 233
235: 135(ptr) AccessChain 9(iout) 16
236: 6(int) Load 235
237: 6(int) IAdd 236 234
238: 135(ptr) AccessChain 9(iout) 16
Store 238 237
239: 24(ivec2) Load 26(u2)
240: 144(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 239
241: 7(ivec4) Load 9(iout)
242: 144(ivec2) VectorShuffle 241 241 0 1
243: 144(ivec2) IAdd 242 240
244: 7(ivec4) Load 9(iout)
245: 7(ivec4) VectorShuffle 244 243 4 5 2 3
Store 9(iout) 245
248: 19(fvec4) Load 247(v4)
249: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 248
250: 56(ptr) AccessChain 15(uout) 16
251: 12(int) Load 250
252: 12(int) IAdd 251 249
253: 56(ptr) AccessChain 15(uout) 16
Store 253 252
254: 19(fvec4) Load 247(v4)
255: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 254
256: 56(ptr) AccessChain 15(uout) 16
257: 12(int) Load 256
258: 12(int) IAdd 257 255
259: 56(ptr) AccessChain 15(uout) 16
Store 259 258
260: 12(int) Load 47(u1)
261: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 260
262: 19(fvec4) Load 21(fout)
263: 19(fvec4) FAdd 262 261
Store 21(fout) 263
264: 12(int) Load 47(u1)
265: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 264
266: 19(fvec4) Load 21(fout)
267: 19(fvec4) FAdd 266 265
Store 21(fout) 267
225: 158(ivec2) VectorShuffle 224 224 0 1
226: 158(ivec2) IAdd 225 223
227: 129(ptr) AccessChain 9(iout) 16
228: 6(int) CompositeExtract 226 0
Store 227 228
229: 129(ptr) AccessChain 9(iout) 41
230: 6(int) CompositeExtract 226 1
Store 229 230
231: 13(ivec4) Load 72(u4)
232: 13(ivec4) BitReverse 231
233: 13(ivec4) Load 15(uout)
234: 13(ivec4) IAdd 233 232
Store 15(uout) 234
235: 6(int) Load 172(i1)
236: 6(int) BitCount 235
237: 129(ptr) AccessChain 9(iout) 16
238: 6(int) Load 237
239: 6(int) IAdd 238 236
240: 129(ptr) AccessChain 9(iout) 16
Store 240 239
241: 187(ivec3) Load 189(u3)
242: 107(ivec3) BitCount 241
243: 7(ivec4) Load 9(iout)
244: 107(ivec3) VectorShuffle 243 243 0 1 2
245: 107(ivec3) IAdd 244 242
246: 129(ptr) AccessChain 9(iout) 16
247: 6(int) CompositeExtract 245 0
Store 246 247
248: 129(ptr) AccessChain 9(iout) 41
249: 6(int) CompositeExtract 245 1
Store 248 249
250: 129(ptr) AccessChain 9(iout) 122
251: 6(int) CompositeExtract 245 2
Store 250 251
252: 158(ivec2) Load 160(i2)
253: 158(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 252
254: 7(ivec4) Load 9(iout)
255: 158(ivec2) VectorShuffle 254 254 0 1
256: 158(ivec2) IAdd 255 253
257: 129(ptr) AccessChain 9(iout) 16
258: 6(int) CompositeExtract 256 0
Store 257 258
259: 129(ptr) AccessChain 9(iout) 41
260: 6(int) CompositeExtract 256 1
Store 259 260
261: 13(ivec4) Load 72(u4)
262: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 261
263: 7(ivec4) Load 9(iout)
264: 7(ivec4) IAdd 263 262
Store 9(iout) 264
265: 6(int) Load 172(i1)
266: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 265
267: 129(ptr) AccessChain 9(iout) 16
268: 6(int) Load 267
269: 6(int) IAdd 268 266
270: 129(ptr) AccessChain 9(iout) 16
Store 270 269
271: 24(ivec2) Load 26(u2)
272: 158(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 271
273: 7(ivec4) Load 9(iout)
274: 158(ivec2) VectorShuffle 273 273 0 1
275: 158(ivec2) IAdd 274 272
276: 129(ptr) AccessChain 9(iout) 16
277: 6(int) CompositeExtract 275 0
Store 276 277
278: 129(ptr) AccessChain 9(iout) 41
279: 6(int) CompositeExtract 275 1
Store 278 279
282: 19(fvec4) Load 281(v4)
283: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 282
284: 38(ptr) AccessChain 15(uout) 16
285: 12(int) Load 284
286: 12(int) IAdd 285 283
287: 38(ptr) AccessChain 15(uout) 16
Store 287 286
288: 19(fvec4) Load 281(v4)
289: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 288
290: 38(ptr) AccessChain 15(uout) 16
291: 12(int) Load 290
292: 12(int) IAdd 291 289
293: 38(ptr) AccessChain 15(uout) 16
Store 293 292
294: 12(int) Load 53(u1)
295: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 294
296: 19(fvec4) Load 21(fout)
297: 19(fvec4) FAdd 296 295
Store 21(fout) 297
298: 12(int) Load 53(u1)
299: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 298
300: 19(fvec4) Load 21(fout)
301: 19(fvec4) FAdd 300 299
Store 21(fout) 301
Return
FunctionEnd

View File

@ -1,33 +1,33 @@
spv.interpOps.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 100
// Id's are bound by 120
Capability Shader
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 13 24 33 41 47 72 98
EntryPoint Fragment 4 "main" 13 24 36 49 55 86 118
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "f4"
Name 13 "if1"
Name 24 "if2"
Name 33 "if3"
Name 41 "if4"
Name 47 "samp"
Name 72 "offset"
Name 98 "fragColor"
Name 36 "if3"
Name 49 "if4"
Name 55 "samp"
Name 86 "offset"
Name 118 "fragColor"
Decorate 13(if1) Location 0
Decorate 24(if2) Location 1
Decorate 33(if3) Location 2
Decorate 41(if4) Location 3
Decorate 47(samp) Flat
Decorate 47(samp) Location 4
Decorate 72(offset) Flat
Decorate 72(offset) Location 5
Decorate 98(fragColor) Location 0
Decorate 36(if3) Location 2
Decorate 49(if4) Location 3
Decorate 55(samp) Flat
Decorate 55(samp) Location 4
Decorate 86(offset) Flat
Decorate 86(offset) Location 5
Decorate 118(fragColor) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -43,17 +43,19 @@ spv.interpOps.frag
22: TypeVector 6(float) 2
23: TypePointer Input 22(fvec2)
24(if2): 23(ptr) Variable Input
31: TypeVector 6(float) 3
32: TypePointer Input 31(fvec3)
33(if3): 32(ptr) Variable Input
40: TypePointer Input 7(fvec4)
41(if4): 40(ptr) Variable Input
45: TypeInt 32 1
46: TypePointer Input 45(int)
47(samp): 46(ptr) Variable Input
72(offset): 23(ptr) Variable Input
97: TypePointer Output 7(fvec4)
98(fragColor): 97(ptr) Variable Output
31: 15(int) Constant 1
34: TypeVector 6(float) 3
35: TypePointer Input 34(fvec3)
36(if3): 35(ptr) Variable Input
45: 15(int) Constant 2
48: TypePointer Input 7(fvec4)
49(if4): 48(ptr) Variable Input
53: TypeInt 32 1
54: TypePointer Input 53(int)
55(samp): 54(ptr) Variable Input
86(offset): 23(ptr) Variable Input
117: TypePointer Output 7(fvec4)
118(fragColor): 117(ptr) Variable Output
4(main): 2 Function None 3
5: Label
9(f4): 8(ptr) Variable Function
@ -68,77 +70,104 @@ spv.interpOps.frag
26: 7(fvec4) Load 9(f4)
27: 22(fvec2) VectorShuffle 26 26 0 1
28: 22(fvec2) FAdd 27 25
29: 7(fvec4) Load 9(f4)
30: 7(fvec4) VectorShuffle 29 28 4 5 2 3
Store 9(f4) 30
34: 31(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 33(if3)
35: 7(fvec4) Load 9(f4)
36: 31(fvec3) VectorShuffle 35 35 0 1 2
37: 31(fvec3) FAdd 36 34
29: 17(ptr) AccessChain 9(f4) 16
30: 6(float) CompositeExtract 28 0
Store 29 30
32: 17(ptr) AccessChain 9(f4) 31
33: 6(float) CompositeExtract 28 1
Store 32 33
37: 34(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 36(if3)
38: 7(fvec4) Load 9(f4)
39: 7(fvec4) VectorShuffle 38 37 4 5 6 3
Store 9(f4) 39
42: 7(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 41(if4)
43: 7(fvec4) Load 9(f4)
44: 7(fvec4) FAdd 43 42
Store 9(f4) 44
48: 45(int) Load 47(samp)
49: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 13(if1) 48
50: 17(ptr) AccessChain 9(f4) 16
51: 6(float) Load 50
52: 6(float) FAdd 51 49
53: 17(ptr) AccessChain 9(f4) 16
Store 53 52
54: 45(int) Load 47(samp)
55: 22(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 24(if2) 54
56: 7(fvec4) Load 9(f4)
57: 22(fvec2) VectorShuffle 56 56 0 1
58: 22(fvec2) FAdd 57 55
59: 7(fvec4) Load 9(f4)
60: 7(fvec4) VectorShuffle 59 58 4 5 2 3
Store 9(f4) 60
61: 45(int) Load 47(samp)
62: 31(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 33(if3) 61
63: 7(fvec4) Load 9(f4)
64: 31(fvec3) VectorShuffle 63 63 0 1 2
65: 31(fvec3) FAdd 64 62
66: 7(fvec4) Load 9(f4)
67: 7(fvec4) VectorShuffle 66 65 4 5 6 3
Store 9(f4) 67
68: 45(int) Load 47(samp)
69: 7(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 41(if4) 68
70: 7(fvec4) Load 9(f4)
71: 7(fvec4) FAdd 70 69
Store 9(f4) 71
73: 22(fvec2) Load 72(offset)
74: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 13(if1) 73
75: 17(ptr) AccessChain 9(f4) 16
76: 6(float) Load 75
77: 6(float) FAdd 76 74
78: 17(ptr) AccessChain 9(f4) 16
Store 78 77
79: 22(fvec2) Load 72(offset)
80: 22(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 24(if2) 79
81: 7(fvec4) Load 9(f4)
82: 22(fvec2) VectorShuffle 81 81 0 1
83: 22(fvec2) FAdd 82 80
39: 34(fvec3) VectorShuffle 38 38 0 1 2
40: 34(fvec3) FAdd 39 37
41: 17(ptr) AccessChain 9(f4) 16
42: 6(float) CompositeExtract 40 0
Store 41 42
43: 17(ptr) AccessChain 9(f4) 31
44: 6(float) CompositeExtract 40 1
Store 43 44
46: 17(ptr) AccessChain 9(f4) 45
47: 6(float) CompositeExtract 40 2
Store 46 47
50: 7(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 49(if4)
51: 7(fvec4) Load 9(f4)
52: 7(fvec4) FAdd 51 50
Store 9(f4) 52
56: 53(int) Load 55(samp)
57: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 13(if1) 56
58: 17(ptr) AccessChain 9(f4) 16
59: 6(float) Load 58
60: 6(float) FAdd 59 57
61: 17(ptr) AccessChain 9(f4) 16
Store 61 60
62: 53(int) Load 55(samp)
63: 22(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 24(if2) 62
64: 7(fvec4) Load 9(f4)
65: 22(fvec2) VectorShuffle 64 64 0 1
66: 22(fvec2) FAdd 65 63
67: 17(ptr) AccessChain 9(f4) 16
68: 6(float) CompositeExtract 66 0
Store 67 68
69: 17(ptr) AccessChain 9(f4) 31
70: 6(float) CompositeExtract 66 1
Store 69 70
71: 53(int) Load 55(samp)
72: 34(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 36(if3) 71
73: 7(fvec4) Load 9(f4)
74: 34(fvec3) VectorShuffle 73 73 0 1 2
75: 34(fvec3) FAdd 74 72
76: 17(ptr) AccessChain 9(f4) 16
77: 6(float) CompositeExtract 75 0
Store 76 77
78: 17(ptr) AccessChain 9(f4) 31
79: 6(float) CompositeExtract 75 1
Store 78 79
80: 17(ptr) AccessChain 9(f4) 45
81: 6(float) CompositeExtract 75 2
Store 80 81
82: 53(int) Load 55(samp)
83: 7(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 49(if4) 82
84: 7(fvec4) Load 9(f4)
85: 7(fvec4) VectorShuffle 84 83 4 5 2 3
85: 7(fvec4) FAdd 84 83
Store 9(f4) 85
86: 22(fvec2) Load 72(offset)
87: 31(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 33(if3) 86
88: 7(fvec4) Load 9(f4)
89: 31(fvec3) VectorShuffle 88 88 0 1 2
90: 31(fvec3) FAdd 89 87
91: 7(fvec4) Load 9(f4)
92: 7(fvec4) VectorShuffle 91 90 4 5 6 3
Store 9(f4) 92
93: 22(fvec2) Load 72(offset)
94: 7(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 41(if4) 93
87: 22(fvec2) Load 86(offset)
88: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 13(if1) 87
89: 17(ptr) AccessChain 9(f4) 16
90: 6(float) Load 89
91: 6(float) FAdd 90 88
92: 17(ptr) AccessChain 9(f4) 16
Store 92 91
93: 22(fvec2) Load 86(offset)
94: 22(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 24(if2) 93
95: 7(fvec4) Load 9(f4)
96: 7(fvec4) FAdd 95 94
Store 9(f4) 96
99: 7(fvec4) Load 9(f4)
Store 98(fragColor) 99
96: 22(fvec2) VectorShuffle 95 95 0 1
97: 22(fvec2) FAdd 96 94
98: 17(ptr) AccessChain 9(f4) 16
99: 6(float) CompositeExtract 97 0
Store 98 99
100: 17(ptr) AccessChain 9(f4) 31
101: 6(float) CompositeExtract 97 1
Store 100 101
102: 22(fvec2) Load 86(offset)
103: 34(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 36(if3) 102
104: 7(fvec4) Load 9(f4)
105: 34(fvec3) VectorShuffle 104 104 0 1 2
106: 34(fvec3) FAdd 105 103
107: 17(ptr) AccessChain 9(f4) 16
108: 6(float) CompositeExtract 106 0
Store 107 108
109: 17(ptr) AccessChain 9(f4) 31
110: 6(float) CompositeExtract 106 1
Store 109 110
111: 17(ptr) AccessChain 9(f4) 45
112: 6(float) CompositeExtract 106 2
Store 111 112
113: 22(fvec2) Load 86(offset)
114: 7(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 49(if4) 113
115: 7(fvec4) Load 9(f4)
116: 7(fvec4) FAdd 115 114
Store 9(f4) 116
119: 7(fvec4) Load 9(f4)
Store 118(fragColor) 119
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ spv.memoryQualifier.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 97
// Id's are bound by 105
Capability Shader
Capability ImageRect
@ -106,14 +106,16 @@ Validation failed
58: TypePointer Uniform 6(float)
61: TypePointer Function 6(float)
63: TypePointer Uniform 47(fvec2)
71: 14(int) Constant 2
72: TypePointer Uniform 48(fvec3)
80: 14(int) Constant 5
83: TypeInt 32 0
84: 83(int) Constant 1
88: 83(int) Constant 3
93: 14(int) Constant 3
95: TypePointer Uniform 7(fvec4)
69: TypeInt 32 0
70: 69(int) Constant 0
73: 69(int) Constant 1
76: 14(int) Constant 2
77: TypePointer Uniform 48(fvec3)
87: 69(int) Constant 2
90: 14(int) Constant 5
96: 69(int) Constant 3
101: 14(int) Constant 3
103: TypePointer Uniform 7(fvec4)
4(main): 2 Function None 3
5: Label
9(texel): 8(ptr) Variable Function
@ -149,29 +151,38 @@ Validation failed
66: 7(fvec4) Load 9(texel)
67: 47(fvec2) VectorShuffle 66 66 0 1
68: 47(fvec2) FAdd 67 65
69: 7(fvec4) Load 9(texel)
70: 7(fvec4) VectorShuffle 69 68 4 5 2 3
Store 9(texel) 70
73: 72(ptr) AccessChain 52 71
74: 48(fvec3) Load 73
75: 7(fvec4) Load 9(texel)
76: 48(fvec3) VectorShuffle 75 75 0 1 2
77: 48(fvec3) FSub 76 74
78: 7(fvec4) Load 9(texel)
79: 7(fvec4) VectorShuffle 78 77 4 5 6 3
Store 9(texel) 79
81: 58(ptr) AccessChain 52 80 57
82: 6(float) Load 81
85: 58(ptr) AccessChain 52 80 15 84
86: 6(float) Load 85
87: 6(float) FAdd 82 86
89: 61(ptr) AccessChain 9(texel) 88
90: 6(float) Load 89
91: 6(float) FAdd 90 87
92: 61(ptr) AccessChain 9(texel) 88
Store 92 91
94: 7(fvec4) Load 9(texel)
96: 95(ptr) AccessChain 52 93
Store 96 94
71: 61(ptr) AccessChain 9(texel) 70
72: 6(float) CompositeExtract 68 0
Store 71 72
74: 61(ptr) AccessChain 9(texel) 73
75: 6(float) CompositeExtract 68 1
Store 74 75
78: 77(ptr) AccessChain 52 76
79: 48(fvec3) Load 78
80: 7(fvec4) Load 9(texel)
81: 48(fvec3) VectorShuffle 80 80 0 1 2
82: 48(fvec3) FSub 81 79
83: 61(ptr) AccessChain 9(texel) 70
84: 6(float) CompositeExtract 82 0
Store 83 84
85: 61(ptr) AccessChain 9(texel) 73
86: 6(float) CompositeExtract 82 1
Store 85 86
88: 61(ptr) AccessChain 9(texel) 87
89: 6(float) CompositeExtract 82 2
Store 88 89
91: 58(ptr) AccessChain 52 90 57
92: 6(float) Load 91
93: 58(ptr) AccessChain 52 90 15 73
94: 6(float) Load 93
95: 6(float) FAdd 92 94
97: 61(ptr) AccessChain 9(texel) 96
98: 6(float) Load 97
99: 6(float) FAdd 98 95
100: 61(ptr) AccessChain 9(texel) 96
Store 100 99
102: 7(fvec4) Load 9(texel)
104: 103(ptr) AccessChain 52 101
Store 104 102
Return
FunctionEnd

View File

@ -1,13 +1,13 @@
spv.meshShaderUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 138
// Id's are bound by 141
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 11 17 34 101
EntryPoint MeshNV 4 "main" 11 17 34 104
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
@ -27,11 +27,11 @@ spv.meshShaderUserDefined.mesh
MemberName 30(myblock) 4 "m"
MemberName 30(myblock) 5 "mArr"
Name 34 "blk"
Name 97 "myblock2"
MemberName 97(myblock2) 0 "f"
MemberName 97(myblock2) 1 "pos"
MemberName 97(myblock2) 2 "m"
Name 101 "blk2"
Name 100 "myblock2"
MemberName 100(myblock2) 0 "f"
MemberName 100(myblock2) 1 "pos"
MemberName 100(myblock2) 2 "m"
Name 104 "blk2"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 30(myblock) 0 PerPrimitiveNV
@ -42,9 +42,9 @@ spv.meshShaderUserDefined.mesh
MemberDecorate 30(myblock) 5 PerPrimitiveNV
Decorate 30(myblock) Block
Decorate 34(blk) Location 0
Decorate 97(myblock2) Block
Decorate 101(blk2) Location 20
Decorate 137 BuiltIn WorkgroupSize
Decorate 100(myblock2) Block
Decorate 104(blk2) Location 20
Decorate 140 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -83,30 +83,30 @@ spv.meshShaderUserDefined.mesh
56: 23(fvec3) ConstantComposite 53 54 55
57: TypePointer Output 23(fvec3)
63: 36(int) Constant 3
68: TypePointer Output 24(fvec4)
74: 36(int) Constant 4
75: 20(float) Constant 1098907648
76: 24(fvec4) ConstantComposite 55 53 54 75
81: 36(int) Constant 5
84: 6(int) Constant 3
91: 20(float) Constant 1099431936
92: 20(float) Constant 1099956224
93: 20(float) Constant 1100480512
94: 23(fvec3) ConstantComposite 91 92 93
96: 6(int) Constant 264
97(myblock2): TypeStruct 20(float) 24(fvec4) 26
98: 6(int) Constant 81
99: TypeArray 97(myblock2) 98
100: TypePointer Output 99
101(blk2): 100(ptr) Variable Output
107: 20(float) Constant 1101004800
111: 20(float) Constant 1101529088
112: 20(float) Constant 1102053376
113: 20(float) Constant 1102577664
114: 20(float) Constant 1103101952
115: 24(fvec4) ConstantComposite 111 112 113 114
127: 20(float) Constant 1105723392
137: 9(ivec3) ConstantComposite 31 42 42
72: 6(int) Constant 3
77: 36(int) Constant 4
78: 20(float) Constant 1098907648
79: 24(fvec4) ConstantComposite 55 53 54 78
80: TypePointer Output 24(fvec4)
85: 36(int) Constant 5
94: 20(float) Constant 1099431936
95: 20(float) Constant 1099956224
96: 20(float) Constant 1100480512
97: 23(fvec3) ConstantComposite 94 95 96
99: 6(int) Constant 264
100(myblock2): TypeStruct 20(float) 24(fvec4) 26
101: 6(int) Constant 81
102: TypeArray 100(myblock2) 101
103: TypePointer Output 102
104(blk2): 103(ptr) Variable Output
110: 20(float) Constant 1101004800
114: 20(float) Constant 1101529088
115: 20(float) Constant 1102053376
116: 20(float) Constant 1102577664
117: 20(float) Constant 1103101952
118: 24(fvec4) ConstantComposite 114 115 116 117
130: 20(float) Constant 1105723392
140: 9(ivec3) ConstantComposite 31 42 42
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
@ -140,64 +140,69 @@ spv.meshShaderUserDefined.mesh
65: 6(int) UDiv 64 28
66: 57(ptr) AccessChain 34(blk) 65 52
67: 23(fvec3) Load 66
69: 68(ptr) AccessChain 34(blk) 62 63 44
70: 24(fvec4) Load 69
71: 24(fvec4) VectorShuffle 70 67 0 4 5 6
Store 69 71
72: 6(int) Load 8(iid)
73: 6(int) UDiv 72 21
77: 68(ptr) AccessChain 34(blk) 73 74 52
78: 24(fvec4) Load 77
79: 24(fvec4) VectorShuffle 78 76 7 6 5 4
Store 77 79
80: 6(int) Load 8(iid)
82: 6(int) Load 8(iid)
83: 6(int) UDiv 82 21
85: 39(ptr) AccessChain 34(blk) 83 74 52 84
86: 20(float) Load 85
87: 39(ptr) AccessChain 34(blk) 80 81 37 44 42
Store 87 86
88: 6(int) Load 8(iid)
89: 6(int) IMul 88 21
90: 6(int) Load 16(gid)
95: 57(ptr) AccessChain 34(blk) 89 81 44 90
Store 95 94
MemoryBarrier 42 96
ControlBarrier 28 28 96
102: 6(int) Load 8(iid)
103: 6(int) Load 8(iid)
104: 6(int) ISub 103 42
105: 39(ptr) AccessChain 101(blk2) 104 37
106: 20(float) Load 105
108: 20(float) FAdd 106 107
109: 39(ptr) AccessChain 101(blk2) 102 37
Store 109 108
110: 6(int) Load 8(iid)
116: 68(ptr) AccessChain 101(blk2) 110 44
Store 116 115
117: 6(int) Load 8(iid)
118: 6(int) IAdd 117 42
119: 6(int) Load 16(gid)
68: 39(ptr) AccessChain 34(blk) 62 63 44 42
69: 20(float) CompositeExtract 67 0
Store 68 69
70: 39(ptr) AccessChain 34(blk) 62 63 44 28
71: 20(float) CompositeExtract 67 1
Store 70 71
73: 39(ptr) AccessChain 34(blk) 62 63 44 72
74: 20(float) CompositeExtract 67 2
Store 73 74
75: 6(int) Load 8(iid)
76: 6(int) UDiv 75 21
81: 80(ptr) AccessChain 34(blk) 76 77 52
82: 24(fvec4) Load 81
83: 24(fvec4) VectorShuffle 82 79 7 6 5 4
Store 81 83
84: 6(int) Load 8(iid)
86: 6(int) Load 8(iid)
87: 6(int) UDiv 86 21
88: 39(ptr) AccessChain 34(blk) 87 77 52 72
89: 20(float) Load 88
90: 39(ptr) AccessChain 34(blk) 84 85 37 44 42
Store 90 89
91: 6(int) Load 8(iid)
92: 6(int) IMul 91 21
93: 6(int) Load 16(gid)
98: 57(ptr) AccessChain 34(blk) 92 85 44 93
Store 98 97
MemoryBarrier 42 99
ControlBarrier 28 28 99
105: 6(int) Load 8(iid)
106: 6(int) Load 8(iid)
107: 6(int) ISub 106 42
108: 39(ptr) AccessChain 104(blk2) 107 37
109: 20(float) Load 108
111: 20(float) FAdd 109 110
112: 39(ptr) AccessChain 104(blk2) 105 37
Store 112 111
113: 6(int) Load 8(iid)
119: 80(ptr) AccessChain 104(blk2) 113 44
Store 119 118
120: 6(int) Load 8(iid)
121: 68(ptr) AccessChain 101(blk2) 120 44
122: 24(fvec4) Load 121
123: 68(ptr) AccessChain 101(blk2) 118 52 119
Store 123 122
124: 6(int) Load 8(iid)
125: 6(int) IAdd 124 42
126: 6(int) Load 16(gid)
128: 39(ptr) AccessChain 101(blk2) 125 52 126 28
Store 128 127
129: 6(int) Load 8(iid)
130: 6(int) IAdd 129 28
131: 6(int) Load 8(iid)
132: 6(int) IAdd 131 42
133: 6(int) Load 16(gid)
134: 68(ptr) AccessChain 101(blk2) 132 52 133
135: 24(fvec4) Load 134
136: 68(ptr) AccessChain 101(blk2) 130 52 63
Store 136 135
MemoryBarrier 42 96
ControlBarrier 28 28 96
121: 6(int) IAdd 120 42
122: 6(int) Load 16(gid)
123: 6(int) Load 8(iid)
124: 80(ptr) AccessChain 104(blk2) 123 44
125: 24(fvec4) Load 124
126: 80(ptr) AccessChain 104(blk2) 121 52 122
Store 126 125
127: 6(int) Load 8(iid)
128: 6(int) IAdd 127 42
129: 6(int) Load 16(gid)
131: 39(ptr) AccessChain 104(blk2) 128 52 129 28
Store 131 130
132: 6(int) Load 8(iid)
133: 6(int) IAdd 132 28
134: 6(int) Load 8(iid)
135: 6(int) IAdd 134 42
136: 6(int) Load 16(gid)
137: 80(ptr) AccessChain 104(blk2) 135 52 136
138: 24(fvec4) Load 137
139: 80(ptr) AccessChain 104(blk2) 133 52 63
Store 139 138
MemoryBarrier 42 99
ControlBarrier 28 28 99
Return
FunctionEnd

View File

@ -1,7 +1,7 @@
spv.shaderBallot.comp
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 318
// Id's are bound by 343
Capability Shader
Capability Int64
@ -42,7 +42,7 @@ spv.shaderBallot.comp
Decorate 72(Buffers) BufferBlock
Decorate 75(data) DescriptorSet 0
Decorate 75(data) Binding 0
Decorate 317 BuiltIn WorkgroupSize
Decorate 342 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -77,19 +77,20 @@ spv.shaderBallot.comp
86: 70(int) Constant 1
87: TypeVector 68(float) 2
88: TypePointer Uniform 69(fvec4)
102: 70(int) Constant 2
103: TypeVector 68(float) 3
119: 70(int) Constant 3
134: TypePointer Uniform 70(int)
141: TypeVector 70(int) 2
142: TypePointer Uniform 71(ivec4)
156: TypeVector 70(int) 3
186: TypePointer Uniform 6(int)
193: TypePointer Uniform 20(ivec4)
207: TypeVector 6(int) 3
315: 6(int) Constant 8
316: 6(int) Constant 1
317: 207(ivec3) ConstantComposite 315 315 316
100: 6(int) Constant 1
104: 70(int) Constant 2
105: TypeVector 68(float) 3
121: 6(int) Constant 2
125: 70(int) Constant 3
140: TypePointer Uniform 70(int)
147: TypeVector 70(int) 2
148: TypePointer Uniform 71(ivec4)
163: TypeVector 70(int) 3
196: TypePointer Uniform 6(int)
203: TypePointer Uniform 20(ivec4)
218: TypeVector 6(int) 3
341: 6(int) Constant 8
342: 218(ivec3) ConstantComposite 341 341 100
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@ -137,7 +138,7 @@ spv.shaderBallot.comp
64: 17(int64_t) Bitcast 63
65: 58(bool) IEqual 57 64
SelectionMerge 67 None
BranchConditional 65 66 236
BranchConditional 65 66 250
66: Label
76: 6(int) Load 8(invocation)
80: 79(ptr) AccessChain 75(data) 77 77 78
@ -156,237 +157,279 @@ spv.shaderBallot.comp
95: 68(float) CompositeExtract 91 1
96: 68(float) SubgroupReadInvocationKHR 95 92
97: 87(fvec2) CompositeConstruct 94 96
98: 88(ptr) AccessChain 75(data) 85 77
99: 69(fvec4) Load 98
100: 69(fvec4) VectorShuffle 99 97 4 5 2 3
Store 98 100
101: 6(int) Load 8(invocation)
104: 88(ptr) AccessChain 75(data) 102 77
105: 69(fvec4) Load 104
106: 103(fvec3) VectorShuffle 105 105 0 1 2
107: 6(int) Load 8(invocation)
108: 68(float) CompositeExtract 106 0
109: 68(float) SubgroupReadInvocationKHR 108 107
110: 68(float) CompositeExtract 106 1
111: 68(float) SubgroupReadInvocationKHR 110 107
112: 68(float) CompositeExtract 106 2
113: 68(float) SubgroupReadInvocationKHR 112 107
114: 103(fvec3) CompositeConstruct 109 111 113
115: 88(ptr) AccessChain 75(data) 101 77
116: 69(fvec4) Load 115
117: 69(fvec4) VectorShuffle 116 114 4 5 6 3
Store 115 117
118: 6(int) Load 8(invocation)
120: 88(ptr) AccessChain 75(data) 119 77
121: 69(fvec4) Load 120
122: 6(int) Load 8(invocation)
123: 68(float) CompositeExtract 121 0
124: 68(float) SubgroupReadInvocationKHR 123 122
125: 68(float) CompositeExtract 121 1
126: 68(float) SubgroupReadInvocationKHR 125 122
127: 68(float) CompositeExtract 121 2
128: 68(float) SubgroupReadInvocationKHR 127 122
129: 68(float) CompositeExtract 121 3
130: 68(float) SubgroupReadInvocationKHR 129 122
131: 69(fvec4) CompositeConstruct 124 126 128 130
132: 88(ptr) AccessChain 75(data) 118 77
Store 132 131
133: 6(int) Load 8(invocation)
135: 134(ptr) AccessChain 75(data) 77 86 78
136: 70(int) Load 135
137: 6(int) Load 8(invocation)
138: 70(int) SubgroupReadInvocationKHR 136 137
139: 134(ptr) AccessChain 75(data) 133 86 78
Store 139 138
140: 6(int) Load 8(invocation)
143: 142(ptr) AccessChain 75(data) 86 86
144: 71(ivec4) Load 143
145: 141(ivec2) VectorShuffle 144 144 0 1
98: 79(ptr) AccessChain 75(data) 85 77 78
99: 68(float) CompositeExtract 97 0
Store 98 99
101: 79(ptr) AccessChain 75(data) 85 77 100
102: 68(float) CompositeExtract 97 1
Store 101 102
103: 6(int) Load 8(invocation)
106: 88(ptr) AccessChain 75(data) 104 77
107: 69(fvec4) Load 106
108: 105(fvec3) VectorShuffle 107 107 0 1 2
109: 6(int) Load 8(invocation)
110: 68(float) CompositeExtract 108 0
111: 68(float) SubgroupReadInvocationKHR 110 109
112: 68(float) CompositeExtract 108 1
113: 68(float) SubgroupReadInvocationKHR 112 109
114: 68(float) CompositeExtract 108 2
115: 68(float) SubgroupReadInvocationKHR 114 109
116: 105(fvec3) CompositeConstruct 111 113 115
117: 79(ptr) AccessChain 75(data) 103 77 78
118: 68(float) CompositeExtract 116 0
Store 117 118
119: 79(ptr) AccessChain 75(data) 103 77 100
120: 68(float) CompositeExtract 116 1
Store 119 120
122: 79(ptr) AccessChain 75(data) 103 77 121
123: 68(float) CompositeExtract 116 2
Store 122 123
124: 6(int) Load 8(invocation)
126: 88(ptr) AccessChain 75(data) 125 77
127: 69(fvec4) Load 126
128: 6(int) Load 8(invocation)
129: 68(float) CompositeExtract 127 0
130: 68(float) SubgroupReadInvocationKHR 129 128
131: 68(float) CompositeExtract 127 1
132: 68(float) SubgroupReadInvocationKHR 131 128
133: 68(float) CompositeExtract 127 2
134: 68(float) SubgroupReadInvocationKHR 133 128
135: 68(float) CompositeExtract 127 3
136: 68(float) SubgroupReadInvocationKHR 135 128
137: 69(fvec4) CompositeConstruct 130 132 134 136
138: 88(ptr) AccessChain 75(data) 124 77
Store 138 137
139: 6(int) Load 8(invocation)
141: 140(ptr) AccessChain 75(data) 77 86 78
142: 70(int) Load 141
143: 6(int) Load 8(invocation)
144: 70(int) SubgroupReadInvocationKHR 142 143
145: 140(ptr) AccessChain 75(data) 139 86 78
Store 145 144
146: 6(int) Load 8(invocation)
147: 70(int) CompositeExtract 145 0
148: 70(int) SubgroupReadInvocationKHR 147 146
149: 70(int) CompositeExtract 145 1
150: 70(int) SubgroupReadInvocationKHR 149 146
151: 141(ivec2) CompositeConstruct 148 150
152: 142(ptr) AccessChain 75(data) 140 86
153: 71(ivec4) Load 152
154: 71(ivec4) VectorShuffle 153 151 4 5 2 3
Store 152 154
155: 6(int) Load 8(invocation)
157: 142(ptr) AccessChain 75(data) 102 86
158: 71(ivec4) Load 157
159: 156(ivec3) VectorShuffle 158 158 0 1 2
160: 6(int) Load 8(invocation)
161: 70(int) CompositeExtract 159 0
162: 70(int) SubgroupReadInvocationKHR 161 160
163: 70(int) CompositeExtract 159 1
164: 70(int) SubgroupReadInvocationKHR 163 160
165: 70(int) CompositeExtract 159 2
166: 70(int) SubgroupReadInvocationKHR 165 160
167: 156(ivec3) CompositeConstruct 162 164 166
168: 142(ptr) AccessChain 75(data) 155 86
169: 71(ivec4) Load 168
170: 71(ivec4) VectorShuffle 169 167 4 5 6 3
Store 168 170
171: 6(int) Load 8(invocation)
172: 142(ptr) AccessChain 75(data) 119 86
173: 71(ivec4) Load 172
174: 6(int) Load 8(invocation)
175: 70(int) CompositeExtract 173 0
176: 70(int) SubgroupReadInvocationKHR 175 174
177: 70(int) CompositeExtract 173 1
178: 70(int) SubgroupReadInvocationKHR 177 174
179: 70(int) CompositeExtract 173 2
180: 70(int) SubgroupReadInvocationKHR 179 174
181: 70(int) CompositeExtract 173 3
182: 70(int) SubgroupReadInvocationKHR 181 174
183: 71(ivec4) CompositeConstruct 176 178 180 182
184: 142(ptr) AccessChain 75(data) 171 86
Store 184 183
185: 6(int) Load 8(invocation)
187: 186(ptr) AccessChain 75(data) 77 102 78
188: 6(int) Load 187
189: 6(int) Load 8(invocation)
190: 6(int) SubgroupReadInvocationKHR 188 189
191: 186(ptr) AccessChain 75(data) 185 102 78
Store 191 190
192: 6(int) Load 8(invocation)
194: 193(ptr) AccessChain 75(data) 86 102
195: 20(ivec4) Load 194
196: 26(ivec2) VectorShuffle 195 195 0 1
197: 6(int) Load 8(invocation)
198: 6(int) CompositeExtract 196 0
199: 6(int) SubgroupReadInvocationKHR 198 197
200: 6(int) CompositeExtract 196 1
201: 6(int) SubgroupReadInvocationKHR 200 197
202: 26(ivec2) CompositeConstruct 199 201
203: 193(ptr) AccessChain 75(data) 192 102
204: 20(ivec4) Load 203
205: 20(ivec4) VectorShuffle 204 202 4 5 2 3
Store 203 205
206: 6(int) Load 8(invocation)
208: 193(ptr) AccessChain 75(data) 102 102
209: 20(ivec4) Load 208
210: 207(ivec3) VectorShuffle 209 209 0 1 2
211: 6(int) Load 8(invocation)
212: 6(int) CompositeExtract 210 0
213: 6(int) SubgroupReadInvocationKHR 212 211
214: 6(int) CompositeExtract 210 1
215: 6(int) SubgroupReadInvocationKHR 214 211
216: 6(int) CompositeExtract 210 2
217: 6(int) SubgroupReadInvocationKHR 216 211
218: 207(ivec3) CompositeConstruct 213 215 217
219: 193(ptr) AccessChain 75(data) 206 102
149: 148(ptr) AccessChain 75(data) 86 86
150: 71(ivec4) Load 149
151: 147(ivec2) VectorShuffle 150 150 0 1
152: 6(int) Load 8(invocation)
153: 70(int) CompositeExtract 151 0
154: 70(int) SubgroupReadInvocationKHR 153 152
155: 70(int) CompositeExtract 151 1
156: 70(int) SubgroupReadInvocationKHR 155 152
157: 147(ivec2) CompositeConstruct 154 156
158: 140(ptr) AccessChain 75(data) 146 86 78
159: 70(int) CompositeExtract 157 0
Store 158 159
160: 140(ptr) AccessChain 75(data) 146 86 100
161: 70(int) CompositeExtract 157 1
Store 160 161
162: 6(int) Load 8(invocation)
164: 148(ptr) AccessChain 75(data) 104 86
165: 71(ivec4) Load 164
166: 163(ivec3) VectorShuffle 165 165 0 1 2
167: 6(int) Load 8(invocation)
168: 70(int) CompositeExtract 166 0
169: 70(int) SubgroupReadInvocationKHR 168 167
170: 70(int) CompositeExtract 166 1
171: 70(int) SubgroupReadInvocationKHR 170 167
172: 70(int) CompositeExtract 166 2
173: 70(int) SubgroupReadInvocationKHR 172 167
174: 163(ivec3) CompositeConstruct 169 171 173
175: 140(ptr) AccessChain 75(data) 162 86 78
176: 70(int) CompositeExtract 174 0
Store 175 176
177: 140(ptr) AccessChain 75(data) 162 86 100
178: 70(int) CompositeExtract 174 1
Store 177 178
179: 140(ptr) AccessChain 75(data) 162 86 121
180: 70(int) CompositeExtract 174 2
Store 179 180
181: 6(int) Load 8(invocation)
182: 148(ptr) AccessChain 75(data) 125 86
183: 71(ivec4) Load 182
184: 6(int) Load 8(invocation)
185: 70(int) CompositeExtract 183 0
186: 70(int) SubgroupReadInvocationKHR 185 184
187: 70(int) CompositeExtract 183 1
188: 70(int) SubgroupReadInvocationKHR 187 184
189: 70(int) CompositeExtract 183 2
190: 70(int) SubgroupReadInvocationKHR 189 184
191: 70(int) CompositeExtract 183 3
192: 70(int) SubgroupReadInvocationKHR 191 184
193: 71(ivec4) CompositeConstruct 186 188 190 192
194: 148(ptr) AccessChain 75(data) 181 86
Store 194 193
195: 6(int) Load 8(invocation)
197: 196(ptr) AccessChain 75(data) 77 104 78
198: 6(int) Load 197
199: 6(int) Load 8(invocation)
200: 6(int) SubgroupReadInvocationKHR 198 199
201: 196(ptr) AccessChain 75(data) 195 104 78
Store 201 200
202: 6(int) Load 8(invocation)
204: 203(ptr) AccessChain 75(data) 86 104
205: 20(ivec4) Load 204
206: 26(ivec2) VectorShuffle 205 205 0 1
207: 6(int) Load 8(invocation)
208: 6(int) CompositeExtract 206 0
209: 6(int) SubgroupReadInvocationKHR 208 207
210: 6(int) CompositeExtract 206 1
211: 6(int) SubgroupReadInvocationKHR 210 207
212: 26(ivec2) CompositeConstruct 209 211
213: 196(ptr) AccessChain 75(data) 202 104 78
214: 6(int) CompositeExtract 212 0
Store 213 214
215: 196(ptr) AccessChain 75(data) 202 104 100
216: 6(int) CompositeExtract 212 1
Store 215 216
217: 6(int) Load 8(invocation)
219: 203(ptr) AccessChain 75(data) 104 104
220: 20(ivec4) Load 219
221: 20(ivec4) VectorShuffle 220 218 4 5 6 3
Store 219 221
221: 218(ivec3) VectorShuffle 220 220 0 1 2
222: 6(int) Load 8(invocation)
223: 193(ptr) AccessChain 75(data) 119 102
224: 20(ivec4) Load 223
225: 6(int) Load 8(invocation)
226: 6(int) CompositeExtract 224 0
227: 6(int) SubgroupReadInvocationKHR 226 225
228: 6(int) CompositeExtract 224 1
229: 6(int) SubgroupReadInvocationKHR 228 225
230: 6(int) CompositeExtract 224 2
231: 6(int) SubgroupReadInvocationKHR 230 225
232: 6(int) CompositeExtract 224 3
233: 6(int) SubgroupReadInvocationKHR 232 225
234: 20(ivec4) CompositeConstruct 227 229 231 233
235: 193(ptr) AccessChain 75(data) 222 102
Store 235 234
223: 6(int) CompositeExtract 221 0
224: 6(int) SubgroupReadInvocationKHR 223 222
225: 6(int) CompositeExtract 221 1
226: 6(int) SubgroupReadInvocationKHR 225 222
227: 6(int) CompositeExtract 221 2
228: 6(int) SubgroupReadInvocationKHR 227 222
229: 218(ivec3) CompositeConstruct 224 226 228
230: 196(ptr) AccessChain 75(data) 217 104 78
231: 6(int) CompositeExtract 229 0
Store 230 231
232: 196(ptr) AccessChain 75(data) 217 104 100
233: 6(int) CompositeExtract 229 1
Store 232 233
234: 196(ptr) AccessChain 75(data) 217 104 121
235: 6(int) CompositeExtract 229 2
Store 234 235
236: 6(int) Load 8(invocation)
237: 203(ptr) AccessChain 75(data) 125 104
238: 20(ivec4) Load 237
239: 6(int) Load 8(invocation)
240: 6(int) CompositeExtract 238 0
241: 6(int) SubgroupReadInvocationKHR 240 239
242: 6(int) CompositeExtract 238 1
243: 6(int) SubgroupReadInvocationKHR 242 239
244: 6(int) CompositeExtract 238 2
245: 6(int) SubgroupReadInvocationKHR 244 239
246: 6(int) CompositeExtract 238 3
247: 6(int) SubgroupReadInvocationKHR 246 239
248: 20(ivec4) CompositeConstruct 241 243 245 247
249: 203(ptr) AccessChain 75(data) 236 104
Store 249 248
Branch 67
236: Label
237: 6(int) Load 8(invocation)
238: 79(ptr) AccessChain 75(data) 77 77 78
239: 68(float) Load 238
240: 68(float) SubgroupFirstInvocationKHR 239
241: 79(ptr) AccessChain 75(data) 237 77 78
Store 241 240
242: 6(int) Load 8(invocation)
243: 88(ptr) AccessChain 75(data) 86 77
244: 69(fvec4) Load 243
245: 87(fvec2) VectorShuffle 244 244 0 1
246: 87(fvec2) SubgroupFirstInvocationKHR 245
247: 88(ptr) AccessChain 75(data) 242 77
248: 69(fvec4) Load 247
249: 69(fvec4) VectorShuffle 248 246 4 5 2 3
Store 247 249
250: 6(int) Load 8(invocation)
251: 88(ptr) AccessChain 75(data) 102 77
252: 69(fvec4) Load 251
253: 103(fvec3) VectorShuffle 252 252 0 1 2
254: 103(fvec3) SubgroupFirstInvocationKHR 253
255: 88(ptr) AccessChain 75(data) 250 77
256: 69(fvec4) Load 255
257: 69(fvec4) VectorShuffle 256 254 4 5 6 3
Store 255 257
258: 6(int) Load 8(invocation)
259: 88(ptr) AccessChain 75(data) 119 77
260: 69(fvec4) Load 259
261: 69(fvec4) SubgroupFirstInvocationKHR 260
262: 88(ptr) AccessChain 75(data) 258 77
Store 262 261
263: 6(int) Load 8(invocation)
264: 134(ptr) AccessChain 75(data) 77 86 78
265: 70(int) Load 264
266: 70(int) SubgroupFirstInvocationKHR 265
267: 134(ptr) AccessChain 75(data) 263 86 78
Store 267 266
268: 6(int) Load 8(invocation)
269: 142(ptr) AccessChain 75(data) 86 86
270: 71(ivec4) Load 269
271: 141(ivec2) VectorShuffle 270 270 0 1
272: 141(ivec2) SubgroupFirstInvocationKHR 271
273: 142(ptr) AccessChain 75(data) 268 86
274: 71(ivec4) Load 273
275: 71(ivec4) VectorShuffle 274 272 4 5 2 3
Store 273 275
250: Label
251: 6(int) Load 8(invocation)
252: 79(ptr) AccessChain 75(data) 77 77 78
253: 68(float) Load 252
254: 68(float) SubgroupFirstInvocationKHR 253
255: 79(ptr) AccessChain 75(data) 251 77 78
Store 255 254
256: 6(int) Load 8(invocation)
257: 88(ptr) AccessChain 75(data) 86 77
258: 69(fvec4) Load 257
259: 87(fvec2) VectorShuffle 258 258 0 1
260: 87(fvec2) SubgroupFirstInvocationKHR 259
261: 79(ptr) AccessChain 75(data) 256 77 78
262: 68(float) CompositeExtract 260 0
Store 261 262
263: 79(ptr) AccessChain 75(data) 256 77 100
264: 68(float) CompositeExtract 260 1
Store 263 264
265: 6(int) Load 8(invocation)
266: 88(ptr) AccessChain 75(data) 104 77
267: 69(fvec4) Load 266
268: 105(fvec3) VectorShuffle 267 267 0 1 2
269: 105(fvec3) SubgroupFirstInvocationKHR 268
270: 79(ptr) AccessChain 75(data) 265 77 78
271: 68(float) CompositeExtract 269 0
Store 270 271
272: 79(ptr) AccessChain 75(data) 265 77 100
273: 68(float) CompositeExtract 269 1
Store 272 273
274: 79(ptr) AccessChain 75(data) 265 77 121
275: 68(float) CompositeExtract 269 2
Store 274 275
276: 6(int) Load 8(invocation)
277: 142(ptr) AccessChain 75(data) 102 86
278: 71(ivec4) Load 277
279: 156(ivec3) VectorShuffle 278 278 0 1 2
280: 156(ivec3) SubgroupFirstInvocationKHR 279
281: 142(ptr) AccessChain 75(data) 276 86
282: 71(ivec4) Load 281
283: 71(ivec4) VectorShuffle 282 280 4 5 6 3
Store 281 283
284: 6(int) Load 8(invocation)
285: 142(ptr) AccessChain 75(data) 119 86
286: 71(ivec4) Load 285
287: 71(ivec4) SubgroupFirstInvocationKHR 286
288: 142(ptr) AccessChain 75(data) 284 86
Store 288 287
289: 6(int) Load 8(invocation)
290: 186(ptr) AccessChain 75(data) 77 102 78
291: 6(int) Load 290
292: 6(int) SubgroupFirstInvocationKHR 291
293: 186(ptr) AccessChain 75(data) 289 102 78
Store 293 292
294: 6(int) Load 8(invocation)
295: 193(ptr) AccessChain 75(data) 86 102
296: 20(ivec4) Load 295
297: 26(ivec2) VectorShuffle 296 296 0 1
298: 26(ivec2) SubgroupFirstInvocationKHR 297
299: 193(ptr) AccessChain 75(data) 294 102
300: 20(ivec4) Load 299
301: 20(ivec4) VectorShuffle 300 298 4 5 2 3
Store 299 301
302: 6(int) Load 8(invocation)
303: 193(ptr) AccessChain 75(data) 102 102
304: 20(ivec4) Load 303
305: 207(ivec3) VectorShuffle 304 304 0 1 2
306: 207(ivec3) SubgroupFirstInvocationKHR 305
307: 193(ptr) AccessChain 75(data) 302 102
308: 20(ivec4) Load 307
309: 20(ivec4) VectorShuffle 308 306 4 5 6 3
Store 307 309
310: 6(int) Load 8(invocation)
311: 193(ptr) AccessChain 75(data) 119 102
312: 20(ivec4) Load 311
313: 20(ivec4) SubgroupFirstInvocationKHR 312
314: 193(ptr) AccessChain 75(data) 310 102
Store 314 313
277: 88(ptr) AccessChain 75(data) 125 77
278: 69(fvec4) Load 277
279: 69(fvec4) SubgroupFirstInvocationKHR 278
280: 88(ptr) AccessChain 75(data) 276 77
Store 280 279
281: 6(int) Load 8(invocation)
282: 140(ptr) AccessChain 75(data) 77 86 78
283: 70(int) Load 282
284: 70(int) SubgroupFirstInvocationKHR 283
285: 140(ptr) AccessChain 75(data) 281 86 78
Store 285 284
286: 6(int) Load 8(invocation)
287: 148(ptr) AccessChain 75(data) 86 86
288: 71(ivec4) Load 287
289: 147(ivec2) VectorShuffle 288 288 0 1
290: 147(ivec2) SubgroupFirstInvocationKHR 289
291: 140(ptr) AccessChain 75(data) 286 86 78
292: 70(int) CompositeExtract 290 0
Store 291 292
293: 140(ptr) AccessChain 75(data) 286 86 100
294: 70(int) CompositeExtract 290 1
Store 293 294
295: 6(int) Load 8(invocation)
296: 148(ptr) AccessChain 75(data) 104 86
297: 71(ivec4) Load 296
298: 163(ivec3) VectorShuffle 297 297 0 1 2
299: 163(ivec3) SubgroupFirstInvocationKHR 298
300: 140(ptr) AccessChain 75(data) 295 86 78
301: 70(int) CompositeExtract 299 0
Store 300 301
302: 140(ptr) AccessChain 75(data) 295 86 100
303: 70(int) CompositeExtract 299 1
Store 302 303
304: 140(ptr) AccessChain 75(data) 295 86 121
305: 70(int) CompositeExtract 299 2
Store 304 305
306: 6(int) Load 8(invocation)
307: 148(ptr) AccessChain 75(data) 125 86
308: 71(ivec4) Load 307
309: 71(ivec4) SubgroupFirstInvocationKHR 308
310: 148(ptr) AccessChain 75(data) 306 86
Store 310 309
311: 6(int) Load 8(invocation)
312: 196(ptr) AccessChain 75(data) 77 104 78
313: 6(int) Load 312
314: 6(int) SubgroupFirstInvocationKHR 313
315: 196(ptr) AccessChain 75(data) 311 104 78
Store 315 314
316: 6(int) Load 8(invocation)
317: 203(ptr) AccessChain 75(data) 86 104
318: 20(ivec4) Load 317
319: 26(ivec2) VectorShuffle 318 318 0 1
320: 26(ivec2) SubgroupFirstInvocationKHR 319
321: 196(ptr) AccessChain 75(data) 316 104 78
322: 6(int) CompositeExtract 320 0
Store 321 322
323: 196(ptr) AccessChain 75(data) 316 104 100
324: 6(int) CompositeExtract 320 1
Store 323 324
325: 6(int) Load 8(invocation)
326: 203(ptr) AccessChain 75(data) 104 104
327: 20(ivec4) Load 326
328: 218(ivec3) VectorShuffle 327 327 0 1 2
329: 218(ivec3) SubgroupFirstInvocationKHR 328
330: 196(ptr) AccessChain 75(data) 325 104 78
331: 6(int) CompositeExtract 329 0
Store 330 331
332: 196(ptr) AccessChain 75(data) 325 104 100
333: 6(int) CompositeExtract 329 1
Store 332 333
334: 196(ptr) AccessChain 75(data) 325 104 121
335: 6(int) CompositeExtract 329 2
Store 334 335
336: 6(int) Load 8(invocation)
337: 203(ptr) AccessChain 75(data) 125 104
338: 20(ivec4) Load 337
339: 20(ivec4) SubgroupFirstInvocationKHR 338
340: 203(ptr) AccessChain 75(data) 336 104
Store 340 339
Branch 67
67: Label
Return

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
spv.subgroupBallot.comp
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 397
// Id's are bound by 437
Capability Shader
Capability Float64
@ -51,7 +51,7 @@ spv.subgroupBallot.comp
Decorate 46(Buffers) Block
Decorate 49(data) DescriptorSet 0
Decorate 49(data) Binding 0
Decorate 396 BuiltIn WorkgroupSize
Decorate 436 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -93,28 +93,28 @@ spv.subgroupBallot.comp
96: TypePointer StorageBuffer 40(float)
102: TypeVector 40(float) 2
103: TypePointer StorageBuffer 41(fvec4)
112: TypeVector 40(float) 3
121: 42(int) Constant 3
127: TypePointer StorageBuffer 42(int)
133: TypeVector 42(int) 2
134: TypePointer StorageBuffer 43(ivec4)
143: TypeVector 42(int) 3
162: TypeVector 6(int) 2
171: TypeVector 6(int) 3
185: TypePointer StorageBuffer 44(float64_t)
191: TypeVector 44(float64_t) 2
192: TypePointer StorageBuffer 45(f64vec4)
201: TypeVector 44(float64_t) 3
225: 133(ivec2) ConstantComposite 61 61
226: TypeVector 36(bool) 2
229: 133(ivec2) ConstantComposite 60 60
238: 143(ivec3) ConstantComposite 61 61 61
239: TypeVector 36(bool) 3
242: 143(ivec3) ConstantComposite 60 60 60
250: 43(ivec4) ConstantComposite 61 61 61 61
253: 43(ivec4) ConstantComposite 60 60 60 60
395: 6(int) Constant 8
396: 171(ivec3) ConstantComposite 395 395 64
113: TypeVector 40(float) 3
125: 42(int) Constant 3
131: TypePointer StorageBuffer 42(int)
137: TypeVector 42(int) 2
138: TypePointer StorageBuffer 43(ivec4)
148: TypeVector 42(int) 3
170: TypeVector 6(int) 2
180: TypeVector 6(int) 3
197: TypePointer StorageBuffer 44(float64_t)
203: TypeVector 44(float64_t) 2
204: TypePointer StorageBuffer 45(f64vec4)
214: TypeVector 44(float64_t) 3
241: 137(ivec2) ConstantComposite 61 61
242: TypeVector 36(bool) 2
245: 137(ivec2) ConstantComposite 60 60
255: 148(ivec3) ConstantComposite 61 61 61
256: TypeVector 36(bool) 3
259: 148(ivec3) ConstantComposite 60 60 60
270: 43(ivec4) ConstantComposite 61 61 61 61
273: 43(ivec4) ConstantComposite 60 60 60 60
435: 6(int) Constant 8
436: 180(ivec3) ConstantComposite 435 435 64
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@ -179,7 +179,7 @@ spv.subgroupBallot.comp
87: Label
92: 36(bool) Phi 85 5 91 86
SelectionMerge 94 None
BranchConditional 92 93 256
BranchConditional 92 93 276
93: Label
95: 6(int) Load 8(invocation)
97: 96(ptr) AccessChain 49(data) 61 61 54
@ -192,313 +192,383 @@ spv.subgroupBallot.comp
105: 41(fvec4) Load 104
106: 102(fvec2) VectorShuffle 105 105 0 1
107: 102(fvec2) GroupNonUniformBroadcast 38 106 38
108: 103(ptr) AccessChain 49(data) 101 61
109: 41(fvec4) Load 108
110: 41(fvec4) VectorShuffle 109 107 4 5 2 3
Store 108 110
111: 6(int) Load 8(invocation)
113: 103(ptr) AccessChain 49(data) 51 61
114: 41(fvec4) Load 113
115: 112(fvec3) VectorShuffle 114 114 0 1 2
116: 112(fvec3) GroupNonUniformBroadcast 38 115 38
117: 103(ptr) AccessChain 49(data) 111 61
118: 41(fvec4) Load 117
119: 41(fvec4) VectorShuffle 118 116 4 5 6 3
Store 117 119
120: 6(int) Load 8(invocation)
122: 103(ptr) AccessChain 49(data) 121 61
123: 41(fvec4) Load 122
124: 41(fvec4) GroupNonUniformBroadcast 38 123 38
125: 103(ptr) AccessChain 49(data) 120 61
Store 125 124
126: 6(int) Load 8(invocation)
128: 127(ptr) AccessChain 49(data) 61 60 54
129: 42(int) Load 128
130: 42(int) GroupNonUniformBroadcast 38 129 72
131: 127(ptr) AccessChain 49(data) 126 60 54
Store 131 130
132: 6(int) Load 8(invocation)
135: 134(ptr) AccessChain 49(data) 60 60
136: 43(ivec4) Load 135
137: 133(ivec2) VectorShuffle 136 136 0 1
138: 133(ivec2) GroupNonUniformBroadcast 38 137 72
139: 134(ptr) AccessChain 49(data) 132 60
108: 96(ptr) AccessChain 49(data) 101 61 54
109: 40(float) CompositeExtract 107 0
Store 108 109
110: 96(ptr) AccessChain 49(data) 101 61 64
111: 40(float) CompositeExtract 107 1
Store 110 111
112: 6(int) Load 8(invocation)
114: 103(ptr) AccessChain 49(data) 51 61
115: 41(fvec4) Load 114
116: 113(fvec3) VectorShuffle 115 115 0 1 2
117: 113(fvec3) GroupNonUniformBroadcast 38 116 38
118: 96(ptr) AccessChain 49(data) 112 61 54
119: 40(float) CompositeExtract 117 0
Store 118 119
120: 96(ptr) AccessChain 49(data) 112 61 64
121: 40(float) CompositeExtract 117 1
Store 120 121
122: 96(ptr) AccessChain 49(data) 112 61 72
123: 40(float) CompositeExtract 117 2
Store 122 123
124: 6(int) Load 8(invocation)
126: 103(ptr) AccessChain 49(data) 125 61
127: 41(fvec4) Load 126
128: 41(fvec4) GroupNonUniformBroadcast 38 127 38
129: 103(ptr) AccessChain 49(data) 124 61
Store 129 128
130: 6(int) Load 8(invocation)
132: 131(ptr) AccessChain 49(data) 61 60 54
133: 42(int) Load 132
134: 42(int) GroupNonUniformBroadcast 38 133 72
135: 131(ptr) AccessChain 49(data) 130 60 54
Store 135 134
136: 6(int) Load 8(invocation)
139: 138(ptr) AccessChain 49(data) 60 60
140: 43(ivec4) Load 139
141: 43(ivec4) VectorShuffle 140 138 4 5 2 3
Store 139 141
142: 6(int) Load 8(invocation)
144: 134(ptr) AccessChain 49(data) 51 60
145: 43(ivec4) Load 144
146: 143(ivec3) VectorShuffle 145 145 0 1 2
147: 143(ivec3) GroupNonUniformBroadcast 38 146 72
148: 134(ptr) AccessChain 49(data) 142 60
149: 43(ivec4) Load 148
150: 43(ivec4) VectorShuffle 149 147 4 5 6 3
Store 148 150
151: 6(int) Load 8(invocation)
152: 134(ptr) AccessChain 49(data) 121 60
153: 43(ivec4) Load 152
154: 43(ivec4) GroupNonUniformBroadcast 38 153 72
155: 134(ptr) AccessChain 49(data) 151 60
Store 155 154
156: 6(int) Load 8(invocation)
157: 55(ptr) AccessChain 49(data) 61 51 54
158: 6(int) Load 157
159: 6(int) GroupNonUniformBroadcast 38 158 64
160: 55(ptr) AccessChain 49(data) 156 51 54
Store 160 159
161: 6(int) Load 8(invocation)
163: 88(ptr) AccessChain 49(data) 60 51
164: 17(ivec4) Load 163
165: 162(ivec2) VectorShuffle 164 164 0 1
166: 162(ivec2) GroupNonUniformBroadcast 38 165 64
167: 88(ptr) AccessChain 49(data) 161 51
168: 17(ivec4) Load 167
169: 17(ivec4) VectorShuffle 168 166 4 5 2 3
Store 167 169
170: 6(int) Load 8(invocation)
172: 88(ptr) AccessChain 49(data) 51 51
173: 17(ivec4) Load 172
174: 171(ivec3) VectorShuffle 173 173 0 1 2
175: 171(ivec3) GroupNonUniformBroadcast 38 174 64
176: 88(ptr) AccessChain 49(data) 170 51
177: 17(ivec4) Load 176
178: 17(ivec4) VectorShuffle 177 175 4 5 6 3
Store 176 178
141: 137(ivec2) VectorShuffle 140 140 0 1
142: 137(ivec2) GroupNonUniformBroadcast 38 141 72
143: 131(ptr) AccessChain 49(data) 136 60 54
144: 42(int) CompositeExtract 142 0
Store 143 144
145: 131(ptr) AccessChain 49(data) 136 60 64
146: 42(int) CompositeExtract 142 1
Store 145 146
147: 6(int) Load 8(invocation)
149: 138(ptr) AccessChain 49(data) 51 60
150: 43(ivec4) Load 149
151: 148(ivec3) VectorShuffle 150 150 0 1 2
152: 148(ivec3) GroupNonUniformBroadcast 38 151 72
153: 131(ptr) AccessChain 49(data) 147 60 54
154: 42(int) CompositeExtract 152 0
Store 153 154
155: 131(ptr) AccessChain 49(data) 147 60 64
156: 42(int) CompositeExtract 152 1
Store 155 156
157: 131(ptr) AccessChain 49(data) 147 60 72
158: 42(int) CompositeExtract 152 2
Store 157 158
159: 6(int) Load 8(invocation)
160: 138(ptr) AccessChain 49(data) 125 60
161: 43(ivec4) Load 160
162: 43(ivec4) GroupNonUniformBroadcast 38 161 72
163: 138(ptr) AccessChain 49(data) 159 60
Store 163 162
164: 6(int) Load 8(invocation)
165: 55(ptr) AccessChain 49(data) 61 51 54
166: 6(int) Load 165
167: 6(int) GroupNonUniformBroadcast 38 166 64
168: 55(ptr) AccessChain 49(data) 164 51 54
Store 168 167
169: 6(int) Load 8(invocation)
171: 88(ptr) AccessChain 49(data) 60 51
172: 17(ivec4) Load 171
173: 170(ivec2) VectorShuffle 172 172 0 1
174: 170(ivec2) GroupNonUniformBroadcast 38 173 64
175: 55(ptr) AccessChain 49(data) 169 51 54
176: 6(int) CompositeExtract 174 0
Store 175 176
177: 55(ptr) AccessChain 49(data) 169 51 64
178: 6(int) CompositeExtract 174 1
Store 177 178
179: 6(int) Load 8(invocation)
180: 88(ptr) AccessChain 49(data) 121 51
181: 17(ivec4) Load 180
182: 17(ivec4) GroupNonUniformBroadcast 38 181 64
183: 88(ptr) AccessChain 49(data) 179 51
Store 183 182
184: 6(int) Load 8(invocation)
186: 185(ptr) AccessChain 49(data) 61 121 54
187:44(float64_t) Load 186
188:44(float64_t) GroupNonUniformBroadcast 38 187 54
189: 185(ptr) AccessChain 49(data) 184 121 54
Store 189 188
190: 6(int) Load 8(invocation)
193: 192(ptr) AccessChain 49(data) 60 121
194: 45(f64vec4) Load 193
195:191(f64vec2) VectorShuffle 194 194 0 1
196:191(f64vec2) GroupNonUniformBroadcast 38 195 54
197: 192(ptr) AccessChain 49(data) 190 121
198: 45(f64vec4) Load 197
199: 45(f64vec4) VectorShuffle 198 196 4 5 2 3
Store 197 199
200: 6(int) Load 8(invocation)
202: 192(ptr) AccessChain 49(data) 51 121
203: 45(f64vec4) Load 202
204:201(f64vec3) VectorShuffle 203 203 0 1 2
205:201(f64vec3) GroupNonUniformBroadcast 38 204 54
206: 192(ptr) AccessChain 49(data) 200 121
207: 45(f64vec4) Load 206
208: 45(f64vec4) VectorShuffle 207 205 4 5 6 3
Store 206 208
209: 6(int) Load 8(invocation)
210: 192(ptr) AccessChain 49(data) 121 121
211: 45(f64vec4) Load 210
212: 45(f64vec4) GroupNonUniformBroadcast 38 211 54
213: 192(ptr) AccessChain 49(data) 209 121
Store 213 212
214: 6(int) Load 8(invocation)
215: 127(ptr) AccessChain 49(data) 61 60 54
216: 42(int) Load 215
217: 36(bool) SLessThan 216 61
218: 36(bool) GroupNonUniformBroadcast 38 217 64
219: 42(int) Select 218 60 61
220: 127(ptr) AccessChain 49(data) 214 60 54
Store 220 219
221: 6(int) Load 8(invocation)
222: 134(ptr) AccessChain 49(data) 60 60
223: 43(ivec4) Load 222
224: 133(ivec2) VectorShuffle 223 223 0 1
227: 226(bvec2) SLessThan 224 225
228: 226(bvec2) GroupNonUniformBroadcast 38 227 64
230: 133(ivec2) Select 228 229 225
231: 134(ptr) AccessChain 49(data) 221 60
232: 43(ivec4) Load 231
233: 43(ivec4) VectorShuffle 232 230 4 5 2 3
Store 231 233
234: 6(int) Load 8(invocation)
235: 134(ptr) AccessChain 49(data) 60 60
236: 43(ivec4) Load 235
237: 143(ivec3) VectorShuffle 236 236 0 1 2
240: 239(bvec3) SLessThan 237 238
241: 239(bvec3) GroupNonUniformBroadcast 38 240 64
243: 143(ivec3) Select 241 242 238
244: 134(ptr) AccessChain 49(data) 234 60
245: 43(ivec4) Load 244
246: 43(ivec4) VectorShuffle 245 243 4 5 6 3
Store 244 246
247: 6(int) Load 8(invocation)
248: 134(ptr) AccessChain 49(data) 60 60
249: 43(ivec4) Load 248
251: 83(bvec4) SLessThan 249 250
252: 83(bvec4) GroupNonUniformBroadcast 38 251 64
254: 43(ivec4) Select 252 253 250
255: 134(ptr) AccessChain 49(data) 247 60
Store 255 254
181: 88(ptr) AccessChain 49(data) 51 51
182: 17(ivec4) Load 181
183: 180(ivec3) VectorShuffle 182 182 0 1 2
184: 180(ivec3) GroupNonUniformBroadcast 38 183 64
185: 55(ptr) AccessChain 49(data) 179 51 54
186: 6(int) CompositeExtract 184 0
Store 185 186
187: 55(ptr) AccessChain 49(data) 179 51 64
188: 6(int) CompositeExtract 184 1
Store 187 188
189: 55(ptr) AccessChain 49(data) 179 51 72
190: 6(int) CompositeExtract 184 2
Store 189 190
191: 6(int) Load 8(invocation)
192: 88(ptr) AccessChain 49(data) 125 51
193: 17(ivec4) Load 192
194: 17(ivec4) GroupNonUniformBroadcast 38 193 64
195: 88(ptr) AccessChain 49(data) 191 51
Store 195 194
196: 6(int) Load 8(invocation)
198: 197(ptr) AccessChain 49(data) 61 125 54
199:44(float64_t) Load 198
200:44(float64_t) GroupNonUniformBroadcast 38 199 54
201: 197(ptr) AccessChain 49(data) 196 125 54
Store 201 200
202: 6(int) Load 8(invocation)
205: 204(ptr) AccessChain 49(data) 60 125
206: 45(f64vec4) Load 205
207:203(f64vec2) VectorShuffle 206 206 0 1
208:203(f64vec2) GroupNonUniformBroadcast 38 207 54
209: 197(ptr) AccessChain 49(data) 202 125 54
210:44(float64_t) CompositeExtract 208 0
Store 209 210
211: 197(ptr) AccessChain 49(data) 202 125 64
212:44(float64_t) CompositeExtract 208 1
Store 211 212
213: 6(int) Load 8(invocation)
215: 204(ptr) AccessChain 49(data) 51 125
216: 45(f64vec4) Load 215
217:214(f64vec3) VectorShuffle 216 216 0 1 2
218:214(f64vec3) GroupNonUniformBroadcast 38 217 54
219: 197(ptr) AccessChain 49(data) 213 125 54
220:44(float64_t) CompositeExtract 218 0
Store 219 220
221: 197(ptr) AccessChain 49(data) 213 125 64
222:44(float64_t) CompositeExtract 218 1
Store 221 222
223: 197(ptr) AccessChain 49(data) 213 125 72
224:44(float64_t) CompositeExtract 218 2
Store 223 224
225: 6(int) Load 8(invocation)
226: 204(ptr) AccessChain 49(data) 125 125
227: 45(f64vec4) Load 226
228: 45(f64vec4) GroupNonUniformBroadcast 38 227 54
229: 204(ptr) AccessChain 49(data) 225 125
Store 229 228
230: 6(int) Load 8(invocation)
231: 131(ptr) AccessChain 49(data) 61 60 54
232: 42(int) Load 231
233: 36(bool) SLessThan 232 61
234: 36(bool) GroupNonUniformBroadcast 38 233 64
235: 42(int) Select 234 60 61
236: 131(ptr) AccessChain 49(data) 230 60 54
Store 236 235
237: 6(int) Load 8(invocation)
238: 138(ptr) AccessChain 49(data) 60 60
239: 43(ivec4) Load 238
240: 137(ivec2) VectorShuffle 239 239 0 1
243: 242(bvec2) SLessThan 240 241
244: 242(bvec2) GroupNonUniformBroadcast 38 243 64
246: 137(ivec2) Select 244 245 241
247: 131(ptr) AccessChain 49(data) 237 60 54
248: 42(int) CompositeExtract 246 0
Store 247 248
249: 131(ptr) AccessChain 49(data) 237 60 64
250: 42(int) CompositeExtract 246 1
Store 249 250
251: 6(int) Load 8(invocation)
252: 138(ptr) AccessChain 49(data) 60 60
253: 43(ivec4) Load 252
254: 148(ivec3) VectorShuffle 253 253 0 1 2
257: 256(bvec3) SLessThan 254 255
258: 256(bvec3) GroupNonUniformBroadcast 38 257 64
260: 148(ivec3) Select 258 259 255
261: 131(ptr) AccessChain 49(data) 251 60 54
262: 42(int) CompositeExtract 260 0
Store 261 262
263: 131(ptr) AccessChain 49(data) 251 60 64
264: 42(int) CompositeExtract 260 1
Store 263 264
265: 131(ptr) AccessChain 49(data) 251 60 72
266: 42(int) CompositeExtract 260 2
Store 265 266
267: 6(int) Load 8(invocation)
268: 138(ptr) AccessChain 49(data) 60 60
269: 43(ivec4) Load 268
271: 83(bvec4) SLessThan 269 270
272: 83(bvec4) GroupNonUniformBroadcast 38 271 64
274: 43(ivec4) Select 272 273 270
275: 138(ptr) AccessChain 49(data) 267 60
Store 275 274
Branch 94
256: Label
257: 6(int) Load 8(invocation)
258: 96(ptr) AccessChain 49(data) 61 61 54
259: 40(float) Load 258
260: 40(float) GroupNonUniformBroadcastFirst 38 259
261: 96(ptr) AccessChain 49(data) 257 61 54
Store 261 260
262: 6(int) Load 8(invocation)
263: 103(ptr) AccessChain 49(data) 60 61
264: 41(fvec4) Load 263
265: 102(fvec2) VectorShuffle 264 264 0 1
266: 102(fvec2) GroupNonUniformBroadcastFirst 38 265
267: 103(ptr) AccessChain 49(data) 262 61
268: 41(fvec4) Load 267
269: 41(fvec4) VectorShuffle 268 266 4 5 2 3
Store 267 269
270: 6(int) Load 8(invocation)
271: 103(ptr) AccessChain 49(data) 51 61
272: 41(fvec4) Load 271
273: 112(fvec3) VectorShuffle 272 272 0 1 2
274: 112(fvec3) GroupNonUniformBroadcastFirst 38 273
275: 103(ptr) AccessChain 49(data) 270 61
276: 41(fvec4) Load 275
277: 41(fvec4) VectorShuffle 276 274 4 5 6 3
Store 275 277
278: 6(int) Load 8(invocation)
279: 103(ptr) AccessChain 49(data) 121 61
280: 41(fvec4) Load 279
281: 41(fvec4) GroupNonUniformBroadcastFirst 38 280
282: 103(ptr) AccessChain 49(data) 278 61
Store 282 281
283: 6(int) Load 8(invocation)
284: 127(ptr) AccessChain 49(data) 61 60 54
285: 42(int) Load 284
286: 42(int) GroupNonUniformBroadcastFirst 38 285
287: 127(ptr) AccessChain 49(data) 283 60 54
Store 287 286
288: 6(int) Load 8(invocation)
289: 134(ptr) AccessChain 49(data) 60 60
290: 43(ivec4) Load 289
291: 133(ivec2) VectorShuffle 290 290 0 1
292: 133(ivec2) GroupNonUniformBroadcastFirst 38 291
293: 134(ptr) AccessChain 49(data) 288 60
294: 43(ivec4) Load 293
295: 43(ivec4) VectorShuffle 294 292 4 5 2 3
Store 293 295
296: 6(int) Load 8(invocation)
297: 134(ptr) AccessChain 49(data) 51 60
298: 43(ivec4) Load 297
299: 143(ivec3) VectorShuffle 298 298 0 1 2
300: 143(ivec3) GroupNonUniformBroadcastFirst 38 299
301: 134(ptr) AccessChain 49(data) 296 60
302: 43(ivec4) Load 301
303: 43(ivec4) VectorShuffle 302 300 4 5 6 3
Store 301 303
304: 6(int) Load 8(invocation)
305: 134(ptr) AccessChain 49(data) 121 60
306: 43(ivec4) Load 305
307: 43(ivec4) GroupNonUniformBroadcastFirst 38 306
308: 134(ptr) AccessChain 49(data) 304 60
Store 308 307
309: 6(int) Load 8(invocation)
310: 55(ptr) AccessChain 49(data) 61 51 54
311: 6(int) Load 310
312: 6(int) GroupNonUniformBroadcastFirst 38 311
313: 55(ptr) AccessChain 49(data) 309 51 54
Store 313 312
314: 6(int) Load 8(invocation)
315: 88(ptr) AccessChain 49(data) 60 51
316: 17(ivec4) Load 315
317: 162(ivec2) VectorShuffle 316 316 0 1
318: 162(ivec2) GroupNonUniformBroadcastFirst 38 317
319: 88(ptr) AccessChain 49(data) 314 51
320: 17(ivec4) Load 319
321: 17(ivec4) VectorShuffle 320 318 4 5 2 3
Store 319 321
322: 6(int) Load 8(invocation)
323: 88(ptr) AccessChain 49(data) 51 51
324: 17(ivec4) Load 323
325: 171(ivec3) VectorShuffle 324 324 0 1 2
326: 171(ivec3) GroupNonUniformBroadcastFirst 38 325
327: 88(ptr) AccessChain 49(data) 322 51
328: 17(ivec4) Load 327
329: 17(ivec4) VectorShuffle 328 326 4 5 6 3
Store 327 329
330: 6(int) Load 8(invocation)
331: 88(ptr) AccessChain 49(data) 121 51
332: 17(ivec4) Load 331
333: 17(ivec4) GroupNonUniformBroadcastFirst 38 332
334: 88(ptr) AccessChain 49(data) 330 51
Store 334 333
335: 6(int) Load 8(invocation)
336: 185(ptr) AccessChain 49(data) 61 121 54
337:44(float64_t) Load 336
338:44(float64_t) GroupNonUniformBroadcastFirst 38 337
339: 185(ptr) AccessChain 49(data) 335 121 54
Store 339 338
340: 6(int) Load 8(invocation)
341: 192(ptr) AccessChain 49(data) 60 121
342: 45(f64vec4) Load 341
343:191(f64vec2) VectorShuffle 342 342 0 1
344:191(f64vec2) GroupNonUniformBroadcastFirst 38 343
345: 192(ptr) AccessChain 49(data) 340 121
346: 45(f64vec4) Load 345
347: 45(f64vec4) VectorShuffle 346 344 4 5 2 3
Store 345 347
348: 6(int) Load 8(invocation)
349: 192(ptr) AccessChain 49(data) 51 121
350: 45(f64vec4) Load 349
351:201(f64vec3) VectorShuffle 350 350 0 1 2
352:201(f64vec3) GroupNonUniformBroadcastFirst 38 351
353: 192(ptr) AccessChain 49(data) 348 121
354: 45(f64vec4) Load 353
355: 45(f64vec4) VectorShuffle 354 352 4 5 6 3
Store 353 355
356: 6(int) Load 8(invocation)
357: 192(ptr) AccessChain 49(data) 121 121
358: 45(f64vec4) Load 357
359: 45(f64vec4) GroupNonUniformBroadcastFirst 38 358
360: 192(ptr) AccessChain 49(data) 356 121
Store 360 359
361: 6(int) Load 8(invocation)
362: 127(ptr) AccessChain 49(data) 61 60 54
363: 42(int) Load 362
364: 36(bool) SLessThan 363 61
365: 36(bool) GroupNonUniformBroadcastFirst 38 364
366: 42(int) Select 365 60 61
367: 127(ptr) AccessChain 49(data) 361 60 54
Store 367 366
368: 6(int) Load 8(invocation)
369: 134(ptr) AccessChain 49(data) 60 60
370: 43(ivec4) Load 369
371: 133(ivec2) VectorShuffle 370 370 0 1
372: 226(bvec2) SLessThan 371 225
373: 226(bvec2) GroupNonUniformBroadcastFirst 38 372
374: 133(ivec2) Select 373 229 225
375: 134(ptr) AccessChain 49(data) 368 60
376: 43(ivec4) Load 375
377: 43(ivec4) VectorShuffle 376 374 4 5 2 3
Store 375 377
378: 6(int) Load 8(invocation)
379: 134(ptr) AccessChain 49(data) 60 60
380: 43(ivec4) Load 379
381: 143(ivec3) VectorShuffle 380 380 0 1 2
382: 239(bvec3) SLessThan 381 238
383: 239(bvec3) GroupNonUniformBroadcastFirst 38 382
384: 143(ivec3) Select 383 242 238
385: 134(ptr) AccessChain 49(data) 378 60
386: 43(ivec4) Load 385
387: 43(ivec4) VectorShuffle 386 384 4 5 6 3
Store 385 387
388: 6(int) Load 8(invocation)
389: 134(ptr) AccessChain 49(data) 60 60
390: 43(ivec4) Load 389
391: 83(bvec4) SLessThan 390 250
392: 83(bvec4) GroupNonUniformBroadcastFirst 38 391
393: 43(ivec4) Select 392 253 250
394: 134(ptr) AccessChain 49(data) 388 60
Store 394 393
276: Label
277: 6(int) Load 8(invocation)
278: 96(ptr) AccessChain 49(data) 61 61 54
279: 40(float) Load 278
280: 40(float) GroupNonUniformBroadcastFirst 38 279
281: 96(ptr) AccessChain 49(data) 277 61 54
Store 281 280
282: 6(int) Load 8(invocation)
283: 103(ptr) AccessChain 49(data) 60 61
284: 41(fvec4) Load 283
285: 102(fvec2) VectorShuffle 284 284 0 1
286: 102(fvec2) GroupNonUniformBroadcastFirst 38 285
287: 96(ptr) AccessChain 49(data) 282 61 54
288: 40(float) CompositeExtract 286 0
Store 287 288
289: 96(ptr) AccessChain 49(data) 282 61 64
290: 40(float) CompositeExtract 286 1
Store 289 290
291: 6(int) Load 8(invocation)
292: 103(ptr) AccessChain 49(data) 51 61
293: 41(fvec4) Load 292
294: 113(fvec3) VectorShuffle 293 293 0 1 2
295: 113(fvec3) GroupNonUniformBroadcastFirst 38 294
296: 96(ptr) AccessChain 49(data) 291 61 54
297: 40(float) CompositeExtract 295 0
Store 296 297
298: 96(ptr) AccessChain 49(data) 291 61 64
299: 40(float) CompositeExtract 295 1
Store 298 299
300: 96(ptr) AccessChain 49(data) 291 61 72
301: 40(float) CompositeExtract 295 2
Store 300 301
302: 6(int) Load 8(invocation)
303: 103(ptr) AccessChain 49(data) 125 61
304: 41(fvec4) Load 303
305: 41(fvec4) GroupNonUniformBroadcastFirst 38 304
306: 103(ptr) AccessChain 49(data) 302 61
Store 306 305
307: 6(int) Load 8(invocation)
308: 131(ptr) AccessChain 49(data) 61 60 54
309: 42(int) Load 308
310: 42(int) GroupNonUniformBroadcastFirst 38 309
311: 131(ptr) AccessChain 49(data) 307 60 54
Store 311 310
312: 6(int) Load 8(invocation)
313: 138(ptr) AccessChain 49(data) 60 60
314: 43(ivec4) Load 313
315: 137(ivec2) VectorShuffle 314 314 0 1
316: 137(ivec2) GroupNonUniformBroadcastFirst 38 315
317: 131(ptr) AccessChain 49(data) 312 60 54
318: 42(int) CompositeExtract 316 0
Store 317 318
319: 131(ptr) AccessChain 49(data) 312 60 64
320: 42(int) CompositeExtract 316 1
Store 319 320
321: 6(int) Load 8(invocation)
322: 138(ptr) AccessChain 49(data) 51 60
323: 43(ivec4) Load 322
324: 148(ivec3) VectorShuffle 323 323 0 1 2
325: 148(ivec3) GroupNonUniformBroadcastFirst 38 324
326: 131(ptr) AccessChain 49(data) 321 60 54
327: 42(int) CompositeExtract 325 0
Store 326 327
328: 131(ptr) AccessChain 49(data) 321 60 64
329: 42(int) CompositeExtract 325 1
Store 328 329
330: 131(ptr) AccessChain 49(data) 321 60 72
331: 42(int) CompositeExtract 325 2
Store 330 331
332: 6(int) Load 8(invocation)
333: 138(ptr) AccessChain 49(data) 125 60
334: 43(ivec4) Load 333
335: 43(ivec4) GroupNonUniformBroadcastFirst 38 334
336: 138(ptr) AccessChain 49(data) 332 60
Store 336 335
337: 6(int) Load 8(invocation)
338: 55(ptr) AccessChain 49(data) 61 51 54
339: 6(int) Load 338
340: 6(int) GroupNonUniformBroadcastFirst 38 339
341: 55(ptr) AccessChain 49(data) 337 51 54
Store 341 340
342: 6(int) Load 8(invocation)
343: 88(ptr) AccessChain 49(data) 60 51
344: 17(ivec4) Load 343
345: 170(ivec2) VectorShuffle 344 344 0 1
346: 170(ivec2) GroupNonUniformBroadcastFirst 38 345
347: 55(ptr) AccessChain 49(data) 342 51 54
348: 6(int) CompositeExtract 346 0
Store 347 348
349: 55(ptr) AccessChain 49(data) 342 51 64
350: 6(int) CompositeExtract 346 1
Store 349 350
351: 6(int) Load 8(invocation)
352: 88(ptr) AccessChain 49(data) 51 51
353: 17(ivec4) Load 352
354: 180(ivec3) VectorShuffle 353 353 0 1 2
355: 180(ivec3) GroupNonUniformBroadcastFirst 38 354
356: 55(ptr) AccessChain 49(data) 351 51 54
357: 6(int) CompositeExtract 355 0
Store 356 357
358: 55(ptr) AccessChain 49(data) 351 51 64
359: 6(int) CompositeExtract 355 1
Store 358 359
360: 55(ptr) AccessChain 49(data) 351 51 72
361: 6(int) CompositeExtract 355 2
Store 360 361
362: 6(int) Load 8(invocation)
363: 88(ptr) AccessChain 49(data) 125 51
364: 17(ivec4) Load 363
365: 17(ivec4) GroupNonUniformBroadcastFirst 38 364
366: 88(ptr) AccessChain 49(data) 362 51
Store 366 365
367: 6(int) Load 8(invocation)
368: 197(ptr) AccessChain 49(data) 61 125 54
369:44(float64_t) Load 368
370:44(float64_t) GroupNonUniformBroadcastFirst 38 369
371: 197(ptr) AccessChain 49(data) 367 125 54
Store 371 370
372: 6(int) Load 8(invocation)
373: 204(ptr) AccessChain 49(data) 60 125
374: 45(f64vec4) Load 373
375:203(f64vec2) VectorShuffle 374 374 0 1
376:203(f64vec2) GroupNonUniformBroadcastFirst 38 375
377: 197(ptr) AccessChain 49(data) 372 125 54
378:44(float64_t) CompositeExtract 376 0
Store 377 378
379: 197(ptr) AccessChain 49(data) 372 125 64
380:44(float64_t) CompositeExtract 376 1
Store 379 380
381: 6(int) Load 8(invocation)
382: 204(ptr) AccessChain 49(data) 51 125
383: 45(f64vec4) Load 382
384:214(f64vec3) VectorShuffle 383 383 0 1 2
385:214(f64vec3) GroupNonUniformBroadcastFirst 38 384
386: 197(ptr) AccessChain 49(data) 381 125 54
387:44(float64_t) CompositeExtract 385 0
Store 386 387
388: 197(ptr) AccessChain 49(data) 381 125 64
389:44(float64_t) CompositeExtract 385 1
Store 388 389
390: 197(ptr) AccessChain 49(data) 381 125 72
391:44(float64_t) CompositeExtract 385 2
Store 390 391
392: 6(int) Load 8(invocation)
393: 204(ptr) AccessChain 49(data) 125 125
394: 45(f64vec4) Load 393
395: 45(f64vec4) GroupNonUniformBroadcastFirst 38 394
396: 204(ptr) AccessChain 49(data) 392 125
Store 396 395
397: 6(int) Load 8(invocation)
398: 131(ptr) AccessChain 49(data) 61 60 54
399: 42(int) Load 398
400: 36(bool) SLessThan 399 61
401: 36(bool) GroupNonUniformBroadcastFirst 38 400
402: 42(int) Select 401 60 61
403: 131(ptr) AccessChain 49(data) 397 60 54
Store 403 402
404: 6(int) Load 8(invocation)
405: 138(ptr) AccessChain 49(data) 60 60
406: 43(ivec4) Load 405
407: 137(ivec2) VectorShuffle 406 406 0 1
408: 242(bvec2) SLessThan 407 241
409: 242(bvec2) GroupNonUniformBroadcastFirst 38 408
410: 137(ivec2) Select 409 245 241
411: 131(ptr) AccessChain 49(data) 404 60 54
412: 42(int) CompositeExtract 410 0
Store 411 412
413: 131(ptr) AccessChain 49(data) 404 60 64
414: 42(int) CompositeExtract 410 1
Store 413 414
415: 6(int) Load 8(invocation)
416: 138(ptr) AccessChain 49(data) 60 60
417: 43(ivec4) Load 416
418: 148(ivec3) VectorShuffle 417 417 0 1 2
419: 256(bvec3) SLessThan 418 255
420: 256(bvec3) GroupNonUniformBroadcastFirst 38 419
421: 148(ivec3) Select 420 259 255
422: 131(ptr) AccessChain 49(data) 415 60 54
423: 42(int) CompositeExtract 421 0
Store 422 423
424: 131(ptr) AccessChain 49(data) 415 60 64
425: 42(int) CompositeExtract 421 1
Store 424 425
426: 131(ptr) AccessChain 49(data) 415 60 72
427: 42(int) CompositeExtract 421 2
Store 426 427
428: 6(int) Load 8(invocation)
429: 138(ptr) AccessChain 49(data) 60 60
430: 43(ivec4) Load 429
431: 83(bvec4) SLessThan 430 270
432: 83(bvec4) GroupNonUniformBroadcastFirst 38 431
433: 43(ivec4) Select 432 273 270
434: 138(ptr) AccessChain 49(data) 428 60
Store 434 433
Branch 94
94: Label
Return

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
spv.subgroupShuffle.comp
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 379
// Id's are bound by 420
Capability Shader
Capability Float64
@ -39,7 +39,7 @@ spv.subgroupShuffle.comp
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
Decorate 378 BuiltIn WorkgroupSize
Decorate 419 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -66,34 +66,35 @@ spv.subgroupShuffle.comp
39: 19(int) Constant 1
40: TypeVector 17(float) 2
41: TypePointer StorageBuffer 18(fvec4)
51: 19(int) Constant 2
52: TypeVector 17(float) 3
62: 19(int) Constant 3
69: TypePointer StorageBuffer 19(int)
76: TypeVector 19(int) 2
77: TypePointer StorageBuffer 20(ivec4)
87: TypeVector 19(int) 3
103: TypePointer StorageBuffer 6(int)
110: TypeVector 6(int) 2
111: TypePointer StorageBuffer 21(ivec4)
121: TypeVector 6(int) 3
137: TypePointer StorageBuffer 22(float64_t)
144: TypeVector 22(float64_t) 2
145: TypePointer StorageBuffer 23(f64vec4)
155: TypeVector 22(float64_t) 3
173: TypeBool
183: 76(ivec2) ConstantComposite 29 29
184: TypeVector 173(bool) 2
188: 76(ivec2) ConstantComposite 39 39
197: 87(ivec3) ConstantComposite 29 29 29
198: TypeVector 173(bool) 3
202: 87(ivec3) ConstantComposite 39 39 39
210: 20(ivec4) ConstantComposite 29 29 29 29
211: TypeVector 173(bool) 4
215: 20(ivec4) ConstantComposite 39 39 39 39
376: 6(int) Constant 8
377: 6(int) Constant 1
378: 121(ivec3) ConstantComposite 376 376 377
49: 6(int) Constant 1
53: 19(int) Constant 2
54: TypeVector 17(float) 3
64: 6(int) Constant 2
68: 19(int) Constant 3
75: TypePointer StorageBuffer 19(int)
82: TypeVector 19(int) 2
83: TypePointer StorageBuffer 20(ivec4)
94: TypeVector 19(int) 3
113: TypePointer StorageBuffer 6(int)
120: TypeVector 6(int) 2
121: TypePointer StorageBuffer 21(ivec4)
132: TypeVector 6(int) 3
151: TypePointer StorageBuffer 22(float64_t)
158: TypeVector 22(float64_t) 2
159: TypePointer StorageBuffer 23(f64vec4)
170: TypeVector 22(float64_t) 3
191: TypeBool
201: 82(ivec2) ConstantComposite 29 29
202: TypeVector 191(bool) 2
206: 82(ivec2) ConstantComposite 39 39
216: 94(ivec3) ConstantComposite 29 29 29
217: TypeVector 191(bool) 3
221: 94(ivec3) ConstantComposite 39 39 39
232: 20(ivec4) ConstantComposite 29 29 29 29
233: TypeVector 191(bool) 4
237: 20(ivec4) ConstantComposite 39 39 39 39
418: 6(int) Constant 8
419: 132(ivec3) ConstantComposite 418 418 49
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@ -115,348 +116,418 @@ spv.subgroupShuffle.comp
44: 40(fvec2) VectorShuffle 43 43 0 1
45: 6(int) Load 8(invocation)
46: 40(fvec2) GroupNonUniformShuffle 35 44 45
47: 41(ptr) AccessChain 27(data) 38 29
48: 18(fvec4) Load 47
49: 18(fvec4) VectorShuffle 48 46 4 5 2 3
Store 47 49
50: 6(int) Load 8(invocation)
53: 41(ptr) AccessChain 27(data) 51 29
54: 18(fvec4) Load 53
55: 52(fvec3) VectorShuffle 54 54 0 1 2
56: 6(int) Load 8(invocation)
57: 52(fvec3) GroupNonUniformShuffle 35 55 56
58: 41(ptr) AccessChain 27(data) 50 29
59: 18(fvec4) Load 58
60: 18(fvec4) VectorShuffle 59 57 4 5 6 3
Store 58 60
61: 6(int) Load 8(invocation)
63: 41(ptr) AccessChain 27(data) 62 29
64: 18(fvec4) Load 63
65: 6(int) Load 8(invocation)
66: 18(fvec4) GroupNonUniformShuffle 35 64 65
67: 41(ptr) AccessChain 27(data) 61 29
Store 67 66
68: 6(int) Load 8(invocation)
70: 69(ptr) AccessChain 27(data) 29 39 30
71: 19(int) Load 70
72: 6(int) Load 8(invocation)
73: 19(int) GroupNonUniformShuffle 35 71 72
74: 69(ptr) AccessChain 27(data) 68 39 30
Store 74 73
75: 6(int) Load 8(invocation)
78: 77(ptr) AccessChain 27(data) 39 39
79: 20(ivec4) Load 78
80: 76(ivec2) VectorShuffle 79 79 0 1
47: 31(ptr) AccessChain 27(data) 38 29 30
48: 17(float) CompositeExtract 46 0
Store 47 48
50: 31(ptr) AccessChain 27(data) 38 29 49
51: 17(float) CompositeExtract 46 1
Store 50 51
52: 6(int) Load 8(invocation)
55: 41(ptr) AccessChain 27(data) 53 29
56: 18(fvec4) Load 55
57: 54(fvec3) VectorShuffle 56 56 0 1 2
58: 6(int) Load 8(invocation)
59: 54(fvec3) GroupNonUniformShuffle 35 57 58
60: 31(ptr) AccessChain 27(data) 52 29 30
61: 17(float) CompositeExtract 59 0
Store 60 61
62: 31(ptr) AccessChain 27(data) 52 29 49
63: 17(float) CompositeExtract 59 1
Store 62 63
65: 31(ptr) AccessChain 27(data) 52 29 64
66: 17(float) CompositeExtract 59 2
Store 65 66
67: 6(int) Load 8(invocation)
69: 41(ptr) AccessChain 27(data) 68 29
70: 18(fvec4) Load 69
71: 6(int) Load 8(invocation)
72: 18(fvec4) GroupNonUniformShuffle 35 70 71
73: 41(ptr) AccessChain 27(data) 67 29
Store 73 72
74: 6(int) Load 8(invocation)
76: 75(ptr) AccessChain 27(data) 29 39 30
77: 19(int) Load 76
78: 6(int) Load 8(invocation)
79: 19(int) GroupNonUniformShuffle 35 77 78
80: 75(ptr) AccessChain 27(data) 74 39 30
Store 80 79
81: 6(int) Load 8(invocation)
82: 76(ivec2) GroupNonUniformShuffle 35 80 81
83: 77(ptr) AccessChain 27(data) 75 39
84: 20(ivec4) Load 83
85: 20(ivec4) VectorShuffle 84 82 4 5 2 3
Store 83 85
86: 6(int) Load 8(invocation)
88: 77(ptr) AccessChain 27(data) 51 39
89: 20(ivec4) Load 88
90: 87(ivec3) VectorShuffle 89 89 0 1 2
91: 6(int) Load 8(invocation)
92: 87(ivec3) GroupNonUniformShuffle 35 90 91
93: 77(ptr) AccessChain 27(data) 86 39
94: 20(ivec4) Load 93
95: 20(ivec4) VectorShuffle 94 92 4 5 6 3
Store 93 95
96: 6(int) Load 8(invocation)
97: 77(ptr) AccessChain 27(data) 62 39
98: 20(ivec4) Load 97
99: 6(int) Load 8(invocation)
100: 20(ivec4) GroupNonUniformShuffle 35 98 99
101: 77(ptr) AccessChain 27(data) 96 39
Store 101 100
102: 6(int) Load 8(invocation)
104: 103(ptr) AccessChain 27(data) 29 51 30
105: 6(int) Load 104
84: 83(ptr) AccessChain 27(data) 39 39
85: 20(ivec4) Load 84
86: 82(ivec2) VectorShuffle 85 85 0 1
87: 6(int) Load 8(invocation)
88: 82(ivec2) GroupNonUniformShuffle 35 86 87
89: 75(ptr) AccessChain 27(data) 81 39 30
90: 19(int) CompositeExtract 88 0
Store 89 90
91: 75(ptr) AccessChain 27(data) 81 39 49
92: 19(int) CompositeExtract 88 1
Store 91 92
93: 6(int) Load 8(invocation)
95: 83(ptr) AccessChain 27(data) 53 39
96: 20(ivec4) Load 95
97: 94(ivec3) VectorShuffle 96 96 0 1 2
98: 6(int) Load 8(invocation)
99: 94(ivec3) GroupNonUniformShuffle 35 97 98
100: 75(ptr) AccessChain 27(data) 93 39 30
101: 19(int) CompositeExtract 99 0
Store 100 101
102: 75(ptr) AccessChain 27(data) 93 39 49
103: 19(int) CompositeExtract 99 1
Store 102 103
104: 75(ptr) AccessChain 27(data) 93 39 64
105: 19(int) CompositeExtract 99 2
Store 104 105
106: 6(int) Load 8(invocation)
107: 6(int) GroupNonUniformShuffle 35 105 106
108: 103(ptr) AccessChain 27(data) 102 51 30
Store 108 107
107: 83(ptr) AccessChain 27(data) 68 39
108: 20(ivec4) Load 107
109: 6(int) Load 8(invocation)
112: 111(ptr) AccessChain 27(data) 39 51
113: 21(ivec4) Load 112
114: 110(ivec2) VectorShuffle 113 113 0 1
115: 6(int) Load 8(invocation)
116: 110(ivec2) GroupNonUniformShuffle 35 114 115
117: 111(ptr) AccessChain 27(data) 109 51
118: 21(ivec4) Load 117
119: 21(ivec4) VectorShuffle 118 116 4 5 2 3
Store 117 119
120: 6(int) Load 8(invocation)
122: 111(ptr) AccessChain 27(data) 51 51
110: 20(ivec4) GroupNonUniformShuffle 35 108 109
111: 83(ptr) AccessChain 27(data) 106 39
Store 111 110
112: 6(int) Load 8(invocation)
114: 113(ptr) AccessChain 27(data) 29 53 30
115: 6(int) Load 114
116: 6(int) Load 8(invocation)
117: 6(int) GroupNonUniformShuffle 35 115 116
118: 113(ptr) AccessChain 27(data) 112 53 30
Store 118 117
119: 6(int) Load 8(invocation)
122: 121(ptr) AccessChain 27(data) 39 53
123: 21(ivec4) Load 122
124: 121(ivec3) VectorShuffle 123 123 0 1 2
124: 120(ivec2) VectorShuffle 123 123 0 1
125: 6(int) Load 8(invocation)
126: 121(ivec3) GroupNonUniformShuffle 35 124 125
127: 111(ptr) AccessChain 27(data) 120 51
128: 21(ivec4) Load 127
129: 21(ivec4) VectorShuffle 128 126 4 5 6 3
Store 127 129
130: 6(int) Load 8(invocation)
131: 111(ptr) AccessChain 27(data) 62 51
132: 21(ivec4) Load 131
133: 6(int) Load 8(invocation)
134: 21(ivec4) GroupNonUniformShuffle 35 132 133
135: 111(ptr) AccessChain 27(data) 130 51
Store 135 134
126: 120(ivec2) GroupNonUniformShuffle 35 124 125
127: 113(ptr) AccessChain 27(data) 119 53 30
128: 6(int) CompositeExtract 126 0
Store 127 128
129: 113(ptr) AccessChain 27(data) 119 53 49
130: 6(int) CompositeExtract 126 1
Store 129 130
131: 6(int) Load 8(invocation)
133: 121(ptr) AccessChain 27(data) 53 53
134: 21(ivec4) Load 133
135: 132(ivec3) VectorShuffle 134 134 0 1 2
136: 6(int) Load 8(invocation)
138: 137(ptr) AccessChain 27(data) 29 62 30
139:22(float64_t) Load 138
140: 6(int) Load 8(invocation)
141:22(float64_t) GroupNonUniformShuffle 35 139 140
142: 137(ptr) AccessChain 27(data) 136 62 30
Store 142 141
143: 6(int) Load 8(invocation)
146: 145(ptr) AccessChain 27(data) 39 62
147: 23(f64vec4) Load 146
148:144(f64vec2) VectorShuffle 147 147 0 1
149: 6(int) Load 8(invocation)
150:144(f64vec2) GroupNonUniformShuffle 35 148 149
151: 145(ptr) AccessChain 27(data) 143 62
152: 23(f64vec4) Load 151
153: 23(f64vec4) VectorShuffle 152 150 4 5 2 3
Store 151 153
137: 132(ivec3) GroupNonUniformShuffle 35 135 136
138: 113(ptr) AccessChain 27(data) 131 53 30
139: 6(int) CompositeExtract 137 0
Store 138 139
140: 113(ptr) AccessChain 27(data) 131 53 49
141: 6(int) CompositeExtract 137 1
Store 140 141
142: 113(ptr) AccessChain 27(data) 131 53 64
143: 6(int) CompositeExtract 137 2
Store 142 143
144: 6(int) Load 8(invocation)
145: 121(ptr) AccessChain 27(data) 68 53
146: 21(ivec4) Load 145
147: 6(int) Load 8(invocation)
148: 21(ivec4) GroupNonUniformShuffle 35 146 147
149: 121(ptr) AccessChain 27(data) 144 53
Store 149 148
150: 6(int) Load 8(invocation)
152: 151(ptr) AccessChain 27(data) 29 68 30
153:22(float64_t) Load 152
154: 6(int) Load 8(invocation)
156: 145(ptr) AccessChain 27(data) 51 62
157: 23(f64vec4) Load 156
158:155(f64vec3) VectorShuffle 157 157 0 1 2
159: 6(int) Load 8(invocation)
160:155(f64vec3) GroupNonUniformShuffle 35 158 159
161: 145(ptr) AccessChain 27(data) 154 62
162: 23(f64vec4) Load 161
163: 23(f64vec4) VectorShuffle 162 160 4 5 6 3
Store 161 163
164: 6(int) Load 8(invocation)
165: 145(ptr) AccessChain 27(data) 62 62
166: 23(f64vec4) Load 165
167: 6(int) Load 8(invocation)
168: 23(f64vec4) GroupNonUniformShuffle 35 166 167
169: 145(ptr) AccessChain 27(data) 164 62
Store 169 168
170: 6(int) Load 8(invocation)
171: 69(ptr) AccessChain 27(data) 29 39 30
172: 19(int) Load 171
174: 173(bool) SLessThan 172 29
175: 6(int) Load 8(invocation)
176: 173(bool) GroupNonUniformShuffle 35 174 175
177: 19(int) Select 176 39 29
178: 69(ptr) AccessChain 27(data) 170 39 30
Store 178 177
179: 6(int) Load 8(invocation)
180: 77(ptr) AccessChain 27(data) 39 39
181: 20(ivec4) Load 180
182: 76(ivec2) VectorShuffle 181 181 0 1
185: 184(bvec2) SLessThan 182 183
186: 6(int) Load 8(invocation)
187: 184(bvec2) GroupNonUniformShuffle 35 185 186
189: 76(ivec2) Select 187 188 183
190: 77(ptr) AccessChain 27(data) 179 39
191: 20(ivec4) Load 190
192: 20(ivec4) VectorShuffle 191 189 4 5 2 3
Store 190 192
155:22(float64_t) GroupNonUniformShuffle 35 153 154
156: 151(ptr) AccessChain 27(data) 150 68 30
Store 156 155
157: 6(int) Load 8(invocation)
160: 159(ptr) AccessChain 27(data) 39 68
161: 23(f64vec4) Load 160
162:158(f64vec2) VectorShuffle 161 161 0 1
163: 6(int) Load 8(invocation)
164:158(f64vec2) GroupNonUniformShuffle 35 162 163
165: 151(ptr) AccessChain 27(data) 157 68 30
166:22(float64_t) CompositeExtract 164 0
Store 165 166
167: 151(ptr) AccessChain 27(data) 157 68 49
168:22(float64_t) CompositeExtract 164 1
Store 167 168
169: 6(int) Load 8(invocation)
171: 159(ptr) AccessChain 27(data) 53 68
172: 23(f64vec4) Load 171
173:170(f64vec3) VectorShuffle 172 172 0 1 2
174: 6(int) Load 8(invocation)
175:170(f64vec3) GroupNonUniformShuffle 35 173 174
176: 151(ptr) AccessChain 27(data) 169 68 30
177:22(float64_t) CompositeExtract 175 0
Store 176 177
178: 151(ptr) AccessChain 27(data) 169 68 49
179:22(float64_t) CompositeExtract 175 1
Store 178 179
180: 151(ptr) AccessChain 27(data) 169 68 64
181:22(float64_t) CompositeExtract 175 2
Store 180 181
182: 6(int) Load 8(invocation)
183: 159(ptr) AccessChain 27(data) 68 68
184: 23(f64vec4) Load 183
185: 6(int) Load 8(invocation)
186: 23(f64vec4) GroupNonUniformShuffle 35 184 185
187: 159(ptr) AccessChain 27(data) 182 68
Store 187 186
188: 6(int) Load 8(invocation)
189: 75(ptr) AccessChain 27(data) 29 39 30
190: 19(int) Load 189
192: 191(bool) SLessThan 190 29
193: 6(int) Load 8(invocation)
194: 77(ptr) AccessChain 27(data) 39 39
195: 20(ivec4) Load 194
196: 87(ivec3) VectorShuffle 195 195 0 1 2
199: 198(bvec3) SLessThan 196 197
200: 6(int) Load 8(invocation)
201: 198(bvec3) GroupNonUniformShuffle 35 199 200
203: 87(ivec3) Select 201 202 197
204: 77(ptr) AccessChain 27(data) 193 39
205: 20(ivec4) Load 204
206: 20(ivec4) VectorShuffle 205 203 4 5 6 3
Store 204 206
207: 6(int) Load 8(invocation)
208: 77(ptr) AccessChain 27(data) 39 39
209: 20(ivec4) Load 208
212: 211(bvec4) SLessThan 209 210
213: 6(int) Load 8(invocation)
214: 211(bvec4) GroupNonUniformShuffle 35 212 213
216: 20(ivec4) Select 214 215 210
217: 77(ptr) AccessChain 27(data) 207 39
Store 217 216
218: 6(int) Load 8(invocation)
219: 31(ptr) AccessChain 27(data) 29 29 30
220: 17(float) Load 219
221: 6(int) Load 8(invocation)
222: 17(float) GroupNonUniformShuffleXor 35 220 221
223: 31(ptr) AccessChain 27(data) 218 29 30
Store 223 222
224: 6(int) Load 8(invocation)
225: 41(ptr) AccessChain 27(data) 39 29
226: 18(fvec4) Load 225
227: 40(fvec2) VectorShuffle 226 226 0 1
228: 6(int) Load 8(invocation)
229: 40(fvec2) GroupNonUniformShuffleXor 35 227 228
230: 41(ptr) AccessChain 27(data) 224 29
231: 18(fvec4) Load 230
232: 18(fvec4) VectorShuffle 231 229 4 5 2 3
Store 230 232
233: 6(int) Load 8(invocation)
234: 41(ptr) AccessChain 27(data) 51 29
235: 18(fvec4) Load 234
236: 52(fvec3) VectorShuffle 235 235 0 1 2
237: 6(int) Load 8(invocation)
238: 52(fvec3) GroupNonUniformShuffleXor 35 236 237
239: 41(ptr) AccessChain 27(data) 233 29
240: 18(fvec4) Load 239
241: 18(fvec4) VectorShuffle 240 238 4 5 6 3
Store 239 241
242: 6(int) Load 8(invocation)
243: 41(ptr) AccessChain 27(data) 62 29
244: 18(fvec4) Load 243
245: 6(int) Load 8(invocation)
246: 18(fvec4) GroupNonUniformShuffleXor 35 244 245
247: 41(ptr) AccessChain 27(data) 242 29
Store 247 246
248: 6(int) Load 8(invocation)
249: 69(ptr) AccessChain 27(data) 29 39 30
250: 19(int) Load 249
251: 6(int) Load 8(invocation)
252: 19(int) GroupNonUniformShuffleXor 35 250 251
253: 69(ptr) AccessChain 27(data) 248 39 30
Store 253 252
254: 6(int) Load 8(invocation)
255: 77(ptr) AccessChain 27(data) 39 39
256: 20(ivec4) Load 255
257: 76(ivec2) VectorShuffle 256 256 0 1
258: 6(int) Load 8(invocation)
259: 76(ivec2) GroupNonUniformShuffleXor 35 257 258
260: 77(ptr) AccessChain 27(data) 254 39
261: 20(ivec4) Load 260
262: 20(ivec4) VectorShuffle 261 259 4 5 2 3
Store 260 262
263: 6(int) Load 8(invocation)
264: 77(ptr) AccessChain 27(data) 51 39
265: 20(ivec4) Load 264
266: 87(ivec3) VectorShuffle 265 265 0 1 2
267: 6(int) Load 8(invocation)
268: 87(ivec3) GroupNonUniformShuffleXor 35 266 267
269: 77(ptr) AccessChain 27(data) 263 39
270: 20(ivec4) Load 269
271: 20(ivec4) VectorShuffle 270 268 4 5 6 3
Store 269 271
272: 6(int) Load 8(invocation)
273: 77(ptr) AccessChain 27(data) 62 39
274: 20(ivec4) Load 273
275: 6(int) Load 8(invocation)
276: 20(ivec4) GroupNonUniformShuffleXor 35 274 275
277: 77(ptr) AccessChain 27(data) 272 39
Store 277 276
278: 6(int) Load 8(invocation)
279: 103(ptr) AccessChain 27(data) 29 51 30
280: 6(int) Load 279
281: 6(int) Load 8(invocation)
282: 6(int) GroupNonUniformShuffleXor 35 280 281
283: 103(ptr) AccessChain 27(data) 278 51 30
Store 283 282
194: 191(bool) GroupNonUniformShuffle 35 192 193
195: 19(int) Select 194 39 29
196: 75(ptr) AccessChain 27(data) 188 39 30
Store 196 195
197: 6(int) Load 8(invocation)
198: 83(ptr) AccessChain 27(data) 39 39
199: 20(ivec4) Load 198
200: 82(ivec2) VectorShuffle 199 199 0 1
203: 202(bvec2) SLessThan 200 201
204: 6(int) Load 8(invocation)
205: 202(bvec2) GroupNonUniformShuffle 35 203 204
207: 82(ivec2) Select 205 206 201
208: 75(ptr) AccessChain 27(data) 197 39 30
209: 19(int) CompositeExtract 207 0
Store 208 209
210: 75(ptr) AccessChain 27(data) 197 39 49
211: 19(int) CompositeExtract 207 1
Store 210 211
212: 6(int) Load 8(invocation)
213: 83(ptr) AccessChain 27(data) 39 39
214: 20(ivec4) Load 213
215: 94(ivec3) VectorShuffle 214 214 0 1 2
218: 217(bvec3) SLessThan 215 216
219: 6(int) Load 8(invocation)
220: 217(bvec3) GroupNonUniformShuffle 35 218 219
222: 94(ivec3) Select 220 221 216
223: 75(ptr) AccessChain 27(data) 212 39 30
224: 19(int) CompositeExtract 222 0
Store 223 224
225: 75(ptr) AccessChain 27(data) 212 39 49
226: 19(int) CompositeExtract 222 1
Store 225 226
227: 75(ptr) AccessChain 27(data) 212 39 64
228: 19(int) CompositeExtract 222 2
Store 227 228
229: 6(int) Load 8(invocation)
230: 83(ptr) AccessChain 27(data) 39 39
231: 20(ivec4) Load 230
234: 233(bvec4) SLessThan 231 232
235: 6(int) Load 8(invocation)
236: 233(bvec4) GroupNonUniformShuffle 35 234 235
238: 20(ivec4) Select 236 237 232
239: 83(ptr) AccessChain 27(data) 229 39
Store 239 238
240: 6(int) Load 8(invocation)
241: 31(ptr) AccessChain 27(data) 29 29 30
242: 17(float) Load 241
243: 6(int) Load 8(invocation)
244: 17(float) GroupNonUniformShuffleXor 35 242 243
245: 31(ptr) AccessChain 27(data) 240 29 30
Store 245 244
246: 6(int) Load 8(invocation)
247: 41(ptr) AccessChain 27(data) 39 29
248: 18(fvec4) Load 247
249: 40(fvec2) VectorShuffle 248 248 0 1
250: 6(int) Load 8(invocation)
251: 40(fvec2) GroupNonUniformShuffleXor 35 249 250
252: 31(ptr) AccessChain 27(data) 246 29 30
253: 17(float) CompositeExtract 251 0
Store 252 253
254: 31(ptr) AccessChain 27(data) 246 29 49
255: 17(float) CompositeExtract 251 1
Store 254 255
256: 6(int) Load 8(invocation)
257: 41(ptr) AccessChain 27(data) 53 29
258: 18(fvec4) Load 257
259: 54(fvec3) VectorShuffle 258 258 0 1 2
260: 6(int) Load 8(invocation)
261: 54(fvec3) GroupNonUniformShuffleXor 35 259 260
262: 31(ptr) AccessChain 27(data) 256 29 30
263: 17(float) CompositeExtract 261 0
Store 262 263
264: 31(ptr) AccessChain 27(data) 256 29 49
265: 17(float) CompositeExtract 261 1
Store 264 265
266: 31(ptr) AccessChain 27(data) 256 29 64
267: 17(float) CompositeExtract 261 2
Store 266 267
268: 6(int) Load 8(invocation)
269: 41(ptr) AccessChain 27(data) 68 29
270: 18(fvec4) Load 269
271: 6(int) Load 8(invocation)
272: 18(fvec4) GroupNonUniformShuffleXor 35 270 271
273: 41(ptr) AccessChain 27(data) 268 29
Store 273 272
274: 6(int) Load 8(invocation)
275: 75(ptr) AccessChain 27(data) 29 39 30
276: 19(int) Load 275
277: 6(int) Load 8(invocation)
278: 19(int) GroupNonUniformShuffleXor 35 276 277
279: 75(ptr) AccessChain 27(data) 274 39 30
Store 279 278
280: 6(int) Load 8(invocation)
281: 83(ptr) AccessChain 27(data) 39 39
282: 20(ivec4) Load 281
283: 82(ivec2) VectorShuffle 282 282 0 1
284: 6(int) Load 8(invocation)
285: 111(ptr) AccessChain 27(data) 39 51
286: 21(ivec4) Load 285
287: 110(ivec2) VectorShuffle 286 286 0 1
288: 6(int) Load 8(invocation)
289: 110(ivec2) GroupNonUniformShuffleXor 35 287 288
290: 111(ptr) AccessChain 27(data) 284 51
291: 21(ivec4) Load 290
292: 21(ivec4) VectorShuffle 291 289 4 5 2 3
Store 290 292
293: 6(int) Load 8(invocation)
294: 111(ptr) AccessChain 27(data) 51 51
295: 21(ivec4) Load 294
296: 121(ivec3) VectorShuffle 295 295 0 1 2
297: 6(int) Load 8(invocation)
298: 121(ivec3) GroupNonUniformShuffleXor 35 296 297
299: 111(ptr) AccessChain 27(data) 293 51
300: 21(ivec4) Load 299
301: 21(ivec4) VectorShuffle 300 298 4 5 6 3
Store 299 301
285: 82(ivec2) GroupNonUniformShuffleXor 35 283 284
286: 75(ptr) AccessChain 27(data) 280 39 30
287: 19(int) CompositeExtract 285 0
Store 286 287
288: 75(ptr) AccessChain 27(data) 280 39 49
289: 19(int) CompositeExtract 285 1
Store 288 289
290: 6(int) Load 8(invocation)
291: 83(ptr) AccessChain 27(data) 53 39
292: 20(ivec4) Load 291
293: 94(ivec3) VectorShuffle 292 292 0 1 2
294: 6(int) Load 8(invocation)
295: 94(ivec3) GroupNonUniformShuffleXor 35 293 294
296: 75(ptr) AccessChain 27(data) 290 39 30
297: 19(int) CompositeExtract 295 0
Store 296 297
298: 75(ptr) AccessChain 27(data) 290 39 49
299: 19(int) CompositeExtract 295 1
Store 298 299
300: 75(ptr) AccessChain 27(data) 290 39 64
301: 19(int) CompositeExtract 295 2
Store 300 301
302: 6(int) Load 8(invocation)
303: 111(ptr) AccessChain 27(data) 62 51
304: 21(ivec4) Load 303
303: 83(ptr) AccessChain 27(data) 68 39
304: 20(ivec4) Load 303
305: 6(int) Load 8(invocation)
306: 21(ivec4) GroupNonUniformShuffleXor 35 304 305
307: 111(ptr) AccessChain 27(data) 302 51
306: 20(ivec4) GroupNonUniformShuffleXor 35 304 305
307: 83(ptr) AccessChain 27(data) 302 39
Store 307 306
308: 6(int) Load 8(invocation)
309: 137(ptr) AccessChain 27(data) 29 62 30
310:22(float64_t) Load 309
309: 113(ptr) AccessChain 27(data) 29 53 30
310: 6(int) Load 309
311: 6(int) Load 8(invocation)
312:22(float64_t) GroupNonUniformShuffleXor 35 310 311
313: 137(ptr) AccessChain 27(data) 308 62 30
312: 6(int) GroupNonUniformShuffleXor 35 310 311
313: 113(ptr) AccessChain 27(data) 308 53 30
Store 313 312
314: 6(int) Load 8(invocation)
315: 145(ptr) AccessChain 27(data) 39 62
316: 23(f64vec4) Load 315
317:144(f64vec2) VectorShuffle 316 316 0 1
315: 121(ptr) AccessChain 27(data) 39 53
316: 21(ivec4) Load 315
317: 120(ivec2) VectorShuffle 316 316 0 1
318: 6(int) Load 8(invocation)
319:144(f64vec2) GroupNonUniformShuffleXor 35 317 318
320: 145(ptr) AccessChain 27(data) 314 62
321: 23(f64vec4) Load 320
322: 23(f64vec4) VectorShuffle 321 319 4 5 2 3
Store 320 322
323: 6(int) Load 8(invocation)
324: 145(ptr) AccessChain 27(data) 51 62
325: 23(f64vec4) Load 324
326:155(f64vec3) VectorShuffle 325 325 0 1 2
327: 6(int) Load 8(invocation)
328:155(f64vec3) GroupNonUniformShuffleXor 35 326 327
329: 145(ptr) AccessChain 27(data) 323 62
330: 23(f64vec4) Load 329
331: 23(f64vec4) VectorShuffle 330 328 4 5 6 3
Store 329 331
332: 6(int) Load 8(invocation)
333: 145(ptr) AccessChain 27(data) 62 62
334: 23(f64vec4) Load 333
335: 6(int) Load 8(invocation)
336: 23(f64vec4) GroupNonUniformShuffleXor 35 334 335
337: 145(ptr) AccessChain 27(data) 332 62
Store 337 336
338: 6(int) Load 8(invocation)
339: 69(ptr) AccessChain 27(data) 29 39 30
340: 19(int) Load 339
341: 173(bool) SLessThan 340 29
319: 120(ivec2) GroupNonUniformShuffleXor 35 317 318
320: 113(ptr) AccessChain 27(data) 314 53 30
321: 6(int) CompositeExtract 319 0
Store 320 321
322: 113(ptr) AccessChain 27(data) 314 53 49
323: 6(int) CompositeExtract 319 1
Store 322 323
324: 6(int) Load 8(invocation)
325: 121(ptr) AccessChain 27(data) 53 53
326: 21(ivec4) Load 325
327: 132(ivec3) VectorShuffle 326 326 0 1 2
328: 6(int) Load 8(invocation)
329: 132(ivec3) GroupNonUniformShuffleXor 35 327 328
330: 113(ptr) AccessChain 27(data) 324 53 30
331: 6(int) CompositeExtract 329 0
Store 330 331
332: 113(ptr) AccessChain 27(data) 324 53 49
333: 6(int) CompositeExtract 329 1
Store 332 333
334: 113(ptr) AccessChain 27(data) 324 53 64
335: 6(int) CompositeExtract 329 2
Store 334 335
336: 6(int) Load 8(invocation)
337: 121(ptr) AccessChain 27(data) 68 53
338: 21(ivec4) Load 337
339: 6(int) Load 8(invocation)
340: 21(ivec4) GroupNonUniformShuffleXor 35 338 339
341: 121(ptr) AccessChain 27(data) 336 53
Store 341 340
342: 6(int) Load 8(invocation)
343: 173(bool) GroupNonUniformShuffleXor 35 341 342
344: 19(int) Select 343 39 29
345: 69(ptr) AccessChain 27(data) 338 39 30
Store 345 344
346: 6(int) Load 8(invocation)
347: 77(ptr) AccessChain 27(data) 39 39
348: 20(ivec4) Load 347
349: 76(ivec2) VectorShuffle 348 348 0 1
350: 184(bvec2) SLessThan 349 183
351: 6(int) Load 8(invocation)
352: 184(bvec2) GroupNonUniformShuffleXor 35 350 351
353: 76(ivec2) Select 352 188 183
354: 77(ptr) AccessChain 27(data) 346 39
355: 20(ivec4) Load 354
356: 20(ivec4) VectorShuffle 355 353 4 5 2 3
Store 354 356
357: 6(int) Load 8(invocation)
358: 77(ptr) AccessChain 27(data) 39 39
359: 20(ivec4) Load 358
360: 87(ivec3) VectorShuffle 359 359 0 1 2
361: 198(bvec3) SLessThan 360 197
343: 151(ptr) AccessChain 27(data) 29 68 30
344:22(float64_t) Load 343
345: 6(int) Load 8(invocation)
346:22(float64_t) GroupNonUniformShuffleXor 35 344 345
347: 151(ptr) AccessChain 27(data) 342 68 30
Store 347 346
348: 6(int) Load 8(invocation)
349: 159(ptr) AccessChain 27(data) 39 68
350: 23(f64vec4) Load 349
351:158(f64vec2) VectorShuffle 350 350 0 1
352: 6(int) Load 8(invocation)
353:158(f64vec2) GroupNonUniformShuffleXor 35 351 352
354: 151(ptr) AccessChain 27(data) 348 68 30
355:22(float64_t) CompositeExtract 353 0
Store 354 355
356: 151(ptr) AccessChain 27(data) 348 68 49
357:22(float64_t) CompositeExtract 353 1
Store 356 357
358: 6(int) Load 8(invocation)
359: 159(ptr) AccessChain 27(data) 53 68
360: 23(f64vec4) Load 359
361:170(f64vec3) VectorShuffle 360 360 0 1 2
362: 6(int) Load 8(invocation)
363: 198(bvec3) GroupNonUniformShuffleXor 35 361 362
364: 87(ivec3) Select 363 202 197
365: 77(ptr) AccessChain 27(data) 357 39
366: 20(ivec4) Load 365
367: 20(ivec4) VectorShuffle 366 364 4 5 6 3
Store 365 367
368: 6(int) Load 8(invocation)
369: 77(ptr) AccessChain 27(data) 39 39
370: 20(ivec4) Load 369
371: 211(bvec4) SLessThan 370 210
372: 6(int) Load 8(invocation)
373: 211(bvec4) GroupNonUniformShuffleXor 35 371 372
374: 20(ivec4) Select 373 215 210
375: 77(ptr) AccessChain 27(data) 368 39
363:170(f64vec3) GroupNonUniformShuffleXor 35 361 362
364: 151(ptr) AccessChain 27(data) 358 68 30
365:22(float64_t) CompositeExtract 363 0
Store 364 365
366: 151(ptr) AccessChain 27(data) 358 68 49
367:22(float64_t) CompositeExtract 363 1
Store 366 367
368: 151(ptr) AccessChain 27(data) 358 68 64
369:22(float64_t) CompositeExtract 363 2
Store 368 369
370: 6(int) Load 8(invocation)
371: 159(ptr) AccessChain 27(data) 68 68
372: 23(f64vec4) Load 371
373: 6(int) Load 8(invocation)
374: 23(f64vec4) GroupNonUniformShuffleXor 35 372 373
375: 159(ptr) AccessChain 27(data) 370 68
Store 375 374
376: 6(int) Load 8(invocation)
377: 75(ptr) AccessChain 27(data) 29 39 30
378: 19(int) Load 377
379: 191(bool) SLessThan 378 29
380: 6(int) Load 8(invocation)
381: 191(bool) GroupNonUniformShuffleXor 35 379 380
382: 19(int) Select 381 39 29
383: 75(ptr) AccessChain 27(data) 376 39 30
Store 383 382
384: 6(int) Load 8(invocation)
385: 83(ptr) AccessChain 27(data) 39 39
386: 20(ivec4) Load 385
387: 82(ivec2) VectorShuffle 386 386 0 1
388: 202(bvec2) SLessThan 387 201
389: 6(int) Load 8(invocation)
390: 202(bvec2) GroupNonUniformShuffleXor 35 388 389
391: 82(ivec2) Select 390 206 201
392: 75(ptr) AccessChain 27(data) 384 39 30
393: 19(int) CompositeExtract 391 0
Store 392 393
394: 75(ptr) AccessChain 27(data) 384 39 49
395: 19(int) CompositeExtract 391 1
Store 394 395
396: 6(int) Load 8(invocation)
397: 83(ptr) AccessChain 27(data) 39 39
398: 20(ivec4) Load 397
399: 94(ivec3) VectorShuffle 398 398 0 1 2
400: 217(bvec3) SLessThan 399 216
401: 6(int) Load 8(invocation)
402: 217(bvec3) GroupNonUniformShuffleXor 35 400 401
403: 94(ivec3) Select 402 221 216
404: 75(ptr) AccessChain 27(data) 396 39 30
405: 19(int) CompositeExtract 403 0
Store 404 405
406: 75(ptr) AccessChain 27(data) 396 39 49
407: 19(int) CompositeExtract 403 1
Store 406 407
408: 75(ptr) AccessChain 27(data) 396 39 64
409: 19(int) CompositeExtract 403 2
Store 408 409
410: 6(int) Load 8(invocation)
411: 83(ptr) AccessChain 27(data) 39 39
412: 20(ivec4) Load 411
413: 233(bvec4) SLessThan 412 232
414: 6(int) Load 8(invocation)
415: 233(bvec4) GroupNonUniformShuffleXor 35 413 414
416: 20(ivec4) Select 415 237 232
417: 83(ptr) AccessChain 27(data) 410 39
Store 417 416
Return
FunctionEnd

View File

@ -1,7 +1,7 @@
spv.subgroupShuffleRelative.comp
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 379
// Id's are bound by 420
Capability Shader
Capability Float64
@ -39,7 +39,7 @@ spv.subgroupShuffleRelative.comp
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
Decorate 378 BuiltIn WorkgroupSize
Decorate 419 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -66,34 +66,35 @@ spv.subgroupShuffleRelative.comp
39: 19(int) Constant 1
40: TypeVector 17(float) 2
41: TypePointer StorageBuffer 18(fvec4)
51: 19(int) Constant 2
52: TypeVector 17(float) 3
62: 19(int) Constant 3
69: TypePointer StorageBuffer 19(int)
76: TypeVector 19(int) 2
77: TypePointer StorageBuffer 20(ivec4)
87: TypeVector 19(int) 3
103: TypePointer StorageBuffer 6(int)
110: TypeVector 6(int) 2
111: TypePointer StorageBuffer 21(ivec4)
121: TypeVector 6(int) 3
137: TypePointer StorageBuffer 22(float64_t)
144: TypeVector 22(float64_t) 2
145: TypePointer StorageBuffer 23(f64vec4)
155: TypeVector 22(float64_t) 3
173: TypeBool
183: 76(ivec2) ConstantComposite 29 29
184: TypeVector 173(bool) 2
188: 76(ivec2) ConstantComposite 39 39
197: 87(ivec3) ConstantComposite 29 29 29
198: TypeVector 173(bool) 3
202: 87(ivec3) ConstantComposite 39 39 39
210: 20(ivec4) ConstantComposite 29 29 29 29
211: TypeVector 173(bool) 4
215: 20(ivec4) ConstantComposite 39 39 39 39
376: 6(int) Constant 8
377: 6(int) Constant 1
378: 121(ivec3) ConstantComposite 376 376 377
49: 6(int) Constant 1
53: 19(int) Constant 2
54: TypeVector 17(float) 3
64: 6(int) Constant 2
68: 19(int) Constant 3
75: TypePointer StorageBuffer 19(int)
82: TypeVector 19(int) 2
83: TypePointer StorageBuffer 20(ivec4)
94: TypeVector 19(int) 3
113: TypePointer StorageBuffer 6(int)
120: TypeVector 6(int) 2
121: TypePointer StorageBuffer 21(ivec4)
132: TypeVector 6(int) 3
151: TypePointer StorageBuffer 22(float64_t)
158: TypeVector 22(float64_t) 2
159: TypePointer StorageBuffer 23(f64vec4)
170: TypeVector 22(float64_t) 3
191: TypeBool
201: 82(ivec2) ConstantComposite 29 29
202: TypeVector 191(bool) 2
206: 82(ivec2) ConstantComposite 39 39
216: 94(ivec3) ConstantComposite 29 29 29
217: TypeVector 191(bool) 3
221: 94(ivec3) ConstantComposite 39 39 39
232: 20(ivec4) ConstantComposite 29 29 29 29
233: TypeVector 191(bool) 4
237: 20(ivec4) ConstantComposite 39 39 39 39
418: 6(int) Constant 8
419: 132(ivec3) ConstantComposite 418 418 49
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@ -115,348 +116,418 @@ spv.subgroupShuffleRelative.comp
44: 40(fvec2) VectorShuffle 43 43 0 1
45: 6(int) Load 8(invocation)
46: 40(fvec2) GroupNonUniformShuffleUp 35 44 45
47: 41(ptr) AccessChain 27(data) 38 29
48: 18(fvec4) Load 47
49: 18(fvec4) VectorShuffle 48 46 4 5 2 3
Store 47 49
50: 6(int) Load 8(invocation)
53: 41(ptr) AccessChain 27(data) 51 29
54: 18(fvec4) Load 53
55: 52(fvec3) VectorShuffle 54 54 0 1 2
56: 6(int) Load 8(invocation)
57: 52(fvec3) GroupNonUniformShuffleUp 35 55 56
58: 41(ptr) AccessChain 27(data) 50 29
59: 18(fvec4) Load 58
60: 18(fvec4) VectorShuffle 59 57 4 5 6 3
Store 58 60
61: 6(int) Load 8(invocation)
63: 41(ptr) AccessChain 27(data) 62 29
64: 18(fvec4) Load 63
65: 6(int) Load 8(invocation)
66: 18(fvec4) GroupNonUniformShuffleUp 35 64 65
67: 41(ptr) AccessChain 27(data) 61 29
Store 67 66
68: 6(int) Load 8(invocation)
70: 69(ptr) AccessChain 27(data) 29 39 30
71: 19(int) Load 70
72: 6(int) Load 8(invocation)
73: 19(int) GroupNonUniformShuffleUp 35 71 72
74: 69(ptr) AccessChain 27(data) 68 39 30
Store 74 73
75: 6(int) Load 8(invocation)
78: 77(ptr) AccessChain 27(data) 39 39
79: 20(ivec4) Load 78
80: 76(ivec2) VectorShuffle 79 79 0 1
47: 31(ptr) AccessChain 27(data) 38 29 30
48: 17(float) CompositeExtract 46 0
Store 47 48
50: 31(ptr) AccessChain 27(data) 38 29 49
51: 17(float) CompositeExtract 46 1
Store 50 51
52: 6(int) Load 8(invocation)
55: 41(ptr) AccessChain 27(data) 53 29
56: 18(fvec4) Load 55
57: 54(fvec3) VectorShuffle 56 56 0 1 2
58: 6(int) Load 8(invocation)
59: 54(fvec3) GroupNonUniformShuffleUp 35 57 58
60: 31(ptr) AccessChain 27(data) 52 29 30
61: 17(float) CompositeExtract 59 0
Store 60 61
62: 31(ptr) AccessChain 27(data) 52 29 49
63: 17(float) CompositeExtract 59 1
Store 62 63
65: 31(ptr) AccessChain 27(data) 52 29 64
66: 17(float) CompositeExtract 59 2
Store 65 66
67: 6(int) Load 8(invocation)
69: 41(ptr) AccessChain 27(data) 68 29
70: 18(fvec4) Load 69
71: 6(int) Load 8(invocation)
72: 18(fvec4) GroupNonUniformShuffleUp 35 70 71
73: 41(ptr) AccessChain 27(data) 67 29
Store 73 72
74: 6(int) Load 8(invocation)
76: 75(ptr) AccessChain 27(data) 29 39 30
77: 19(int) Load 76
78: 6(int) Load 8(invocation)
79: 19(int) GroupNonUniformShuffleUp 35 77 78
80: 75(ptr) AccessChain 27(data) 74 39 30
Store 80 79
81: 6(int) Load 8(invocation)
82: 76(ivec2) GroupNonUniformShuffleUp 35 80 81
83: 77(ptr) AccessChain 27(data) 75 39
84: 20(ivec4) Load 83
85: 20(ivec4) VectorShuffle 84 82 4 5 2 3
Store 83 85
86: 6(int) Load 8(invocation)
88: 77(ptr) AccessChain 27(data) 51 39
89: 20(ivec4) Load 88
90: 87(ivec3) VectorShuffle 89 89 0 1 2
91: 6(int) Load 8(invocation)
92: 87(ivec3) GroupNonUniformShuffleUp 35 90 91
93: 77(ptr) AccessChain 27(data) 86 39
94: 20(ivec4) Load 93
95: 20(ivec4) VectorShuffle 94 92 4 5 6 3
Store 93 95
96: 6(int) Load 8(invocation)
97: 77(ptr) AccessChain 27(data) 62 39
98: 20(ivec4) Load 97
99: 6(int) Load 8(invocation)
100: 20(ivec4) GroupNonUniformShuffleUp 35 98 99
101: 77(ptr) AccessChain 27(data) 96 39
Store 101 100
102: 6(int) Load 8(invocation)
104: 103(ptr) AccessChain 27(data) 29 51 30
105: 6(int) Load 104
84: 83(ptr) AccessChain 27(data) 39 39
85: 20(ivec4) Load 84
86: 82(ivec2) VectorShuffle 85 85 0 1
87: 6(int) Load 8(invocation)
88: 82(ivec2) GroupNonUniformShuffleUp 35 86 87
89: 75(ptr) AccessChain 27(data) 81 39 30
90: 19(int) CompositeExtract 88 0
Store 89 90
91: 75(ptr) AccessChain 27(data) 81 39 49
92: 19(int) CompositeExtract 88 1
Store 91 92
93: 6(int) Load 8(invocation)
95: 83(ptr) AccessChain 27(data) 53 39
96: 20(ivec4) Load 95
97: 94(ivec3) VectorShuffle 96 96 0 1 2
98: 6(int) Load 8(invocation)
99: 94(ivec3) GroupNonUniformShuffleUp 35 97 98
100: 75(ptr) AccessChain 27(data) 93 39 30
101: 19(int) CompositeExtract 99 0
Store 100 101
102: 75(ptr) AccessChain 27(data) 93 39 49
103: 19(int) CompositeExtract 99 1
Store 102 103
104: 75(ptr) AccessChain 27(data) 93 39 64
105: 19(int) CompositeExtract 99 2
Store 104 105
106: 6(int) Load 8(invocation)
107: 6(int) GroupNonUniformShuffleUp 35 105 106
108: 103(ptr) AccessChain 27(data) 102 51 30
Store 108 107
107: 83(ptr) AccessChain 27(data) 68 39
108: 20(ivec4) Load 107
109: 6(int) Load 8(invocation)
112: 111(ptr) AccessChain 27(data) 39 51
113: 21(ivec4) Load 112
114: 110(ivec2) VectorShuffle 113 113 0 1
115: 6(int) Load 8(invocation)
116: 110(ivec2) GroupNonUniformShuffleUp 35 114 115
117: 111(ptr) AccessChain 27(data) 109 51
118: 21(ivec4) Load 117
119: 21(ivec4) VectorShuffle 118 116 4 5 2 3
Store 117 119
120: 6(int) Load 8(invocation)
122: 111(ptr) AccessChain 27(data) 51 51
110: 20(ivec4) GroupNonUniformShuffleUp 35 108 109
111: 83(ptr) AccessChain 27(data) 106 39
Store 111 110
112: 6(int) Load 8(invocation)
114: 113(ptr) AccessChain 27(data) 29 53 30
115: 6(int) Load 114
116: 6(int) Load 8(invocation)
117: 6(int) GroupNonUniformShuffleUp 35 115 116
118: 113(ptr) AccessChain 27(data) 112 53 30
Store 118 117
119: 6(int) Load 8(invocation)
122: 121(ptr) AccessChain 27(data) 39 53
123: 21(ivec4) Load 122
124: 121(ivec3) VectorShuffle 123 123 0 1 2
124: 120(ivec2) VectorShuffle 123 123 0 1
125: 6(int) Load 8(invocation)
126: 121(ivec3) GroupNonUniformShuffleUp 35 124 125
127: 111(ptr) AccessChain 27(data) 120 51
128: 21(ivec4) Load 127
129: 21(ivec4) VectorShuffle 128 126 4 5 6 3
Store 127 129
130: 6(int) Load 8(invocation)
131: 111(ptr) AccessChain 27(data) 62 51
132: 21(ivec4) Load 131
133: 6(int) Load 8(invocation)
134: 21(ivec4) GroupNonUniformShuffleUp 35 132 133
135: 111(ptr) AccessChain 27(data) 130 51
Store 135 134
126: 120(ivec2) GroupNonUniformShuffleUp 35 124 125
127: 113(ptr) AccessChain 27(data) 119 53 30
128: 6(int) CompositeExtract 126 0
Store 127 128
129: 113(ptr) AccessChain 27(data) 119 53 49
130: 6(int) CompositeExtract 126 1
Store 129 130
131: 6(int) Load 8(invocation)
133: 121(ptr) AccessChain 27(data) 53 53
134: 21(ivec4) Load 133
135: 132(ivec3) VectorShuffle 134 134 0 1 2
136: 6(int) Load 8(invocation)
138: 137(ptr) AccessChain 27(data) 29 62 30
139:22(float64_t) Load 138
140: 6(int) Load 8(invocation)
141:22(float64_t) GroupNonUniformShuffleUp 35 139 140
142: 137(ptr) AccessChain 27(data) 136 62 30
Store 142 141
143: 6(int) Load 8(invocation)
146: 145(ptr) AccessChain 27(data) 39 62
147: 23(f64vec4) Load 146
148:144(f64vec2) VectorShuffle 147 147 0 1
149: 6(int) Load 8(invocation)
150:144(f64vec2) GroupNonUniformShuffleUp 35 148 149
151: 145(ptr) AccessChain 27(data) 143 62
152: 23(f64vec4) Load 151
153: 23(f64vec4) VectorShuffle 152 150 4 5 2 3
Store 151 153
137: 132(ivec3) GroupNonUniformShuffleUp 35 135 136
138: 113(ptr) AccessChain 27(data) 131 53 30
139: 6(int) CompositeExtract 137 0
Store 138 139
140: 113(ptr) AccessChain 27(data) 131 53 49
141: 6(int) CompositeExtract 137 1
Store 140 141
142: 113(ptr) AccessChain 27(data) 131 53 64
143: 6(int) CompositeExtract 137 2
Store 142 143
144: 6(int) Load 8(invocation)
145: 121(ptr) AccessChain 27(data) 68 53
146: 21(ivec4) Load 145
147: 6(int) Load 8(invocation)
148: 21(ivec4) GroupNonUniformShuffleUp 35 146 147
149: 121(ptr) AccessChain 27(data) 144 53
Store 149 148
150: 6(int) Load 8(invocation)
152: 151(ptr) AccessChain 27(data) 29 68 30
153:22(float64_t) Load 152
154: 6(int) Load 8(invocation)
156: 145(ptr) AccessChain 27(data) 51 62
157: 23(f64vec4) Load 156
158:155(f64vec3) VectorShuffle 157 157 0 1 2
159: 6(int) Load 8(invocation)
160:155(f64vec3) GroupNonUniformShuffleUp 35 158 159
161: 145(ptr) AccessChain 27(data) 154 62
162: 23(f64vec4) Load 161
163: 23(f64vec4) VectorShuffle 162 160 4 5 6 3
Store 161 163
164: 6(int) Load 8(invocation)
165: 145(ptr) AccessChain 27(data) 62 62
166: 23(f64vec4) Load 165
167: 6(int) Load 8(invocation)
168: 23(f64vec4) GroupNonUniformShuffleUp 35 166 167
169: 145(ptr) AccessChain 27(data) 164 62
Store 169 168
170: 6(int) Load 8(invocation)
171: 69(ptr) AccessChain 27(data) 29 39 30
172: 19(int) Load 171
174: 173(bool) SLessThan 172 29
175: 6(int) Load 8(invocation)
176: 173(bool) GroupNonUniformShuffleUp 35 174 175
177: 19(int) Select 176 39 29
178: 69(ptr) AccessChain 27(data) 170 39 30
Store 178 177
179: 6(int) Load 8(invocation)
180: 77(ptr) AccessChain 27(data) 39 39
181: 20(ivec4) Load 180
182: 76(ivec2) VectorShuffle 181 181 0 1
185: 184(bvec2) SLessThan 182 183
186: 6(int) Load 8(invocation)
187: 184(bvec2) GroupNonUniformShuffleUp 35 185 186
189: 76(ivec2) Select 187 188 183
190: 77(ptr) AccessChain 27(data) 179 39
191: 20(ivec4) Load 190
192: 20(ivec4) VectorShuffle 191 189 4 5 2 3
Store 190 192
155:22(float64_t) GroupNonUniformShuffleUp 35 153 154
156: 151(ptr) AccessChain 27(data) 150 68 30
Store 156 155
157: 6(int) Load 8(invocation)
160: 159(ptr) AccessChain 27(data) 39 68
161: 23(f64vec4) Load 160
162:158(f64vec2) VectorShuffle 161 161 0 1
163: 6(int) Load 8(invocation)
164:158(f64vec2) GroupNonUniformShuffleUp 35 162 163
165: 151(ptr) AccessChain 27(data) 157 68 30
166:22(float64_t) CompositeExtract 164 0
Store 165 166
167: 151(ptr) AccessChain 27(data) 157 68 49
168:22(float64_t) CompositeExtract 164 1
Store 167 168
169: 6(int) Load 8(invocation)
171: 159(ptr) AccessChain 27(data) 53 68
172: 23(f64vec4) Load 171
173:170(f64vec3) VectorShuffle 172 172 0 1 2
174: 6(int) Load 8(invocation)
175:170(f64vec3) GroupNonUniformShuffleUp 35 173 174
176: 151(ptr) AccessChain 27(data) 169 68 30
177:22(float64_t) CompositeExtract 175 0
Store 176 177
178: 151(ptr) AccessChain 27(data) 169 68 49
179:22(float64_t) CompositeExtract 175 1
Store 178 179
180: 151(ptr) AccessChain 27(data) 169 68 64
181:22(float64_t) CompositeExtract 175 2
Store 180 181
182: 6(int) Load 8(invocation)
183: 159(ptr) AccessChain 27(data) 68 68
184: 23(f64vec4) Load 183
185: 6(int) Load 8(invocation)
186: 23(f64vec4) GroupNonUniformShuffleUp 35 184 185
187: 159(ptr) AccessChain 27(data) 182 68
Store 187 186
188: 6(int) Load 8(invocation)
189: 75(ptr) AccessChain 27(data) 29 39 30
190: 19(int) Load 189
192: 191(bool) SLessThan 190 29
193: 6(int) Load 8(invocation)
194: 77(ptr) AccessChain 27(data) 39 39
195: 20(ivec4) Load 194
196: 87(ivec3) VectorShuffle 195 195 0 1 2
199: 198(bvec3) SLessThan 196 197
200: 6(int) Load 8(invocation)
201: 198(bvec3) GroupNonUniformShuffleUp 35 199 200
203: 87(ivec3) Select 201 202 197
204: 77(ptr) AccessChain 27(data) 193 39
205: 20(ivec4) Load 204
206: 20(ivec4) VectorShuffle 205 203 4 5 6 3
Store 204 206
207: 6(int) Load 8(invocation)
208: 77(ptr) AccessChain 27(data) 39 39
209: 20(ivec4) Load 208
212: 211(bvec4) SLessThan 209 210
213: 6(int) Load 8(invocation)
214: 211(bvec4) GroupNonUniformShuffleUp 35 212 213
216: 20(ivec4) Select 214 215 210
217: 77(ptr) AccessChain 27(data) 207 39
Store 217 216
218: 6(int) Load 8(invocation)
219: 31(ptr) AccessChain 27(data) 29 29 30
220: 17(float) Load 219
221: 6(int) Load 8(invocation)
222: 17(float) GroupNonUniformShuffleDown 35 220 221
223: 31(ptr) AccessChain 27(data) 218 29 30
Store 223 222
224: 6(int) Load 8(invocation)
225: 41(ptr) AccessChain 27(data) 39 29
226: 18(fvec4) Load 225
227: 40(fvec2) VectorShuffle 226 226 0 1
228: 6(int) Load 8(invocation)
229: 40(fvec2) GroupNonUniformShuffleDown 35 227 228
230: 41(ptr) AccessChain 27(data) 224 29
231: 18(fvec4) Load 230
232: 18(fvec4) VectorShuffle 231 229 4 5 2 3
Store 230 232
233: 6(int) Load 8(invocation)
234: 41(ptr) AccessChain 27(data) 51 29
235: 18(fvec4) Load 234
236: 52(fvec3) VectorShuffle 235 235 0 1 2
237: 6(int) Load 8(invocation)
238: 52(fvec3) GroupNonUniformShuffleDown 35 236 237
239: 41(ptr) AccessChain 27(data) 233 29
240: 18(fvec4) Load 239
241: 18(fvec4) VectorShuffle 240 238 4 5 6 3
Store 239 241
242: 6(int) Load 8(invocation)
243: 41(ptr) AccessChain 27(data) 62 29
244: 18(fvec4) Load 243
245: 6(int) Load 8(invocation)
246: 18(fvec4) GroupNonUniformShuffleDown 35 244 245
247: 41(ptr) AccessChain 27(data) 242 29
Store 247 246
248: 6(int) Load 8(invocation)
249: 69(ptr) AccessChain 27(data) 29 39 30
250: 19(int) Load 249
251: 6(int) Load 8(invocation)
252: 19(int) GroupNonUniformShuffleDown 35 250 251
253: 69(ptr) AccessChain 27(data) 248 39 30
Store 253 252
254: 6(int) Load 8(invocation)
255: 77(ptr) AccessChain 27(data) 39 39
256: 20(ivec4) Load 255
257: 76(ivec2) VectorShuffle 256 256 0 1
258: 6(int) Load 8(invocation)
259: 76(ivec2) GroupNonUniformShuffleDown 35 257 258
260: 77(ptr) AccessChain 27(data) 254 39
261: 20(ivec4) Load 260
262: 20(ivec4) VectorShuffle 261 259 4 5 2 3
Store 260 262
263: 6(int) Load 8(invocation)
264: 77(ptr) AccessChain 27(data) 51 39
265: 20(ivec4) Load 264
266: 87(ivec3) VectorShuffle 265 265 0 1 2
267: 6(int) Load 8(invocation)
268: 87(ivec3) GroupNonUniformShuffleDown 35 266 267
269: 77(ptr) AccessChain 27(data) 263 39
270: 20(ivec4) Load 269
271: 20(ivec4) VectorShuffle 270 268 4 5 6 3
Store 269 271
272: 6(int) Load 8(invocation)
273: 77(ptr) AccessChain 27(data) 62 39
274: 20(ivec4) Load 273
275: 6(int) Load 8(invocation)
276: 20(ivec4) GroupNonUniformShuffleDown 35 274 275
277: 77(ptr) AccessChain 27(data) 272 39
Store 277 276
278: 6(int) Load 8(invocation)
279: 103(ptr) AccessChain 27(data) 29 51 30
280: 6(int) Load 279
281: 6(int) Load 8(invocation)
282: 6(int) GroupNonUniformShuffleDown 35 280 281
283: 103(ptr) AccessChain 27(data) 278 51 30
Store 283 282
194: 191(bool) GroupNonUniformShuffleUp 35 192 193
195: 19(int) Select 194 39 29
196: 75(ptr) AccessChain 27(data) 188 39 30
Store 196 195
197: 6(int) Load 8(invocation)
198: 83(ptr) AccessChain 27(data) 39 39
199: 20(ivec4) Load 198
200: 82(ivec2) VectorShuffle 199 199 0 1
203: 202(bvec2) SLessThan 200 201
204: 6(int) Load 8(invocation)
205: 202(bvec2) GroupNonUniformShuffleUp 35 203 204
207: 82(ivec2) Select 205 206 201
208: 75(ptr) AccessChain 27(data) 197 39 30
209: 19(int) CompositeExtract 207 0
Store 208 209
210: 75(ptr) AccessChain 27(data) 197 39 49
211: 19(int) CompositeExtract 207 1
Store 210 211
212: 6(int) Load 8(invocation)
213: 83(ptr) AccessChain 27(data) 39 39
214: 20(ivec4) Load 213
215: 94(ivec3) VectorShuffle 214 214 0 1 2
218: 217(bvec3) SLessThan 215 216
219: 6(int) Load 8(invocation)
220: 217(bvec3) GroupNonUniformShuffleUp 35 218 219
222: 94(ivec3) Select 220 221 216
223: 75(ptr) AccessChain 27(data) 212 39 30
224: 19(int) CompositeExtract 222 0
Store 223 224
225: 75(ptr) AccessChain 27(data) 212 39 49
226: 19(int) CompositeExtract 222 1
Store 225 226
227: 75(ptr) AccessChain 27(data) 212 39 64
228: 19(int) CompositeExtract 222 2
Store 227 228
229: 6(int) Load 8(invocation)
230: 83(ptr) AccessChain 27(data) 39 39
231: 20(ivec4) Load 230
234: 233(bvec4) SLessThan 231 232
235: 6(int) Load 8(invocation)
236: 233(bvec4) GroupNonUniformShuffleUp 35 234 235
238: 20(ivec4) Select 236 237 232
239: 83(ptr) AccessChain 27(data) 229 39
Store 239 238
240: 6(int) Load 8(invocation)
241: 31(ptr) AccessChain 27(data) 29 29 30
242: 17(float) Load 241
243: 6(int) Load 8(invocation)
244: 17(float) GroupNonUniformShuffleDown 35 242 243
245: 31(ptr) AccessChain 27(data) 240 29 30
Store 245 244
246: 6(int) Load 8(invocation)
247: 41(ptr) AccessChain 27(data) 39 29
248: 18(fvec4) Load 247
249: 40(fvec2) VectorShuffle 248 248 0 1
250: 6(int) Load 8(invocation)
251: 40(fvec2) GroupNonUniformShuffleDown 35 249 250
252: 31(ptr) AccessChain 27(data) 246 29 30
253: 17(float) CompositeExtract 251 0
Store 252 253
254: 31(ptr) AccessChain 27(data) 246 29 49
255: 17(float) CompositeExtract 251 1
Store 254 255
256: 6(int) Load 8(invocation)
257: 41(ptr) AccessChain 27(data) 53 29
258: 18(fvec4) Load 257
259: 54(fvec3) VectorShuffle 258 258 0 1 2
260: 6(int) Load 8(invocation)
261: 54(fvec3) GroupNonUniformShuffleDown 35 259 260
262: 31(ptr) AccessChain 27(data) 256 29 30
263: 17(float) CompositeExtract 261 0
Store 262 263
264: 31(ptr) AccessChain 27(data) 256 29 49
265: 17(float) CompositeExtract 261 1
Store 264 265
266: 31(ptr) AccessChain 27(data) 256 29 64
267: 17(float) CompositeExtract 261 2
Store 266 267
268: 6(int) Load 8(invocation)
269: 41(ptr) AccessChain 27(data) 68 29
270: 18(fvec4) Load 269
271: 6(int) Load 8(invocation)
272: 18(fvec4) GroupNonUniformShuffleDown 35 270 271
273: 41(ptr) AccessChain 27(data) 268 29
Store 273 272
274: 6(int) Load 8(invocation)
275: 75(ptr) AccessChain 27(data) 29 39 30
276: 19(int) Load 275
277: 6(int) Load 8(invocation)
278: 19(int) GroupNonUniformShuffleDown 35 276 277
279: 75(ptr) AccessChain 27(data) 274 39 30
Store 279 278
280: 6(int) Load 8(invocation)
281: 83(ptr) AccessChain 27(data) 39 39
282: 20(ivec4) Load 281
283: 82(ivec2) VectorShuffle 282 282 0 1
284: 6(int) Load 8(invocation)
285: 111(ptr) AccessChain 27(data) 39 51
286: 21(ivec4) Load 285
287: 110(ivec2) VectorShuffle 286 286 0 1
288: 6(int) Load 8(invocation)
289: 110(ivec2) GroupNonUniformShuffleDown 35 287 288
290: 111(ptr) AccessChain 27(data) 284 51
291: 21(ivec4) Load 290
292: 21(ivec4) VectorShuffle 291 289 4 5 2 3
Store 290 292
293: 6(int) Load 8(invocation)
294: 111(ptr) AccessChain 27(data) 51 51
295: 21(ivec4) Load 294
296: 121(ivec3) VectorShuffle 295 295 0 1 2
297: 6(int) Load 8(invocation)
298: 121(ivec3) GroupNonUniformShuffleDown 35 296 297
299: 111(ptr) AccessChain 27(data) 293 51
300: 21(ivec4) Load 299
301: 21(ivec4) VectorShuffle 300 298 4 5 6 3
Store 299 301
285: 82(ivec2) GroupNonUniformShuffleDown 35 283 284
286: 75(ptr) AccessChain 27(data) 280 39 30
287: 19(int) CompositeExtract 285 0
Store 286 287
288: 75(ptr) AccessChain 27(data) 280 39 49
289: 19(int) CompositeExtract 285 1
Store 288 289
290: 6(int) Load 8(invocation)
291: 83(ptr) AccessChain 27(data) 53 39
292: 20(ivec4) Load 291
293: 94(ivec3) VectorShuffle 292 292 0 1 2
294: 6(int) Load 8(invocation)
295: 94(ivec3) GroupNonUniformShuffleDown 35 293 294
296: 75(ptr) AccessChain 27(data) 290 39 30
297: 19(int) CompositeExtract 295 0
Store 296 297
298: 75(ptr) AccessChain 27(data) 290 39 49
299: 19(int) CompositeExtract 295 1
Store 298 299
300: 75(ptr) AccessChain 27(data) 290 39 64
301: 19(int) CompositeExtract 295 2
Store 300 301
302: 6(int) Load 8(invocation)
303: 111(ptr) AccessChain 27(data) 62 51
304: 21(ivec4) Load 303
303: 83(ptr) AccessChain 27(data) 68 39
304: 20(ivec4) Load 303
305: 6(int) Load 8(invocation)
306: 21(ivec4) GroupNonUniformShuffleDown 35 304 305
307: 111(ptr) AccessChain 27(data) 302 51
306: 20(ivec4) GroupNonUniformShuffleDown 35 304 305
307: 83(ptr) AccessChain 27(data) 302 39
Store 307 306
308: 6(int) Load 8(invocation)
309: 137(ptr) AccessChain 27(data) 29 62 30
310:22(float64_t) Load 309
309: 113(ptr) AccessChain 27(data) 29 53 30
310: 6(int) Load 309
311: 6(int) Load 8(invocation)
312:22(float64_t) GroupNonUniformShuffleDown 35 310 311
313: 137(ptr) AccessChain 27(data) 308 62 30
312: 6(int) GroupNonUniformShuffleDown 35 310 311
313: 113(ptr) AccessChain 27(data) 308 53 30
Store 313 312
314: 6(int) Load 8(invocation)
315: 145(ptr) AccessChain 27(data) 39 62
316: 23(f64vec4) Load 315
317:144(f64vec2) VectorShuffle 316 316 0 1
315: 121(ptr) AccessChain 27(data) 39 53
316: 21(ivec4) Load 315
317: 120(ivec2) VectorShuffle 316 316 0 1
318: 6(int) Load 8(invocation)
319:144(f64vec2) GroupNonUniformShuffleDown 35 317 318
320: 145(ptr) AccessChain 27(data) 314 62
321: 23(f64vec4) Load 320
322: 23(f64vec4) VectorShuffle 321 319 4 5 2 3
Store 320 322
323: 6(int) Load 8(invocation)
324: 145(ptr) AccessChain 27(data) 51 62
325: 23(f64vec4) Load 324
326:155(f64vec3) VectorShuffle 325 325 0 1 2
327: 6(int) Load 8(invocation)
328:155(f64vec3) GroupNonUniformShuffleDown 35 326 327
329: 145(ptr) AccessChain 27(data) 323 62
330: 23(f64vec4) Load 329
331: 23(f64vec4) VectorShuffle 330 328 4 5 6 3
Store 329 331
332: 6(int) Load 8(invocation)
333: 145(ptr) AccessChain 27(data) 62 62
334: 23(f64vec4) Load 333
335: 6(int) Load 8(invocation)
336: 23(f64vec4) GroupNonUniformShuffleDown 35 334 335
337: 145(ptr) AccessChain 27(data) 332 62
Store 337 336
338: 6(int) Load 8(invocation)
339: 69(ptr) AccessChain 27(data) 29 39 30
340: 19(int) Load 339
341: 173(bool) SLessThan 340 29
319: 120(ivec2) GroupNonUniformShuffleDown 35 317 318
320: 113(ptr) AccessChain 27(data) 314 53 30
321: 6(int) CompositeExtract 319 0
Store 320 321
322: 113(ptr) AccessChain 27(data) 314 53 49
323: 6(int) CompositeExtract 319 1
Store 322 323
324: 6(int) Load 8(invocation)
325: 121(ptr) AccessChain 27(data) 53 53
326: 21(ivec4) Load 325
327: 132(ivec3) VectorShuffle 326 326 0 1 2
328: 6(int) Load 8(invocation)
329: 132(ivec3) GroupNonUniformShuffleDown 35 327 328
330: 113(ptr) AccessChain 27(data) 324 53 30
331: 6(int) CompositeExtract 329 0
Store 330 331
332: 113(ptr) AccessChain 27(data) 324 53 49
333: 6(int) CompositeExtract 329 1
Store 332 333
334: 113(ptr) AccessChain 27(data) 324 53 64
335: 6(int) CompositeExtract 329 2
Store 334 335
336: 6(int) Load 8(invocation)
337: 121(ptr) AccessChain 27(data) 68 53
338: 21(ivec4) Load 337
339: 6(int) Load 8(invocation)
340: 21(ivec4) GroupNonUniformShuffleDown 35 338 339
341: 121(ptr) AccessChain 27(data) 336 53
Store 341 340
342: 6(int) Load 8(invocation)
343: 173(bool) GroupNonUniformShuffleDown 35 341 342
344: 19(int) Select 343 39 29
345: 69(ptr) AccessChain 27(data) 338 39 30
Store 345 344
346: 6(int) Load 8(invocation)
347: 77(ptr) AccessChain 27(data) 39 39
348: 20(ivec4) Load 347
349: 76(ivec2) VectorShuffle 348 348 0 1
350: 184(bvec2) SLessThan 349 183
351: 6(int) Load 8(invocation)
352: 184(bvec2) GroupNonUniformShuffleDown 35 350 351
353: 76(ivec2) Select 352 188 183
354: 77(ptr) AccessChain 27(data) 346 39
355: 20(ivec4) Load 354
356: 20(ivec4) VectorShuffle 355 353 4 5 2 3
Store 354 356
357: 6(int) Load 8(invocation)
358: 77(ptr) AccessChain 27(data) 39 39
359: 20(ivec4) Load 358
360: 87(ivec3) VectorShuffle 359 359 0 1 2
361: 198(bvec3) SLessThan 360 197
343: 151(ptr) AccessChain 27(data) 29 68 30
344:22(float64_t) Load 343
345: 6(int) Load 8(invocation)
346:22(float64_t) GroupNonUniformShuffleDown 35 344 345
347: 151(ptr) AccessChain 27(data) 342 68 30
Store 347 346
348: 6(int) Load 8(invocation)
349: 159(ptr) AccessChain 27(data) 39 68
350: 23(f64vec4) Load 349
351:158(f64vec2) VectorShuffle 350 350 0 1
352: 6(int) Load 8(invocation)
353:158(f64vec2) GroupNonUniformShuffleDown 35 351 352
354: 151(ptr) AccessChain 27(data) 348 68 30
355:22(float64_t) CompositeExtract 353 0
Store 354 355
356: 151(ptr) AccessChain 27(data) 348 68 49
357:22(float64_t) CompositeExtract 353 1
Store 356 357
358: 6(int) Load 8(invocation)
359: 159(ptr) AccessChain 27(data) 53 68
360: 23(f64vec4) Load 359
361:170(f64vec3) VectorShuffle 360 360 0 1 2
362: 6(int) Load 8(invocation)
363: 198(bvec3) GroupNonUniformShuffleDown 35 361 362
364: 87(ivec3) Select 363 202 197
365: 77(ptr) AccessChain 27(data) 357 39
366: 20(ivec4) Load 365
367: 20(ivec4) VectorShuffle 366 364 4 5 6 3
Store 365 367
368: 6(int) Load 8(invocation)
369: 77(ptr) AccessChain 27(data) 39 39
370: 20(ivec4) Load 369
371: 211(bvec4) SLessThan 370 210
372: 6(int) Load 8(invocation)
373: 211(bvec4) GroupNonUniformShuffleDown 35 371 372
374: 20(ivec4) Select 373 215 210
375: 77(ptr) AccessChain 27(data) 368 39
363:170(f64vec3) GroupNonUniformShuffleDown 35 361 362
364: 151(ptr) AccessChain 27(data) 358 68 30
365:22(float64_t) CompositeExtract 363 0
Store 364 365
366: 151(ptr) AccessChain 27(data) 358 68 49
367:22(float64_t) CompositeExtract 363 1
Store 366 367
368: 151(ptr) AccessChain 27(data) 358 68 64
369:22(float64_t) CompositeExtract 363 2
Store 368 369
370: 6(int) Load 8(invocation)
371: 159(ptr) AccessChain 27(data) 68 68
372: 23(f64vec4) Load 371
373: 6(int) Load 8(invocation)
374: 23(f64vec4) GroupNonUniformShuffleDown 35 372 373
375: 159(ptr) AccessChain 27(data) 370 68
Store 375 374
376: 6(int) Load 8(invocation)
377: 75(ptr) AccessChain 27(data) 29 39 30
378: 19(int) Load 377
379: 191(bool) SLessThan 378 29
380: 6(int) Load 8(invocation)
381: 191(bool) GroupNonUniformShuffleDown 35 379 380
382: 19(int) Select 381 39 29
383: 75(ptr) AccessChain 27(data) 376 39 30
Store 383 382
384: 6(int) Load 8(invocation)
385: 83(ptr) AccessChain 27(data) 39 39
386: 20(ivec4) Load 385
387: 82(ivec2) VectorShuffle 386 386 0 1
388: 202(bvec2) SLessThan 387 201
389: 6(int) Load 8(invocation)
390: 202(bvec2) GroupNonUniformShuffleDown 35 388 389
391: 82(ivec2) Select 390 206 201
392: 75(ptr) AccessChain 27(data) 384 39 30
393: 19(int) CompositeExtract 391 0
Store 392 393
394: 75(ptr) AccessChain 27(data) 384 39 49
395: 19(int) CompositeExtract 391 1
Store 394 395
396: 6(int) Load 8(invocation)
397: 83(ptr) AccessChain 27(data) 39 39
398: 20(ivec4) Load 397
399: 94(ivec3) VectorShuffle 398 398 0 1 2
400: 217(bvec3) SLessThan 399 216
401: 6(int) Load 8(invocation)
402: 217(bvec3) GroupNonUniformShuffleDown 35 400 401
403: 94(ivec3) Select 402 221 216
404: 75(ptr) AccessChain 27(data) 396 39 30
405: 19(int) CompositeExtract 403 0
Store 404 405
406: 75(ptr) AccessChain 27(data) 396 39 49
407: 19(int) CompositeExtract 403 1
Store 406 407
408: 75(ptr) AccessChain 27(data) 396 39 64
409: 19(int) CompositeExtract 403 2
Store 408 409
410: 6(int) Load 8(invocation)
411: 83(ptr) AccessChain 27(data) 39 39
412: 20(ivec4) Load 411
413: 233(bvec4) SLessThan 412 232
414: 6(int) Load 8(invocation)
415: 233(bvec4) GroupNonUniformShuffleDown 35 413 414
416: 20(ivec4) Select 415 237 232
417: 83(ptr) AccessChain 27(data) 410 39
Store 417 416
Return
FunctionEnd

View File

@ -1,12 +1,12 @@
spv.swizzle.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 108
// Id's are bound by 117
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 14 30 69 107
EntryPoint Fragment 4 "main" 14 30 78 116
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
@ -18,16 +18,16 @@ spv.swizzle.frag
Name 20 "w2"
Name 22 "w_flow"
Name 30 "t"
Name 49 "w_undef"
Name 56 "p"
Name 69 "gl_FragColor"
Name 81 "c"
Name 83 "rep"
Name 107 "blend"
Name 56 "w_undef"
Name 65 "p"
Name 78 "gl_FragColor"
Name 90 "c"
Name 92 "rep"
Name 116 "blend"
Decorate 14(u) Location 1
Decorate 30(t) Location 2
Decorate 69(gl_FragColor) Location 0
Decorate 107(blend) Location 0
Decorate 78(gl_FragColor) Location 0
Decorate 116(blend) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -42,21 +42,22 @@ spv.swizzle.frag
28: TypeVector 6(float) 2
29: TypePointer Input 28(fvec2)
30(t): 29(ptr) Variable Input
35: 25(int) Constant 0
40: 25(int) Constant 1
54: TypeBool
55: TypePointer Private 54(bool)
56(p): 55(ptr) Variable Private
60: TypePointer Input 6(float)
68: TypePointer Output 10(fvec4)
69(gl_FragColor): 68(ptr) Variable Output
80: TypePointer Function 28(fvec2)
84: 6(float) Constant 0
85: 6(float) Constant 1065353216
86: 10(fvec4) ConstantComposite 84 84 84 85
92: 6(float) Constant 3212836864
102: 6(float) Constant 1079613850
107(blend): 60(ptr) Variable Input
32: 25(int) Constant 3
35: 25(int) Constant 1
39: 25(int) Constant 0
63: TypeBool
64: TypePointer Private 63(bool)
65(p): 64(ptr) Variable Private
69: TypePointer Input 6(float)
77: TypePointer Output 10(fvec4)
78(gl_FragColor): 77(ptr) Variable Output
89: TypePointer Function 28(fvec2)
93: 6(float) Constant 0
94: 6(float) Constant 1065353216
95: 10(fvec4) ConstantComposite 93 93 93 94
101: 6(float) Constant 3212836864
111: 6(float) Constant 1079613850
116(blend): 69(ptr) Variable Input
4(main): 2 Function None 3
5: Label
8(blendscale): 7(ptr) Variable Function
@ -65,9 +66,9 @@ spv.swizzle.frag
18(w_reorder): 11(ptr) Variable Function
20(w2): 11(ptr) Variable Function
22(w_flow): 11(ptr) Variable Function
49(w_undef): 11(ptr) Variable Function
81(c): 80(ptr) Variable Function
83(rep): 11(ptr) Variable Function
56(w_undef): 11(ptr) Variable Function
90(c): 89(ptr) Variable Function
92(rep): 11(ptr) Variable Function
Store 8(blendscale) 9
15: 10(fvec4) Load 14(u)
Store 12(w) 15
@ -83,88 +84,100 @@ spv.swizzle.frag
27: 7(ptr) AccessChain 18(w_reorder) 26
Store 27 24
31: 28(fvec2) Load 30(t)
32: 10(fvec4) Load 12(w)
33: 10(fvec4) VectorShuffle 32 31 0 5 2 4
Store 12(w) 33
34: 6(float) Load 8(blendscale)
36: 7(ptr) AccessChain 18(w_reorder) 35
Store 36 34
37: 10(fvec4) Load 14(u)
38: 10(fvec4) VectorShuffle 37 37 2 3 0 1
Store 20(w2) 38
39: 6(float) Load 8(blendscale)
41: 7(ptr) AccessChain 18(w_reorder) 40
Store 41 39
42: 10(fvec4) Load 20(w2)
43: 28(fvec2) VectorShuffle 42 42 0 2
44: 10(fvec4) Load 16(w_dep)
45: 10(fvec4) VectorShuffle 44 43 4 5 2 3
Store 16(w_dep) 45
46: 28(fvec2) Load 30(t)
47: 10(fvec4) Load 16(w_dep)
48: 10(fvec4) VectorShuffle 47 46 0 1 4 5
Store 16(w_dep) 48
50: 10(fvec4) Load 14(u)
51: 28(fvec2) VectorShuffle 50 50 2 3
52: 10(fvec4) Load 49(w_undef)
53: 10(fvec4) VectorShuffle 52 51 4 5 2 3
Store 49(w_undef) 53
57: 54(bool) Load 56(p)
SelectionMerge 59 None
BranchConditional 57 58 64
58: Label
61: 60(ptr) AccessChain 30(t) 35
62: 6(float) Load 61
63: 7(ptr) AccessChain 22(w_flow) 35
Store 63 62
Branch 59
64: Label
65: 60(ptr) AccessChain 30(t) 40
66: 6(float) Load 65
67: 7(ptr) AccessChain 22(w_flow) 35
Store 67 66
Branch 59
59: Label
70: 10(fvec4) Load 18(w_reorder)
71: 10(fvec4) Load 49(w_undef)
72: 10(fvec4) Load 12(w)
73: 10(fvec4) Load 20(w2)
74: 10(fvec4) FMul 72 73
75: 10(fvec4) Load 16(w_dep)
76: 10(fvec4) FMul 74 75
77: 10(fvec4) Load 22(w_flow)
78: 10(fvec4) FMul 76 77
79: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 70 71 78
Store 69(gl_FragColor) 79
82: 28(fvec2) Load 30(t)
Store 81(c) 82
Store 83(rep) 86
87: 7(ptr) AccessChain 81(c) 35
88: 6(float) Load 87
89: 54(bool) FOrdLessThan 88 84
SelectionMerge 91 None
BranchConditional 89 90 91
90: Label
93: 7(ptr) AccessChain 81(c) 35
94: 6(float) Load 93
95: 6(float) FMul 94 92
96: 7(ptr) AccessChain 81(c) 35
Store 96 95
Branch 91
91: Label
97: 7(ptr) AccessChain 81(c) 35
98: 6(float) Load 97
99: 54(bool) FOrdLessThanEqual 98 85
SelectionMerge 101 None
BranchConditional 99 100 101
100: Label
103: 7(ptr) AccessChain 83(rep) 35
Store 103 102
Branch 101
101: Label
104: 10(fvec4) Load 83(rep)
105: 10(fvec4) Load 69(gl_FragColor)
106: 10(fvec4) FAdd 105 104
Store 69(gl_FragColor) 106
33: 7(ptr) AccessChain 12(w) 32
34: 6(float) CompositeExtract 31 0
Store 33 34
36: 7(ptr) AccessChain 12(w) 35
37: 6(float) CompositeExtract 31 1
Store 36 37
38: 6(float) Load 8(blendscale)
40: 7(ptr) AccessChain 18(w_reorder) 39
Store 40 38
41: 10(fvec4) Load 14(u)
42: 10(fvec4) VectorShuffle 41 41 2 3 0 1
Store 20(w2) 42
43: 6(float) Load 8(blendscale)
44: 7(ptr) AccessChain 18(w_reorder) 35
Store 44 43
45: 10(fvec4) Load 20(w2)
46: 28(fvec2) VectorShuffle 45 45 0 2
47: 7(ptr) AccessChain 16(w_dep) 39
48: 6(float) CompositeExtract 46 0
Store 47 48
49: 7(ptr) AccessChain 16(w_dep) 35
50: 6(float) CompositeExtract 46 1
Store 49 50
51: 28(fvec2) Load 30(t)
52: 7(ptr) AccessChain 16(w_dep) 26
53: 6(float) CompositeExtract 51 0
Store 52 53
54: 7(ptr) AccessChain 16(w_dep) 32
55: 6(float) CompositeExtract 51 1
Store 54 55
57: 10(fvec4) Load 14(u)
58: 28(fvec2) VectorShuffle 57 57 2 3
59: 7(ptr) AccessChain 56(w_undef) 39
60: 6(float) CompositeExtract 58 0
Store 59 60
61: 7(ptr) AccessChain 56(w_undef) 35
62: 6(float) CompositeExtract 58 1
Store 61 62
66: 63(bool) Load 65(p)
SelectionMerge 68 None
BranchConditional 66 67 73
67: Label
70: 69(ptr) AccessChain 30(t) 39
71: 6(float) Load 70
72: 7(ptr) AccessChain 22(w_flow) 39
Store 72 71
Branch 68
73: Label
74: 69(ptr) AccessChain 30(t) 35
75: 6(float) Load 74
76: 7(ptr) AccessChain 22(w_flow) 39
Store 76 75
Branch 68
68: Label
79: 10(fvec4) Load 18(w_reorder)
80: 10(fvec4) Load 56(w_undef)
81: 10(fvec4) Load 12(w)
82: 10(fvec4) Load 20(w2)
83: 10(fvec4) FMul 81 82
84: 10(fvec4) Load 16(w_dep)
85: 10(fvec4) FMul 83 84
86: 10(fvec4) Load 22(w_flow)
87: 10(fvec4) FMul 85 86
88: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 79 80 87
Store 78(gl_FragColor) 88
91: 28(fvec2) Load 30(t)
Store 90(c) 91
Store 92(rep) 95
96: 7(ptr) AccessChain 90(c) 39
97: 6(float) Load 96
98: 63(bool) FOrdLessThan 97 93
SelectionMerge 100 None
BranchConditional 98 99 100
99: Label
102: 7(ptr) AccessChain 90(c) 39
103: 6(float) Load 102
104: 6(float) FMul 103 101
105: 7(ptr) AccessChain 90(c) 39
Store 105 104
Branch 100
100: Label
106: 7(ptr) AccessChain 90(c) 39
107: 6(float) Load 106
108: 63(bool) FOrdLessThanEqual 107 94
SelectionMerge 110 None
BranchConditional 108 109 110
109: Label
112: 7(ptr) AccessChain 92(rep) 39
Store 112 111
Branch 110
110: Label
113: 10(fvec4) Load 92(rep)
114: 10(fvec4) Load 78(gl_FragColor)
115: 10(fvec4) FAdd 114 113
Store 78(gl_FragColor) 115
Return
FunctionEnd

View File

@ -1,27 +1,27 @@
spv.uniformArray.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 53
// Id's are bound by 60
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 14 25 35 47
EntryPoint Fragment 4 "main" 14 25 43 54
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
Name 9 "texColor"
Name 14 "color"
Name 25 "inColor"
Name 35 "alpha"
Name 47 "gl_FragColor"
Name 52 "texSampler2D"
Name 43 "alpha"
Name 54 "gl_FragColor"
Name 59 "texSampler2D"
Decorate 14(color) Location 1
Decorate 25(inColor) Location 0
Decorate 35(alpha) Location 7
Decorate 47(gl_FragColor) Location 0
Decorate 52(texSampler2D) DescriptorSet 0
Decorate 52(texSampler2D) Binding 0
Decorate 43(alpha) Location 7
Decorate 54(gl_FragColor) Location 0
Decorate 59(texSampler2D) DescriptorSet 0
Decorate 59(texSampler2D) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -38,20 +38,23 @@ spv.uniformArray.frag
23: TypeVector 6(float) 3
24: TypePointer Input 23(fvec3)
25(inColor): 24(ptr) Variable Input
32: 10(int) Constant 16
33: TypeArray 6(float) 32
34: TypePointer Input 33
35(alpha): 34(ptr) Variable Input
36: 15(int) Constant 12
37: TypePointer Input 6(float)
40: 10(int) Constant 3
41: TypePointer Function 6(float)
46: TypePointer Output 7(fvec4)
47(gl_FragColor): 46(ptr) Variable Output
49: TypeImage 6(float) 2D sampled format:Unknown
50: TypeSampledImage 49
51: TypePointer UniformConstant 50
52(texSampler2D): 51(ptr) Variable UniformConstant
30: 10(int) Constant 0
31: TypePointer Function 6(float)
34: 10(int) Constant 1
37: 10(int) Constant 2
40: 10(int) Constant 16
41: TypeArray 6(float) 40
42: TypePointer Input 41
43(alpha): 42(ptr) Variable Input
44: 15(int) Constant 12
45: TypePointer Input 6(float)
48: 10(int) Constant 3
53: TypePointer Output 7(fvec4)
54(gl_FragColor): 53(ptr) Variable Output
56: TypeImage 6(float) 2D sampled format:Unknown
57: TypeSampledImage 56
58: TypePointer UniformConstant 57
59(texSampler2D): 58(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(texColor): 8(ptr) Variable Function
@ -65,17 +68,23 @@ spv.uniformArray.frag
27: 7(fvec4) Load 9(texColor)
28: 23(fvec3) VectorShuffle 27 27 0 1 2
29: 23(fvec3) FAdd 28 26
30: 7(fvec4) Load 9(texColor)
31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
Store 9(texColor) 31
38: 37(ptr) AccessChain 35(alpha) 36
39: 6(float) Load 38
42: 41(ptr) AccessChain 9(texColor) 40
43: 6(float) Load 42
44: 6(float) FAdd 43 39
45: 41(ptr) AccessChain 9(texColor) 40
Store 45 44
48: 7(fvec4) Load 9(texColor)
Store 47(gl_FragColor) 48
32: 31(ptr) AccessChain 9(texColor) 30
33: 6(float) CompositeExtract 29 0
Store 32 33
35: 31(ptr) AccessChain 9(texColor) 34
36: 6(float) CompositeExtract 29 1
Store 35 36
38: 31(ptr) AccessChain 9(texColor) 37
39: 6(float) CompositeExtract 29 2
Store 38 39
46: 45(ptr) AccessChain 43(alpha) 44
47: 6(float) Load 46
49: 31(ptr) AccessChain 9(texColor) 48
50: 6(float) Load 49
51: 6(float) FAdd 50 47
52: 31(ptr) AccessChain 9(texColor) 48
Store 52 51
55: 7(fvec4) Load 9(texColor)
Store 54(gl_FragColor) 55
Return
FunctionEnd

View File

@ -1,7 +1,7 @@
spv.vulkan110.int16.frag
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 523
// Id's are bound by 535
Capability Shader
Capability Float16
@ -65,35 +65,35 @@ spv.vulkan110.int16.frag
Name 442 "u64"
Name 445 "u16v4"
Name 457 "bv"
Name 518 "Block"
MemberName 518(Block) 0 "i16"
MemberName 518(Block) 1 "i16v2"
MemberName 518(Block) 2 "i16v3"
MemberName 518(Block) 3 "i16v4"
MemberName 518(Block) 4 "u16"
MemberName 518(Block) 5 "u16v2"
MemberName 518(Block) 6 "u16v3"
MemberName 518(Block) 7 "u16v4"
Name 520 "block"
Name 521 "si16"
Name 522 "su16"
Name 530 "Block"
MemberName 530(Block) 0 "i16"
MemberName 530(Block) 1 "i16v2"
MemberName 530(Block) 2 "i16v3"
MemberName 530(Block) 3 "i16v4"
MemberName 530(Block) 4 "u16"
MemberName 530(Block) 5 "u16v2"
MemberName 530(Block) 6 "u16v3"
MemberName 530(Block) 7 "u16v4"
Name 532 "block"
Name 533 "si16"
Name 534 "su16"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
MemberDecorate 518(Block) 0 Offset 0
MemberDecorate 518(Block) 1 Offset 4
MemberDecorate 518(Block) 2 Offset 8
MemberDecorate 518(Block) 3 Offset 16
MemberDecorate 518(Block) 4 Offset 24
MemberDecorate 518(Block) 5 Offset 28
MemberDecorate 518(Block) 6 Offset 32
MemberDecorate 518(Block) 7 Offset 40
Decorate 518(Block) Block
Decorate 520(block) DescriptorSet 0
Decorate 520(block) Binding 1
Decorate 521(si16) SpecId 100
Decorate 522(su16) SpecId 101
MemberDecorate 530(Block) 0 Offset 0
MemberDecorate 530(Block) 1 Offset 4
MemberDecorate 530(Block) 2 Offset 8
MemberDecorate 530(Block) 3 Offset 16
MemberDecorate 530(Block) 4 Offset 24
MemberDecorate 530(Block) 5 Offset 28
MemberDecorate 530(Block) 6 Offset 32
MemberDecorate 530(Block) 7 Offset 40
Decorate 530(Block) Block
Decorate 532(block) DescriptorSet 0
Decorate 532(block) Binding 1
Decorate 533(si16) SpecId 100
Decorate 534(su16) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 1
@ -185,11 +185,11 @@ spv.vulkan110.int16.frag
443: TypeVector 36(int16_t) 4
444: TypePointer Function 443(i16vec4)
456: TypePointer Function 425(bvec3)
518(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
519: TypePointer Uniform 518(Block)
520(block): 519(ptr) Variable Uniform
521(si16): 14(int16_t) SpecConstant 4294967286
522(su16): 36(int16_t) SpecConstant 20
530(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
531: TypePointer Uniform 530(Block)
532(block): 531(ptr) Variable Uniform
533(si16): 14(int16_t) SpecConstant 4294967286
534(su16): 36(int16_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@ -674,68 +674,86 @@ spv.vulkan110.int16.frag
463: 14(int16_t) Load 346(i16)
464: 52(i16vec2) CompositeConstruct 463 463
465: 174(bvec2) SLessThan 462 464
466: 425(bvec3) Load 457(bv)
467: 425(bvec3) VectorShuffle 466 465 3 4 2
Store 457(bv) 467
468:193(i16vec3) Load 356(u16v)
469: 36(int16_t) Load 358(u16)
470:193(i16vec3) CompositeConstruct 469 469 469
471: 425(bvec3) ULessThanEqual 468 470
Store 457(bv) 471
472: 52(i16vec2) Load 343(i16v)
473: 14(int16_t) Load 346(i16)
474: 52(i16vec2) CompositeConstruct 473 473
475: 174(bvec2) SLessThanEqual 472 474
476: 425(bvec3) Load 457(bv)
477: 425(bvec3) VectorShuffle 476 475 3 4 2
Store 457(bv) 477
478:193(i16vec3) Load 356(u16v)
479: 36(int16_t) Load 358(u16)
480:193(i16vec3) CompositeConstruct 479 479 479
481: 425(bvec3) UGreaterThan 478 480
Store 457(bv) 481
482: 52(i16vec2) Load 343(i16v)
483: 14(int16_t) Load 346(i16)
484: 52(i16vec2) CompositeConstruct 483 483
485: 174(bvec2) SGreaterThan 482 484
486: 425(bvec3) Load 457(bv)
487: 425(bvec3) VectorShuffle 486 485 3 4 2
Store 457(bv) 487
488:193(i16vec3) Load 356(u16v)
489: 36(int16_t) Load 358(u16)
490:193(i16vec3) CompositeConstruct 489 489 489
491: 425(bvec3) UGreaterThanEqual 488 490
Store 457(bv) 491
492: 52(i16vec2) Load 343(i16v)
493: 14(int16_t) Load 346(i16)
494: 52(i16vec2) CompositeConstruct 493 493
495: 174(bvec2) SGreaterThanEqual 492 494
496: 425(bvec3) Load 457(bv)
497: 425(bvec3) VectorShuffle 496 495 3 4 2
466: 280(ptr) AccessChain 457(bv) 282
467: 173(bool) CompositeExtract 465 0
Store 466 467
468: 280(ptr) AccessChain 457(bv) 264
469: 173(bool) CompositeExtract 465 1
Store 468 469
470:193(i16vec3) Load 356(u16v)
471: 36(int16_t) Load 358(u16)
472:193(i16vec3) CompositeConstruct 471 471 471
473: 425(bvec3) ULessThanEqual 470 472
Store 457(bv) 473
474: 52(i16vec2) Load 343(i16v)
475: 14(int16_t) Load 346(i16)
476: 52(i16vec2) CompositeConstruct 475 475
477: 174(bvec2) SLessThanEqual 474 476
478: 280(ptr) AccessChain 457(bv) 282
479: 173(bool) CompositeExtract 477 0
Store 478 479
480: 280(ptr) AccessChain 457(bv) 264
481: 173(bool) CompositeExtract 477 1
Store 480 481
482:193(i16vec3) Load 356(u16v)
483: 36(int16_t) Load 358(u16)
484:193(i16vec3) CompositeConstruct 483 483 483
485: 425(bvec3) UGreaterThan 482 484
Store 457(bv) 485
486: 52(i16vec2) Load 343(i16v)
487: 14(int16_t) Load 346(i16)
488: 52(i16vec2) CompositeConstruct 487 487
489: 174(bvec2) SGreaterThan 486 488
490: 280(ptr) AccessChain 457(bv) 282
491: 173(bool) CompositeExtract 489 0
Store 490 491
492: 280(ptr) AccessChain 457(bv) 264
493: 173(bool) CompositeExtract 489 1
Store 492 493
494:193(i16vec3) Load 356(u16v)
495: 36(int16_t) Load 358(u16)
496:193(i16vec3) CompositeConstruct 495 495 495
497: 425(bvec3) UGreaterThanEqual 494 496
Store 457(bv) 497
498:193(i16vec3) Load 356(u16v)
499: 36(int16_t) Load 358(u16)
500:193(i16vec3) CompositeConstruct 499 499 499
501: 425(bvec3) IEqual 498 500
Store 457(bv) 501
502: 52(i16vec2) Load 343(i16v)
503: 14(int16_t) Load 346(i16)
504: 52(i16vec2) CompositeConstruct 503 503
505: 174(bvec2) IEqual 502 504
506: 425(bvec3) Load 457(bv)
507: 425(bvec3) VectorShuffle 506 505 3 4 2
Store 457(bv) 507
508:193(i16vec3) Load 356(u16v)
509: 36(int16_t) Load 358(u16)
510:193(i16vec3) CompositeConstruct 509 509 509
511: 425(bvec3) INotEqual 508 510
Store 457(bv) 511
512: 52(i16vec2) Load 343(i16v)
513: 14(int16_t) Load 346(i16)
514: 52(i16vec2) CompositeConstruct 513 513
515: 174(bvec2) INotEqual 512 514
516: 425(bvec3) Load 457(bv)
517: 425(bvec3) VectorShuffle 516 515 3 4 2
Store 457(bv) 517
498: 52(i16vec2) Load 343(i16v)
499: 14(int16_t) Load 346(i16)
500: 52(i16vec2) CompositeConstruct 499 499
501: 174(bvec2) SGreaterThanEqual 498 500
502: 280(ptr) AccessChain 457(bv) 282
503: 173(bool) CompositeExtract 501 0
Store 502 503
504: 280(ptr) AccessChain 457(bv) 264
505: 173(bool) CompositeExtract 501 1
Store 504 505
506:193(i16vec3) Load 356(u16v)
507: 36(int16_t) Load 358(u16)
508:193(i16vec3) CompositeConstruct 507 507 507
509: 425(bvec3) IEqual 506 508
Store 457(bv) 509
510: 52(i16vec2) Load 343(i16v)
511: 14(int16_t) Load 346(i16)
512: 52(i16vec2) CompositeConstruct 511 511
513: 174(bvec2) IEqual 510 512
514: 280(ptr) AccessChain 457(bv) 282
515: 173(bool) CompositeExtract 513 0
Store 514 515
516: 280(ptr) AccessChain 457(bv) 264
517: 173(bool) CompositeExtract 513 1
Store 516 517
518:193(i16vec3) Load 356(u16v)
519: 36(int16_t) Load 358(u16)
520:193(i16vec3) CompositeConstruct 519 519 519
521: 425(bvec3) INotEqual 518 520
Store 457(bv) 521
522: 52(i16vec2) Load 343(i16v)
523: 14(int16_t) Load 346(i16)
524: 52(i16vec2) CompositeConstruct 523 523
525: 174(bvec2) INotEqual 522 524
526: 280(ptr) AccessChain 457(bv) 282
527: 173(bool) CompositeExtract 525 0
Store 526 527
528: 280(ptr) AccessChain 457(bv) 264
529: 173(bool) CompositeExtract 525 1
Store 528 529
Return
FunctionEnd