708 lines
28 KiB
Plaintext
708 lines
28 KiB
Plaintext
#!amber
|
|
|
|
# Copyright 2022 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
|
|
# A test for a coverage-gap found by the GraphicsFuzz project.
|
|
|
|
# Short description: A fragment shader that covers specific LLVM code paths
|
|
|
|
# The test passes because the shader always writes red.
|
|
|
|
SHADER vertex variant_vertex_shader PASSTHROUGH
|
|
|
|
# variant_fragment_shader is derived from the following GLSL:
|
|
# #version 320 es
|
|
# #define _int_1 _GLF_uniform_int_values[0]
|
|
# #define _int_2 _GLF_uniform_int_values[1]
|
|
# #define _int_0 _GLF_uniform_int_values[2]
|
|
#
|
|
# precision highp float;
|
|
# precision highp int;
|
|
#
|
|
# // Contents of _GLF_uniform_int_values: [1, 2, 0]
|
|
# layout(set = 0, binding = 0) uniform buf0
|
|
# {
|
|
# int _GLF_uniform_int_values[3];
|
|
# };
|
|
#
|
|
# layout(location = 0) out vec4 _GLF_color;
|
|
#
|
|
# void func()
|
|
# {
|
|
# int a = -86465;
|
|
#
|
|
# for(int i = 0; i < 3; i++)
|
|
# {
|
|
# // Always clamps the index to one and selects value two.
|
|
# if(int[256](_int_1, _int_2, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1)[clamp(a, 1, 255)] == _int_2)
|
|
# {
|
|
# _GLF_color = vec4(1, 0, 0, 1);
|
|
# }
|
|
#
|
|
# a++;
|
|
# }
|
|
# }
|
|
#
|
|
# void main()
|
|
# {
|
|
# _GLF_color = vec4(_int_0);
|
|
# func();
|
|
# }
|
|
SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
|
|
; SPIR-V
|
|
; Version: 1.0
|
|
; Generator: Khronos Glslang Reference Front End; 10
|
|
; Bound: 575
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Fragment %4 "main" %561
|
|
OpExecutionMode %4 OriginUpperLeft
|
|
OpSource ESSL 320
|
|
OpName %4 "main"
|
|
OpName %6 "func("
|
|
OpName %10 "a"
|
|
OpName %12 "i"
|
|
OpName %26 "buf0"
|
|
OpMemberName %26 0 "_GLF_uniform_int_values"
|
|
OpName %28 ""
|
|
OpName %550 "indexable"
|
|
OpName %561 "_GLF_color"
|
|
OpDecorate %25 ArrayStride 16
|
|
OpMemberDecorate %26 0 Offset 0
|
|
OpDecorate %26 Block
|
|
OpDecorate %28 DescriptorSet 0
|
|
OpDecorate %28 Binding 0
|
|
OpDecorate %561 Location 0
|
|
%2 = OpTypeVoid
|
|
%3 = OpTypeFunction %2
|
|
%8 = OpTypeInt 32 1
|
|
%9 = OpTypePointer Function %8
|
|
%11 = OpConstant %8 -86465
|
|
%13 = OpConstant %8 0
|
|
%20 = OpConstant %8 3
|
|
%21 = OpTypeBool
|
|
%23 = OpTypeInt 32 0
|
|
%24 = OpConstant %23 3
|
|
%25 = OpTypeArray %8 %24
|
|
%26 = OpTypeStruct %25
|
|
%27 = OpTypePointer Uniform %26
|
|
%28 = OpVariable %27 Uniform
|
|
%29 = OpTypePointer Uniform %8
|
|
%32 = OpConstant %8 1
|
|
%543 = OpConstant %23 256
|
|
%544 = OpTypeArray %8 %543
|
|
%547 = OpConstant %8 255
|
|
%549 = OpTypePointer Function %544
|
|
%558 = OpTypeFloat 32
|
|
%559 = OpTypeVector %558 4
|
|
%560 = OpTypePointer Output %559
|
|
%561 = OpVariable %560 Output
|
|
%562 = OpConstant %558 1
|
|
%563 = OpConstant %558 0
|
|
%564 = OpConstantComposite %559 %562 %563 %563 %562
|
|
%569 = OpConstant %8 2
|
|
%4 = OpFunction %2 None %3
|
|
%5 = OpLabel
|
|
%570 = OpAccessChain %29 %28 %13 %569
|
|
%571 = OpLoad %8 %570
|
|
%572 = OpConvertSToF %558 %571
|
|
%573 = OpCompositeConstruct %559 %572 %572 %572 %572
|
|
OpStore %561 %573
|
|
%574 = OpFunctionCall %2 %6
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%6 = OpFunction %2 None %3
|
|
%7 = OpLabel
|
|
%10 = OpVariable %9 Function
|
|
%12 = OpVariable %9 Function
|
|
%550 = OpVariable %549 Function
|
|
OpStore %10 %11
|
|
OpStore %12 %13
|
|
OpBranch %14
|
|
%14 = OpLabel
|
|
OpLoopMerge %16 %17 None
|
|
OpBranch %18
|
|
%18 = OpLabel
|
|
%19 = OpLoad %8 %12
|
|
%22 = OpSLessThan %21 %19 %20
|
|
OpBranchConditional %22 %15 %16
|
|
%15 = OpLabel
|
|
%30 = OpAccessChain %29 %28 %13 %13
|
|
%31 = OpLoad %8 %30
|
|
%33 = OpAccessChain %29 %28 %13 %32
|
|
%34 = OpLoad %8 %33
|
|
%35 = OpAccessChain %29 %28 %13 %13
|
|
%36 = OpLoad %8 %35
|
|
%37 = OpAccessChain %29 %28 %13 %13
|
|
%38 = OpLoad %8 %37
|
|
%39 = OpAccessChain %29 %28 %13 %13
|
|
%40 = OpLoad %8 %39
|
|
%41 = OpAccessChain %29 %28 %13 %13
|
|
%42 = OpLoad %8 %41
|
|
%43 = OpAccessChain %29 %28 %13 %13
|
|
%44 = OpLoad %8 %43
|
|
%45 = OpAccessChain %29 %28 %13 %13
|
|
%46 = OpLoad %8 %45
|
|
%47 = OpAccessChain %29 %28 %13 %13
|
|
%48 = OpLoad %8 %47
|
|
%49 = OpAccessChain %29 %28 %13 %13
|
|
%50 = OpLoad %8 %49
|
|
%51 = OpAccessChain %29 %28 %13 %13
|
|
%52 = OpLoad %8 %51
|
|
%53 = OpAccessChain %29 %28 %13 %13
|
|
%54 = OpLoad %8 %53
|
|
%55 = OpAccessChain %29 %28 %13 %13
|
|
%56 = OpLoad %8 %55
|
|
%57 = OpAccessChain %29 %28 %13 %13
|
|
%58 = OpLoad %8 %57
|
|
%59 = OpAccessChain %29 %28 %13 %13
|
|
%60 = OpLoad %8 %59
|
|
%61 = OpAccessChain %29 %28 %13 %13
|
|
%62 = OpLoad %8 %61
|
|
%63 = OpAccessChain %29 %28 %13 %13
|
|
%64 = OpLoad %8 %63
|
|
%65 = OpAccessChain %29 %28 %13 %13
|
|
%66 = OpLoad %8 %65
|
|
%67 = OpAccessChain %29 %28 %13 %13
|
|
%68 = OpLoad %8 %67
|
|
%69 = OpAccessChain %29 %28 %13 %13
|
|
%70 = OpLoad %8 %69
|
|
%71 = OpAccessChain %29 %28 %13 %13
|
|
%72 = OpLoad %8 %71
|
|
%73 = OpAccessChain %29 %28 %13 %13
|
|
%74 = OpLoad %8 %73
|
|
%75 = OpAccessChain %29 %28 %13 %13
|
|
%76 = OpLoad %8 %75
|
|
%77 = OpAccessChain %29 %28 %13 %13
|
|
%78 = OpLoad %8 %77
|
|
%79 = OpAccessChain %29 %28 %13 %13
|
|
%80 = OpLoad %8 %79
|
|
%81 = OpAccessChain %29 %28 %13 %13
|
|
%82 = OpLoad %8 %81
|
|
%83 = OpAccessChain %29 %28 %13 %13
|
|
%84 = OpLoad %8 %83
|
|
%85 = OpAccessChain %29 %28 %13 %13
|
|
%86 = OpLoad %8 %85
|
|
%87 = OpAccessChain %29 %28 %13 %13
|
|
%88 = OpLoad %8 %87
|
|
%89 = OpAccessChain %29 %28 %13 %13
|
|
%90 = OpLoad %8 %89
|
|
%91 = OpAccessChain %29 %28 %13 %13
|
|
%92 = OpLoad %8 %91
|
|
%93 = OpAccessChain %29 %28 %13 %13
|
|
%94 = OpLoad %8 %93
|
|
%95 = OpAccessChain %29 %28 %13 %13
|
|
%96 = OpLoad %8 %95
|
|
%97 = OpAccessChain %29 %28 %13 %13
|
|
%98 = OpLoad %8 %97
|
|
%99 = OpAccessChain %29 %28 %13 %13
|
|
%100 = OpLoad %8 %99
|
|
%101 = OpAccessChain %29 %28 %13 %13
|
|
%102 = OpLoad %8 %101
|
|
%103 = OpAccessChain %29 %28 %13 %13
|
|
%104 = OpLoad %8 %103
|
|
%105 = OpAccessChain %29 %28 %13 %13
|
|
%106 = OpLoad %8 %105
|
|
%107 = OpAccessChain %29 %28 %13 %13
|
|
%108 = OpLoad %8 %107
|
|
%109 = OpAccessChain %29 %28 %13 %13
|
|
%110 = OpLoad %8 %109
|
|
%111 = OpAccessChain %29 %28 %13 %13
|
|
%112 = OpLoad %8 %111
|
|
%113 = OpAccessChain %29 %28 %13 %13
|
|
%114 = OpLoad %8 %113
|
|
%115 = OpAccessChain %29 %28 %13 %13
|
|
%116 = OpLoad %8 %115
|
|
%117 = OpAccessChain %29 %28 %13 %13
|
|
%118 = OpLoad %8 %117
|
|
%119 = OpAccessChain %29 %28 %13 %13
|
|
%120 = OpLoad %8 %119
|
|
%121 = OpAccessChain %29 %28 %13 %13
|
|
%122 = OpLoad %8 %121
|
|
%123 = OpAccessChain %29 %28 %13 %13
|
|
%124 = OpLoad %8 %123
|
|
%125 = OpAccessChain %29 %28 %13 %13
|
|
%126 = OpLoad %8 %125
|
|
%127 = OpAccessChain %29 %28 %13 %13
|
|
%128 = OpLoad %8 %127
|
|
%129 = OpAccessChain %29 %28 %13 %13
|
|
%130 = OpLoad %8 %129
|
|
%131 = OpAccessChain %29 %28 %13 %13
|
|
%132 = OpLoad %8 %131
|
|
%133 = OpAccessChain %29 %28 %13 %13
|
|
%134 = OpLoad %8 %133
|
|
%135 = OpAccessChain %29 %28 %13 %13
|
|
%136 = OpLoad %8 %135
|
|
%137 = OpAccessChain %29 %28 %13 %13
|
|
%138 = OpLoad %8 %137
|
|
%139 = OpAccessChain %29 %28 %13 %13
|
|
%140 = OpLoad %8 %139
|
|
%141 = OpAccessChain %29 %28 %13 %13
|
|
%142 = OpLoad %8 %141
|
|
%143 = OpAccessChain %29 %28 %13 %13
|
|
%144 = OpLoad %8 %143
|
|
%145 = OpAccessChain %29 %28 %13 %13
|
|
%146 = OpLoad %8 %145
|
|
%147 = OpAccessChain %29 %28 %13 %13
|
|
%148 = OpLoad %8 %147
|
|
%149 = OpAccessChain %29 %28 %13 %13
|
|
%150 = OpLoad %8 %149
|
|
%151 = OpAccessChain %29 %28 %13 %13
|
|
%152 = OpLoad %8 %151
|
|
%153 = OpAccessChain %29 %28 %13 %13
|
|
%154 = OpLoad %8 %153
|
|
%155 = OpAccessChain %29 %28 %13 %13
|
|
%156 = OpLoad %8 %155
|
|
%157 = OpAccessChain %29 %28 %13 %13
|
|
%158 = OpLoad %8 %157
|
|
%159 = OpAccessChain %29 %28 %13 %13
|
|
%160 = OpLoad %8 %159
|
|
%161 = OpAccessChain %29 %28 %13 %13
|
|
%162 = OpLoad %8 %161
|
|
%163 = OpAccessChain %29 %28 %13 %13
|
|
%164 = OpLoad %8 %163
|
|
%165 = OpAccessChain %29 %28 %13 %13
|
|
%166 = OpLoad %8 %165
|
|
%167 = OpAccessChain %29 %28 %13 %13
|
|
%168 = OpLoad %8 %167
|
|
%169 = OpAccessChain %29 %28 %13 %13
|
|
%170 = OpLoad %8 %169
|
|
%171 = OpAccessChain %29 %28 %13 %13
|
|
%172 = OpLoad %8 %171
|
|
%173 = OpAccessChain %29 %28 %13 %13
|
|
%174 = OpLoad %8 %173
|
|
%175 = OpAccessChain %29 %28 %13 %13
|
|
%176 = OpLoad %8 %175
|
|
%177 = OpAccessChain %29 %28 %13 %13
|
|
%178 = OpLoad %8 %177
|
|
%179 = OpAccessChain %29 %28 %13 %13
|
|
%180 = OpLoad %8 %179
|
|
%181 = OpAccessChain %29 %28 %13 %13
|
|
%182 = OpLoad %8 %181
|
|
%183 = OpAccessChain %29 %28 %13 %13
|
|
%184 = OpLoad %8 %183
|
|
%185 = OpAccessChain %29 %28 %13 %13
|
|
%186 = OpLoad %8 %185
|
|
%187 = OpAccessChain %29 %28 %13 %13
|
|
%188 = OpLoad %8 %187
|
|
%189 = OpAccessChain %29 %28 %13 %13
|
|
%190 = OpLoad %8 %189
|
|
%191 = OpAccessChain %29 %28 %13 %13
|
|
%192 = OpLoad %8 %191
|
|
%193 = OpAccessChain %29 %28 %13 %13
|
|
%194 = OpLoad %8 %193
|
|
%195 = OpAccessChain %29 %28 %13 %13
|
|
%196 = OpLoad %8 %195
|
|
%197 = OpAccessChain %29 %28 %13 %13
|
|
%198 = OpLoad %8 %197
|
|
%199 = OpAccessChain %29 %28 %13 %13
|
|
%200 = OpLoad %8 %199
|
|
%201 = OpAccessChain %29 %28 %13 %13
|
|
%202 = OpLoad %8 %201
|
|
%203 = OpAccessChain %29 %28 %13 %13
|
|
%204 = OpLoad %8 %203
|
|
%205 = OpAccessChain %29 %28 %13 %13
|
|
%206 = OpLoad %8 %205
|
|
%207 = OpAccessChain %29 %28 %13 %13
|
|
%208 = OpLoad %8 %207
|
|
%209 = OpAccessChain %29 %28 %13 %13
|
|
%210 = OpLoad %8 %209
|
|
%211 = OpAccessChain %29 %28 %13 %13
|
|
%212 = OpLoad %8 %211
|
|
%213 = OpAccessChain %29 %28 %13 %13
|
|
%214 = OpLoad %8 %213
|
|
%215 = OpAccessChain %29 %28 %13 %13
|
|
%216 = OpLoad %8 %215
|
|
%217 = OpAccessChain %29 %28 %13 %13
|
|
%218 = OpLoad %8 %217
|
|
%219 = OpAccessChain %29 %28 %13 %13
|
|
%220 = OpLoad %8 %219
|
|
%221 = OpAccessChain %29 %28 %13 %13
|
|
%222 = OpLoad %8 %221
|
|
%223 = OpAccessChain %29 %28 %13 %13
|
|
%224 = OpLoad %8 %223
|
|
%225 = OpAccessChain %29 %28 %13 %13
|
|
%226 = OpLoad %8 %225
|
|
%227 = OpAccessChain %29 %28 %13 %13
|
|
%228 = OpLoad %8 %227
|
|
%229 = OpAccessChain %29 %28 %13 %13
|
|
%230 = OpLoad %8 %229
|
|
%231 = OpAccessChain %29 %28 %13 %13
|
|
%232 = OpLoad %8 %231
|
|
%233 = OpAccessChain %29 %28 %13 %13
|
|
%234 = OpLoad %8 %233
|
|
%235 = OpAccessChain %29 %28 %13 %13
|
|
%236 = OpLoad %8 %235
|
|
%237 = OpAccessChain %29 %28 %13 %13
|
|
%238 = OpLoad %8 %237
|
|
%239 = OpAccessChain %29 %28 %13 %13
|
|
%240 = OpLoad %8 %239
|
|
%241 = OpAccessChain %29 %28 %13 %13
|
|
%242 = OpLoad %8 %241
|
|
%243 = OpAccessChain %29 %28 %13 %13
|
|
%244 = OpLoad %8 %243
|
|
%245 = OpAccessChain %29 %28 %13 %13
|
|
%246 = OpLoad %8 %245
|
|
%247 = OpAccessChain %29 %28 %13 %13
|
|
%248 = OpLoad %8 %247
|
|
%249 = OpAccessChain %29 %28 %13 %13
|
|
%250 = OpLoad %8 %249
|
|
%251 = OpAccessChain %29 %28 %13 %13
|
|
%252 = OpLoad %8 %251
|
|
%253 = OpAccessChain %29 %28 %13 %13
|
|
%254 = OpLoad %8 %253
|
|
%255 = OpAccessChain %29 %28 %13 %13
|
|
%256 = OpLoad %8 %255
|
|
%257 = OpAccessChain %29 %28 %13 %13
|
|
%258 = OpLoad %8 %257
|
|
%259 = OpAccessChain %29 %28 %13 %13
|
|
%260 = OpLoad %8 %259
|
|
%261 = OpAccessChain %29 %28 %13 %13
|
|
%262 = OpLoad %8 %261
|
|
%263 = OpAccessChain %29 %28 %13 %13
|
|
%264 = OpLoad %8 %263
|
|
%265 = OpAccessChain %29 %28 %13 %13
|
|
%266 = OpLoad %8 %265
|
|
%267 = OpAccessChain %29 %28 %13 %13
|
|
%268 = OpLoad %8 %267
|
|
%269 = OpAccessChain %29 %28 %13 %13
|
|
%270 = OpLoad %8 %269
|
|
%271 = OpAccessChain %29 %28 %13 %13
|
|
%272 = OpLoad %8 %271
|
|
%273 = OpAccessChain %29 %28 %13 %13
|
|
%274 = OpLoad %8 %273
|
|
%275 = OpAccessChain %29 %28 %13 %13
|
|
%276 = OpLoad %8 %275
|
|
%277 = OpAccessChain %29 %28 %13 %13
|
|
%278 = OpLoad %8 %277
|
|
%279 = OpAccessChain %29 %28 %13 %13
|
|
%280 = OpLoad %8 %279
|
|
%281 = OpAccessChain %29 %28 %13 %13
|
|
%282 = OpLoad %8 %281
|
|
%283 = OpAccessChain %29 %28 %13 %13
|
|
%284 = OpLoad %8 %283
|
|
%285 = OpAccessChain %29 %28 %13 %13
|
|
%286 = OpLoad %8 %285
|
|
%287 = OpAccessChain %29 %28 %13 %13
|
|
%288 = OpLoad %8 %287
|
|
%289 = OpAccessChain %29 %28 %13 %13
|
|
%290 = OpLoad %8 %289
|
|
%291 = OpAccessChain %29 %28 %13 %13
|
|
%292 = OpLoad %8 %291
|
|
%293 = OpAccessChain %29 %28 %13 %13
|
|
%294 = OpLoad %8 %293
|
|
%295 = OpAccessChain %29 %28 %13 %13
|
|
%296 = OpLoad %8 %295
|
|
%297 = OpAccessChain %29 %28 %13 %13
|
|
%298 = OpLoad %8 %297
|
|
%299 = OpAccessChain %29 %28 %13 %13
|
|
%300 = OpLoad %8 %299
|
|
%301 = OpAccessChain %29 %28 %13 %13
|
|
%302 = OpLoad %8 %301
|
|
%303 = OpAccessChain %29 %28 %13 %13
|
|
%304 = OpLoad %8 %303
|
|
%305 = OpAccessChain %29 %28 %13 %13
|
|
%306 = OpLoad %8 %305
|
|
%307 = OpAccessChain %29 %28 %13 %13
|
|
%308 = OpLoad %8 %307
|
|
%309 = OpAccessChain %29 %28 %13 %13
|
|
%310 = OpLoad %8 %309
|
|
%311 = OpAccessChain %29 %28 %13 %13
|
|
%312 = OpLoad %8 %311
|
|
%313 = OpAccessChain %29 %28 %13 %13
|
|
%314 = OpLoad %8 %313
|
|
%315 = OpAccessChain %29 %28 %13 %13
|
|
%316 = OpLoad %8 %315
|
|
%317 = OpAccessChain %29 %28 %13 %13
|
|
%318 = OpLoad %8 %317
|
|
%319 = OpAccessChain %29 %28 %13 %13
|
|
%320 = OpLoad %8 %319
|
|
%321 = OpAccessChain %29 %28 %13 %13
|
|
%322 = OpLoad %8 %321
|
|
%323 = OpAccessChain %29 %28 %13 %13
|
|
%324 = OpLoad %8 %323
|
|
%325 = OpAccessChain %29 %28 %13 %13
|
|
%326 = OpLoad %8 %325
|
|
%327 = OpAccessChain %29 %28 %13 %13
|
|
%328 = OpLoad %8 %327
|
|
%329 = OpAccessChain %29 %28 %13 %13
|
|
%330 = OpLoad %8 %329
|
|
%331 = OpAccessChain %29 %28 %13 %13
|
|
%332 = OpLoad %8 %331
|
|
%333 = OpAccessChain %29 %28 %13 %13
|
|
%334 = OpLoad %8 %333
|
|
%335 = OpAccessChain %29 %28 %13 %13
|
|
%336 = OpLoad %8 %335
|
|
%337 = OpAccessChain %29 %28 %13 %13
|
|
%338 = OpLoad %8 %337
|
|
%339 = OpAccessChain %29 %28 %13 %13
|
|
%340 = OpLoad %8 %339
|
|
%341 = OpAccessChain %29 %28 %13 %13
|
|
%342 = OpLoad %8 %341
|
|
%343 = OpAccessChain %29 %28 %13 %13
|
|
%344 = OpLoad %8 %343
|
|
%345 = OpAccessChain %29 %28 %13 %13
|
|
%346 = OpLoad %8 %345
|
|
%347 = OpAccessChain %29 %28 %13 %13
|
|
%348 = OpLoad %8 %347
|
|
%349 = OpAccessChain %29 %28 %13 %13
|
|
%350 = OpLoad %8 %349
|
|
%351 = OpAccessChain %29 %28 %13 %13
|
|
%352 = OpLoad %8 %351
|
|
%353 = OpAccessChain %29 %28 %13 %13
|
|
%354 = OpLoad %8 %353
|
|
%355 = OpAccessChain %29 %28 %13 %13
|
|
%356 = OpLoad %8 %355
|
|
%357 = OpAccessChain %29 %28 %13 %13
|
|
%358 = OpLoad %8 %357
|
|
%359 = OpAccessChain %29 %28 %13 %13
|
|
%360 = OpLoad %8 %359
|
|
%361 = OpAccessChain %29 %28 %13 %13
|
|
%362 = OpLoad %8 %361
|
|
%363 = OpAccessChain %29 %28 %13 %13
|
|
%364 = OpLoad %8 %363
|
|
%365 = OpAccessChain %29 %28 %13 %13
|
|
%366 = OpLoad %8 %365
|
|
%367 = OpAccessChain %29 %28 %13 %13
|
|
%368 = OpLoad %8 %367
|
|
%369 = OpAccessChain %29 %28 %13 %13
|
|
%370 = OpLoad %8 %369
|
|
%371 = OpAccessChain %29 %28 %13 %13
|
|
%372 = OpLoad %8 %371
|
|
%373 = OpAccessChain %29 %28 %13 %13
|
|
%374 = OpLoad %8 %373
|
|
%375 = OpAccessChain %29 %28 %13 %13
|
|
%376 = OpLoad %8 %375
|
|
%377 = OpAccessChain %29 %28 %13 %13
|
|
%378 = OpLoad %8 %377
|
|
%379 = OpAccessChain %29 %28 %13 %13
|
|
%380 = OpLoad %8 %379
|
|
%381 = OpAccessChain %29 %28 %13 %13
|
|
%382 = OpLoad %8 %381
|
|
%383 = OpAccessChain %29 %28 %13 %13
|
|
%384 = OpLoad %8 %383
|
|
%385 = OpAccessChain %29 %28 %13 %13
|
|
%386 = OpLoad %8 %385
|
|
%387 = OpAccessChain %29 %28 %13 %13
|
|
%388 = OpLoad %8 %387
|
|
%389 = OpAccessChain %29 %28 %13 %13
|
|
%390 = OpLoad %8 %389
|
|
%391 = OpAccessChain %29 %28 %13 %13
|
|
%392 = OpLoad %8 %391
|
|
%393 = OpAccessChain %29 %28 %13 %13
|
|
%394 = OpLoad %8 %393
|
|
%395 = OpAccessChain %29 %28 %13 %13
|
|
%396 = OpLoad %8 %395
|
|
%397 = OpAccessChain %29 %28 %13 %13
|
|
%398 = OpLoad %8 %397
|
|
%399 = OpAccessChain %29 %28 %13 %13
|
|
%400 = OpLoad %8 %399
|
|
%401 = OpAccessChain %29 %28 %13 %13
|
|
%402 = OpLoad %8 %401
|
|
%403 = OpAccessChain %29 %28 %13 %13
|
|
%404 = OpLoad %8 %403
|
|
%405 = OpAccessChain %29 %28 %13 %13
|
|
%406 = OpLoad %8 %405
|
|
%407 = OpAccessChain %29 %28 %13 %13
|
|
%408 = OpLoad %8 %407
|
|
%409 = OpAccessChain %29 %28 %13 %13
|
|
%410 = OpLoad %8 %409
|
|
%411 = OpAccessChain %29 %28 %13 %13
|
|
%412 = OpLoad %8 %411
|
|
%413 = OpAccessChain %29 %28 %13 %13
|
|
%414 = OpLoad %8 %413
|
|
%415 = OpAccessChain %29 %28 %13 %13
|
|
%416 = OpLoad %8 %415
|
|
%417 = OpAccessChain %29 %28 %13 %13
|
|
%418 = OpLoad %8 %417
|
|
%419 = OpAccessChain %29 %28 %13 %13
|
|
%420 = OpLoad %8 %419
|
|
%421 = OpAccessChain %29 %28 %13 %13
|
|
%422 = OpLoad %8 %421
|
|
%423 = OpAccessChain %29 %28 %13 %13
|
|
%424 = OpLoad %8 %423
|
|
%425 = OpAccessChain %29 %28 %13 %13
|
|
%426 = OpLoad %8 %425
|
|
%427 = OpAccessChain %29 %28 %13 %13
|
|
%428 = OpLoad %8 %427
|
|
%429 = OpAccessChain %29 %28 %13 %13
|
|
%430 = OpLoad %8 %429
|
|
%431 = OpAccessChain %29 %28 %13 %13
|
|
%432 = OpLoad %8 %431
|
|
%433 = OpAccessChain %29 %28 %13 %13
|
|
%434 = OpLoad %8 %433
|
|
%435 = OpAccessChain %29 %28 %13 %13
|
|
%436 = OpLoad %8 %435
|
|
%437 = OpAccessChain %29 %28 %13 %13
|
|
%438 = OpLoad %8 %437
|
|
%439 = OpAccessChain %29 %28 %13 %13
|
|
%440 = OpLoad %8 %439
|
|
%441 = OpAccessChain %29 %28 %13 %13
|
|
%442 = OpLoad %8 %441
|
|
%443 = OpAccessChain %29 %28 %13 %13
|
|
%444 = OpLoad %8 %443
|
|
%445 = OpAccessChain %29 %28 %13 %13
|
|
%446 = OpLoad %8 %445
|
|
%447 = OpAccessChain %29 %28 %13 %13
|
|
%448 = OpLoad %8 %447
|
|
%449 = OpAccessChain %29 %28 %13 %13
|
|
%450 = OpLoad %8 %449
|
|
%451 = OpAccessChain %29 %28 %13 %13
|
|
%452 = OpLoad %8 %451
|
|
%453 = OpAccessChain %29 %28 %13 %13
|
|
%454 = OpLoad %8 %453
|
|
%455 = OpAccessChain %29 %28 %13 %13
|
|
%456 = OpLoad %8 %455
|
|
%457 = OpAccessChain %29 %28 %13 %13
|
|
%458 = OpLoad %8 %457
|
|
%459 = OpAccessChain %29 %28 %13 %13
|
|
%460 = OpLoad %8 %459
|
|
%461 = OpAccessChain %29 %28 %13 %13
|
|
%462 = OpLoad %8 %461
|
|
%463 = OpAccessChain %29 %28 %13 %13
|
|
%464 = OpLoad %8 %463
|
|
%465 = OpAccessChain %29 %28 %13 %13
|
|
%466 = OpLoad %8 %465
|
|
%467 = OpAccessChain %29 %28 %13 %13
|
|
%468 = OpLoad %8 %467
|
|
%469 = OpAccessChain %29 %28 %13 %13
|
|
%470 = OpLoad %8 %469
|
|
%471 = OpAccessChain %29 %28 %13 %13
|
|
%472 = OpLoad %8 %471
|
|
%473 = OpAccessChain %29 %28 %13 %13
|
|
%474 = OpLoad %8 %473
|
|
%475 = OpAccessChain %29 %28 %13 %13
|
|
%476 = OpLoad %8 %475
|
|
%477 = OpAccessChain %29 %28 %13 %13
|
|
%478 = OpLoad %8 %477
|
|
%479 = OpAccessChain %29 %28 %13 %13
|
|
%480 = OpLoad %8 %479
|
|
%481 = OpAccessChain %29 %28 %13 %13
|
|
%482 = OpLoad %8 %481
|
|
%483 = OpAccessChain %29 %28 %13 %13
|
|
%484 = OpLoad %8 %483
|
|
%485 = OpAccessChain %29 %28 %13 %13
|
|
%486 = OpLoad %8 %485
|
|
%487 = OpAccessChain %29 %28 %13 %13
|
|
%488 = OpLoad %8 %487
|
|
%489 = OpAccessChain %29 %28 %13 %13
|
|
%490 = OpLoad %8 %489
|
|
%491 = OpAccessChain %29 %28 %13 %13
|
|
%492 = OpLoad %8 %491
|
|
%493 = OpAccessChain %29 %28 %13 %13
|
|
%494 = OpLoad %8 %493
|
|
%495 = OpAccessChain %29 %28 %13 %13
|
|
%496 = OpLoad %8 %495
|
|
%497 = OpAccessChain %29 %28 %13 %13
|
|
%498 = OpLoad %8 %497
|
|
%499 = OpAccessChain %29 %28 %13 %13
|
|
%500 = OpLoad %8 %499
|
|
%501 = OpAccessChain %29 %28 %13 %13
|
|
%502 = OpLoad %8 %501
|
|
%503 = OpAccessChain %29 %28 %13 %13
|
|
%504 = OpLoad %8 %503
|
|
%505 = OpAccessChain %29 %28 %13 %13
|
|
%506 = OpLoad %8 %505
|
|
%507 = OpAccessChain %29 %28 %13 %13
|
|
%508 = OpLoad %8 %507
|
|
%509 = OpAccessChain %29 %28 %13 %13
|
|
%510 = OpLoad %8 %509
|
|
%511 = OpAccessChain %29 %28 %13 %13
|
|
%512 = OpLoad %8 %511
|
|
%513 = OpAccessChain %29 %28 %13 %13
|
|
%514 = OpLoad %8 %513
|
|
%515 = OpAccessChain %29 %28 %13 %13
|
|
%516 = OpLoad %8 %515
|
|
%517 = OpAccessChain %29 %28 %13 %13
|
|
%518 = OpLoad %8 %517
|
|
%519 = OpAccessChain %29 %28 %13 %13
|
|
%520 = OpLoad %8 %519
|
|
%521 = OpAccessChain %29 %28 %13 %13
|
|
%522 = OpLoad %8 %521
|
|
%523 = OpAccessChain %29 %28 %13 %13
|
|
%524 = OpLoad %8 %523
|
|
%525 = OpAccessChain %29 %28 %13 %13
|
|
%526 = OpLoad %8 %525
|
|
%527 = OpAccessChain %29 %28 %13 %13
|
|
%528 = OpLoad %8 %527
|
|
%529 = OpAccessChain %29 %28 %13 %13
|
|
%530 = OpLoad %8 %529
|
|
%531 = OpAccessChain %29 %28 %13 %13
|
|
%532 = OpLoad %8 %531
|
|
%533 = OpAccessChain %29 %28 %13 %13
|
|
%534 = OpLoad %8 %533
|
|
%535 = OpAccessChain %29 %28 %13 %13
|
|
%536 = OpLoad %8 %535
|
|
%537 = OpAccessChain %29 %28 %13 %13
|
|
%538 = OpLoad %8 %537
|
|
%539 = OpAccessChain %29 %28 %13 %13
|
|
%540 = OpLoad %8 %539
|
|
%541 = OpAccessChain %29 %28 %13 %13
|
|
%542 = OpLoad %8 %541
|
|
%545 = OpCompositeConstruct %544 %31 %34 %36 %38 %40 %42 %44 %46 %48 %50 %52 %54 %56 %58 %60 %62 %64 %66 %68 %70 %72 %74 %76 %78 %80 %82 %84 %86 %88 %90 %92 %94 %96 %98 %100 %102 %104 %106 %108 %110 %112 %114 %116 %118 %120 %122 %124 %126 %128 %130 %132 %134 %136 %138 %140 %142 %144 %146 %148 %150 %152 %154 %156 %158 %160 %162 %164 %166 %168 %170 %172 %174 %176 %178 %180 %182 %184 %186 %188 %190 %192 %194 %196 %198 %200 %202 %204 %206 %208 %210 %212 %214 %216 %218 %220 %222 %224 %226 %228 %230 %232 %234 %236 %238 %240 %242 %244 %246 %248 %250 %252 %254 %256 %258 %260 %262 %264 %266 %268 %270 %272 %274 %276 %278 %280 %282 %284 %286 %288 %290 %292 %294 %296 %298 %300 %302 %304 %306 %308 %310 %312 %314 %316 %318 %320 %322 %324 %326 %328 %330 %332 %334 %336 %338 %340 %342 %344 %346 %348 %350 %352 %354 %356 %358 %360 %362 %364 %366 %368 %370 %372 %374 %376 %378 %380 %382 %384 %386 %388 %390 %392 %394 %396 %398 %400 %402 %404 %406 %408 %410 %412 %414 %416 %418 %420 %422 %424 %426 %428 %430 %432 %434 %436 %438 %440 %442 %444 %446 %448 %450 %452 %454 %456 %458 %460 %462 %464 %466 %468 %470 %472 %474 %476 %478 %480 %482 %484 %486 %488 %490 %492 %494 %496 %498 %500 %502 %504 %506 %508 %510 %512 %514 %516 %518 %520 %522 %524 %526 %528 %530 %532 %534 %536 %538 %540 %542
|
|
%546 = OpLoad %8 %10
|
|
%548 = OpExtInst %8 %1 SClamp %546 %32 %547
|
|
OpStore %550 %545
|
|
%551 = OpAccessChain %9 %550 %548
|
|
%552 = OpLoad %8 %551
|
|
%553 = OpAccessChain %29 %28 %13 %32
|
|
%554 = OpLoad %8 %553
|
|
%555 = OpIEqual %21 %552 %554
|
|
OpSelectionMerge %557 None
|
|
OpBranchConditional %555 %556 %557
|
|
%556 = OpLabel
|
|
OpStore %561 %564
|
|
OpBranch %557
|
|
%557 = OpLabel
|
|
%565 = OpLoad %8 %10
|
|
%566 = OpIAdd %8 %565 %32
|
|
OpStore %10 %566
|
|
OpBranch %17
|
|
%17 = OpLabel
|
|
%567 = OpLoad %8 %12
|
|
%568 = OpIAdd %8 %567 %32
|
|
OpStore %12 %568
|
|
OpBranch %14
|
|
%16 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd
|
|
END
|
|
|
|
# uniforms for variant
|
|
|
|
# _GLF_uniform_int_values
|
|
BUFFER variant__GLF_uniform_int_values DATA_TYPE int32[] STD140 DATA
|
|
1 2 0
|
|
END
|
|
|
|
BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
|
|
|
|
PIPELINE graphics variant_pipeline
|
|
ATTACH variant_vertex_shader
|
|
ATTACH variant_fragment_shader
|
|
FRAMEBUFFER_SIZE 32 32
|
|
BIND BUFFER variant_framebuffer AS color LOCATION 0
|
|
BIND BUFFER variant__GLF_uniform_int_values AS uniform DESCRIPTOR_SET 0 BINDING 0
|
|
END
|
|
CLEAR_COLOR variant_pipeline 0 0 0 255
|
|
|
|
CLEAR variant_pipeline
|
|
RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 32 32
|
|
|
|
EXPECT variant_framebuffer IDX 0 0 SIZE 32 32 EQ_RGBA 255 0 0 255
|