| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 1 |
| ; Bound: 421 |
| ; Schema: 0 |
| OpCapability Shader |
| %69 = OpExtInstImport "GLSL.std.450" |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Fragment %main "main" %main_loc2_Input %main_loc5_Input %main_loc4_Input %main_loc3_Input %main_loc0_Input %main_loc1_Input %main_loc0_Output |
| OpExecutionMode %main OriginUpperLeft |
| OpMemberName %LeftOver 0 "time" |
| OpMemberName %LeftOver 1 "padding" |
| OpMemberName %LeftOver 2 "worldViewProjection" |
| OpMemberName %LeftOver 3 "outputSize" |
| OpMemberName %LeftOver 4 "stageSize" |
| OpMemberName %LeftOver 5 "spriteMapSize" |
| OpMemberName %LeftOver 6 "stageScale" |
| OpMemberName %LeftOver 7 "spriteCount" |
| OpMemberName %LeftOver 8 "colorMul" |
| OpName %LeftOver "LeftOver" |
| OpMemberName %x_20_block 0 "inner" |
| OpName %x_20_block "x_20_block" |
| OpName %frameMapTexture "frameMapTexture" |
| OpName %frameMapSampler "frameMapSampler" |
| OpName %tUV "tUV" |
| OpName %tileMapsTexture0 "tileMapsTexture0" |
| OpName %tileMapsSampler "tileMapsSampler" |
| OpName %tileMapsTexture1 "tileMapsTexture1" |
| OpName %animationMapTexture "animationMapTexture" |
| OpName %animationMapSampler "animationMapSampler" |
| OpName %mt "mt" |
| OpName %spriteSheetTexture "spriteSheetTexture" |
| OpName %spriteSheetSampler "spriteSheetSampler" |
| OpName %glFragColor "glFragColor" |
| OpName %tileID_1 "tileID_1" |
| OpName %levelUnits "levelUnits" |
| OpName %stageUnits_1 "stageUnits_1" |
| OpName %vPosition "vPosition" |
| OpName %vUV "vUV" |
| OpName %main_loc2_Input "main_loc2_Input" |
| OpName %main_loc5_Input "main_loc5_Input" |
| OpName %main_loc4_Input "main_loc4_Input" |
| OpName %main_loc3_Input "main_loc3_Input" |
| OpName %main_loc0_Input "main_loc0_Input" |
| OpName %main_loc1_Input "main_loc1_Input" |
| OpName %main_loc0_Output "main_loc0_Output" |
| OpName %getFrameData_f1_ "getFrameData_f1_" |
| OpName %frameID_root "frameID_root" |
| OpName %fX "fX" |
| OpName %x_15 "x_15" |
| OpName %x_25 "x_25" |
| OpName %x_37 "x_37" |
| OpName %x_40 "x_40" |
| OpName %x_44 "x_44" |
| OpName %x_47 "x_47" |
| OpName %x_51 "x_51" |
| OpName %x_54 "x_54" |
| OpName %main_1 "main_1" |
| OpName %color "color" |
| OpName %tileUV "tileUV" |
| OpName %tileID "tileID" |
| OpName %sheetUnits "sheetUnits" |
| OpName %spriteUnits "spriteUnits" |
| OpName %stageUnits "stageUnits" |
| OpName %i "i" |
| OpName %frameID_1 "frameID_1" |
| OpName %animationData "animationData" |
| OpName %f "f" |
| OpName %frameData "frameData" |
| OpName %param "param" |
| OpName %frameSize "frameSize" |
| OpName %offset_1 "offset_1" |
| OpName %ratio "ratio" |
| OpName %nc "nc" |
| OpName %alpha "alpha" |
| OpName %mixed "mixed" |
| OpName %x_86 "x_86" |
| OpName %x_91 "x_91" |
| OpName %x_95 "x_95" |
| OpName %x_101 "x_101" |
| OpName %x_106 "x_106" |
| OpName %x_111 "x_111" |
| OpName %x_310 "x_310" |
| OpName %x_311 "x_311" |
| OpName %x_313 "x_313" |
| OpName %x_314 "x_314" |
| OpName %x_318 "x_318" |
| OpName %tint_loop_idx "tint_loop_idx" |
| OpName %x_122 "x_122" |
| OpName %x_126 "x_126" |
| OpName %x_166 "x_166" |
| OpName %x_169 "x_169" |
| OpName %x_172 "x_172" |
| OpName %x_174 "x_174" |
| OpName %x_222 "x_222" |
| OpName %x_225 "x_225" |
| OpName %x_228 "x_228" |
| OpName %x_231 "x_231" |
| OpName %x_235 "x_235" |
| OpName %x_237 "x_237" |
| OpName %x_241 "x_241" |
| OpName %x_244 "x_244" |
| OpName %x_248 "x_248" |
| OpName %x_254 "x_254" |
| OpName %tint_low_inc "tint_low_inc" |
| OpName %tint_carry "tint_carry" |
| OpName %x_304 "x_304" |
| OpName %x_150 "x_150" |
| OpName %x_154 "x_154" |
| OpName %x_156 "x_156" |
| OpName %x_136 "x_136" |
| OpName %x_140 "x_140" |
| OpName %x_142 "x_142" |
| OpName %x_181 "x_181" |
| OpName %x_184 "x_184" |
| OpName %x_252 "x_252" |
| OpName %x_263 "x_263" |
| OpName %x_264 "x_264" |
| OpName %x_266 "x_266" |
| OpName %x_268 "x_268" |
| OpName %x_274 "x_274" |
| OpName %x_275 "x_275" |
| OpName %x_277 "x_277" |
| OpName %x_279 "x_279" |
| OpName %x_283 "x_283" |
| OpName %x_285 "x_285" |
| OpName %x_290 "x_290" |
| OpName %x_292 "x_292" |
| OpName %x_295 "x_295" |
| OpName %x_298 "x_298" |
| OpName %x_299 "x_299" |
| OpName %tint_loop_idx_0 "tint_loop_idx" |
| OpName %x_193 "x_193" |
| OpName %x_197 "x_197" |
| OpName %x_198 "x_198" |
| OpName %x_208 "x_208" |
| OpName %x_211 "x_211" |
| OpName %x_214 "x_214" |
| OpName %x_217 "x_217" |
| OpName %tint_low_inc_1 "tint_low_inc_1" |
| OpName %tint_carry_1 "tint_carry_1" |
| OpName %x_218 "x_218" |
| OpName %x_203 "x_203" |
| OpName %main_inner "main_inner" |
| OpMemberName %main_out 0 "glFragColor_1" |
| OpName %main_out "main_out" |
| OpName %tUV_param "tUV_param" |
| OpName %tileID_1_param "tileID_1_param" |
| OpName %levelUnits_param "levelUnits_param" |
| OpName %stageUnits_1_param "stageUnits_1_param" |
| OpName %vPosition_param "vPosition_param" |
| OpName %vUV_param "vUV_param" |
| OpName %main "main" |
| OpMemberDecorate %LeftOver 0 Offset 0 |
| OpMemberDecorate %LeftOver 1 Offset 4 |
| OpMemberDecorate %LeftOver 2 Offset 16 |
| OpMemberDecorate %LeftOver 2 ColMajor |
| OpMemberDecorate %LeftOver 2 MatrixStride 16 |
| OpMemberDecorate %LeftOver 3 Offset 80 |
| OpMemberDecorate %LeftOver 4 Offset 88 |
| OpMemberDecorate %LeftOver 5 Offset 96 |
| OpMemberDecorate %LeftOver 6 Offset 104 |
| OpMemberDecorate %LeftOver 7 Offset 108 |
| OpMemberDecorate %LeftOver 8 Offset 112 |
| OpMemberDecorate %x_20_block 0 Offset 0 |
| OpDecorate %x_20_block Block |
| OpDecorate %1 DescriptorSet 2 |
| OpDecorate %1 Binding 9 |
| OpDecorate %1 NonWritable |
| OpDecorate %frameMapTexture DescriptorSet 2 |
| OpDecorate %frameMapTexture Binding 3 |
| OpDecorate %frameMapSampler DescriptorSet 2 |
| OpDecorate %frameMapSampler Binding 2 |
| OpDecorate %tileMapsTexture0 DescriptorSet 2 |
| OpDecorate %tileMapsTexture0 Binding 5 |
| OpDecorate %tileMapsSampler DescriptorSet 2 |
| OpDecorate %tileMapsSampler Binding 4 |
| OpDecorate %tileMapsTexture1 DescriptorSet 2 |
| OpDecorate %tileMapsTexture1 Binding 6 |
| OpDecorate %animationMapTexture DescriptorSet 2 |
| OpDecorate %animationMapTexture Binding 8 |
| OpDecorate %animationMapSampler DescriptorSet 2 |
| OpDecorate %animationMapSampler Binding 7 |
| OpDecorate %spriteSheetTexture DescriptorSet 2 |
| OpDecorate %spriteSheetTexture Binding 1 |
| OpDecorate %spriteSheetSampler DescriptorSet 2 |
| OpDecorate %spriteSheetSampler Binding 0 |
| OpDecorate %main_loc2_Input Location 2 |
| OpDecorate %main_loc5_Input Location 5 |
| OpDecorate %main_loc4_Input Location 4 |
| OpDecorate %main_loc3_Input Location 3 |
| OpDecorate %main_loc0_Input Location 0 |
| OpDecorate %main_loc1_Input Location 1 |
| OpDecorate %main_loc0_Output Location 0 |
| %float = OpTypeFloat 32 |
| %uint = OpTypeInt 32 0 |
| %v4float = OpTypeVector %float 4 |
| %mat4v4float = OpTypeMatrix %v4float 4 |
| %v2float = OpTypeVector %float 2 |
| %v3float = OpTypeVector %float 3 |
| %LeftOver = OpTypeStruct %float %uint %mat4v4float %v2float %v2float %v2float %float %float %v3float |
| %x_20_block = OpTypeStruct %LeftOver |
| %_ptr_Uniform_x_20_block = OpTypePointer Uniform %x_20_block |
| %1 = OpVariable %_ptr_Uniform_x_20_block Uniform |
| %13 = OpTypeImage %float 2D 0 0 0 1 Unknown |
| %_ptr_UniformConstant_13 = OpTypePointer UniformConstant %13 |
| %frameMapTexture = OpVariable %_ptr_UniformConstant_13 UniformConstant |
| %16 = OpTypeSampler |
| %_ptr_UniformConstant_16 = OpTypePointer UniformConstant %16 |
| %frameMapSampler = OpVariable %_ptr_UniformConstant_16 UniformConstant |
| %_ptr_Private_v2float = OpTypePointer Private %v2float |
| %19 = OpConstantNull %v2float |
| %tUV = OpVariable %_ptr_Private_v2float Private %19 |
| %tileMapsTexture0 = OpVariable %_ptr_UniformConstant_13 UniformConstant |
| %tileMapsSampler = OpVariable %_ptr_UniformConstant_16 UniformConstant |
| %tileMapsTexture1 = OpVariable %_ptr_UniformConstant_13 UniformConstant |
| %animationMapTexture = OpVariable %_ptr_UniformConstant_13 UniformConstant |
| %animationMapSampler = OpVariable %_ptr_UniformConstant_16 UniformConstant |
| %_ptr_Private_float = OpTypePointer Private %float |
| %27 = OpConstantNull %float |
| %mt = OpVariable %_ptr_Private_float Private %27 |
| %spriteSheetTexture = OpVariable %_ptr_UniformConstant_13 UniformConstant |
| %spriteSheetSampler = OpVariable %_ptr_UniformConstant_16 UniformConstant |
| %_ptr_Private_v4float = OpTypePointer Private %v4float |
| %x_217 = OpConstantNull %v4float |
| %glFragColor = OpVariable %_ptr_Private_v4float Private %x_217 |
| %tileID_1 = OpVariable %_ptr_Private_v2float Private %19 |
| %levelUnits = OpVariable %_ptr_Private_v2float Private %19 |
| %stageUnits_1 = OpVariable %_ptr_Private_v2float Private %19 |
| %_ptr_Private_v3float = OpTypePointer Private %v3float |
| %38 = OpConstantNull %v3float |
| %vPosition = OpVariable %_ptr_Private_v3float Private %38 |
| %vUV = OpVariable %_ptr_Private_v2float Private %19 |
| %_ptr_Input_v2float = OpTypePointer Input %v2float |
| %main_loc2_Input = OpVariable %_ptr_Input_v2float Input |
| %main_loc5_Input = OpVariable %_ptr_Input_v2float Input |
| %main_loc4_Input = OpVariable %_ptr_Input_v2float Input |
| %main_loc3_Input = OpVariable %_ptr_Input_v2float Input |
| %_ptr_Input_v3float = OpTypePointer Input %v3float |
| %main_loc0_Input = OpVariable %_ptr_Input_v3float Input |
| %main_loc1_Input = OpVariable %_ptr_Input_v2float Input |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %main_loc0_Output = OpVariable %_ptr_Output_v4float Output |
| %_ptr_Function_float = OpTypePointer Function %float |
| %53 = OpTypeFunction %mat4v4float %_ptr_Function_float |
| %_ptr_Uniform_float = OpTypePointer Uniform %float |
| %uint_0 = OpConstant %uint 0 |
| %uint_7 = OpConstant %uint 7 |
| %float_0 = OpConstant %float 0 |
| %float_n16 = OpConstant %float -16 |
| %float_15_9899998 = OpConstant %float 15.9899998 |
| %73 = OpTypeSampledImage %13 |
| %float_0_25 = OpConstant %float 0.25 |
| %float_0_5 = OpConstant %float 0.5 |
| %void = OpTypeVoid |
| %109 = OpTypeFunction %void |
| %_ptr_Function_v4float = OpTypePointer Function %v4float |
| %_ptr_Function_v2float = OpTypePointer Function %v2float |
| %int = OpTypeInt 32 1 |
| %_ptr_Function_int = OpTypePointer Function %int |
| %122 = OpConstantNull %int |
| %_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float |
| %128 = OpConstantNull %mat4v4float |
| %_ptr_Function_v3float = OpTypePointer Function %v3float |
| %uint_1 = OpConstant %uint 1 |
| %float_1 = OpConstant %float 1 |
| %_ptr_Uniform_v2float = OpTypePointer Uniform %v2float |
| %uint_5 = OpConstant %uint 5 |
| %152 = OpConstantComposite %v2float %float_1 %float_1 |
| %uint_4 = OpConstant %uint 4 |
| %int_0 = OpConstant %int 0 |
| %_ptr_Uniform_v3float = OpTypePointer Uniform %v3float |
| %uint_8 = OpConstant %uint 8 |
| %v2uint = OpTypeVector %uint 2 |
| %_ptr_Function_v2uint = OpTypePointer Function %v2uint |
| %uint_4294967295 = OpConstant %uint 4294967295 |
| %186 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295 |
| %190 = OpConstantNull %v2uint |
| %bool = OpTypeBool |
| %v2bool = OpTypeVector %bool 2 |
| %int_2 = OpConstant %int 2 |
| %uint_2 = OpConstant %uint 2 |
| %_ptr_Function_uint = OpTypePointer Function %uint |
| %int_1 = OpConstant %int 1 |
| %286 = OpConstantComposite %v2float %float_0_5 %float_0_5 |
| %uint_3 = OpConstant %uint 3 |
| %float_8 = OpConstant %float 8 |
| %main_out = OpTypeStruct %v4float |
| %406 = OpTypeFunction %main_out %v2float %v2float %v2float %v2float %v3float %v2float |
| %getFrameData_f1_ = OpFunction %mat4v4float None %53 |
| %frameID_root = OpFunctionParameter %_ptr_Function_float |
| %54 = OpLabel |
| %fX = OpVariable %_ptr_Function_float Function %27 |
| %x_15 = OpLoad %float %frameID_root None |
| %57 = OpAccessChain %_ptr_Uniform_float %1 %uint_0 %uint_7 |
| %x_25 = OpLoad %float %57 None |
| %62 = OpFDiv %float %x_15 %x_25 |
| OpStore %fX %62 None |
| %x_37 = OpLoad %float %fX None |
| %64 = OpLoad %13 %frameMapTexture None |
| %65 = OpLoad %16 %frameMapSampler None |
| %66 = OpCompositeConstruct %v2float %x_37 %float_0 |
| %68 = OpExtInst %float %69 NClamp %float_0 %float_n16 %float_15_9899998 |
| %72 = OpSampledImage %73 %64 %65 |
| %x_40 = OpImageSampleImplicitLod %v4float %72 %66 Bias %68 |
| %x_44 = OpLoad %float %fX None |
| %76 = OpLoad %13 %frameMapTexture None |
| %77 = OpLoad %16 %frameMapSampler None |
| %78 = OpCompositeConstruct %v2float %x_44 %float_0_25 |
| %80 = OpExtInst %float %69 NClamp %float_0 %float_n16 %float_15_9899998 |
| %81 = OpSampledImage %73 %76 %77 |
| %x_47 = OpImageSampleImplicitLod %v4float %81 %78 Bias %80 |
| %x_51 = OpLoad %float %fX None |
| %84 = OpLoad %13 %frameMapTexture None |
| %85 = OpLoad %16 %frameMapSampler None |
| %86 = OpCompositeConstruct %v2float %x_51 %float_0_5 |
| %88 = OpExtInst %float %69 NClamp %float_0 %float_n16 %float_15_9899998 |
| %89 = OpSampledImage %73 %84 %85 |
| %x_54 = OpImageSampleImplicitLod %v4float %89 %86 Bias %88 |
| %91 = OpCompositeExtract %float %x_40 0 |
| %92 = OpCompositeExtract %float %x_40 1 |
| %93 = OpCompositeExtract %float %x_40 2 |
| %94 = OpCompositeExtract %float %x_40 3 |
| %95 = OpCompositeConstruct %v4float %91 %92 %93 %94 |
| %96 = OpCompositeExtract %float %x_47 0 |
| %97 = OpCompositeExtract %float %x_47 1 |
| %98 = OpCompositeExtract %float %x_47 2 |
| %99 = OpCompositeExtract %float %x_47 3 |
| %100 = OpCompositeConstruct %v4float %96 %97 %98 %99 |
| %101 = OpCompositeExtract %float %x_54 0 |
| %102 = OpCompositeExtract %float %x_54 1 |
| %103 = OpCompositeExtract %float %x_54 2 |
| %104 = OpCompositeExtract %float %x_54 3 |
| %105 = OpCompositeConstruct %v4float %101 %102 %103 %104 |
| %106 = OpCompositeConstruct %mat4v4float %95 %100 %105 %x_217 |
| OpReturnValue %106 |
| OpFunctionEnd |
| %main_1 = OpFunction %void None %109 |
| %110 = OpLabel |
| %color = OpVariable %_ptr_Function_v4float Function %x_217 |
| %tileUV = OpVariable %_ptr_Function_v2float Function %19 |
| %tileID = OpVariable %_ptr_Function_v2float Function %19 |
| %sheetUnits = OpVariable %_ptr_Function_v2float Function %19 |
| %spriteUnits = OpVariable %_ptr_Function_float Function %27 |
| %stageUnits = OpVariable %_ptr_Function_v2float Function %19 |
| %i = OpVariable %_ptr_Function_int Function %122 |
| %frameID_1 = OpVariable %_ptr_Function_float Function %27 |
| %animationData = OpVariable %_ptr_Function_v4float Function %x_217 |
| %f = OpVariable %_ptr_Function_float Function %27 |
| %frameData = OpVariable %_ptr_Function_mat4v4float Function %128 |
| %param = OpVariable %_ptr_Function_float Function %27 |
| %frameSize = OpVariable %_ptr_Function_v2float Function %19 |
| %offset_1 = OpVariable %_ptr_Function_v2float Function %19 |
| %ratio = OpVariable %_ptr_Function_v2float Function %19 |
| %nc = OpVariable %_ptr_Function_v4float Function %x_217 |
| %alpha = OpVariable %_ptr_Function_float Function %27 |
| %mixed = OpVariable %_ptr_Function_v3float Function %38 |
| %tint_loop_idx = OpVariable %_ptr_Function_v2uint Function |
| %tint_loop_idx_0 = OpVariable %_ptr_Function_v2uint Function |
| OpStore %color %x_217 None |
| %x_86 = OpLoad %v2float %tUV None |
| %138 = OpExtInst %v2float %69 Fract %x_86 |
| OpStore %tileUV %138 None |
| %139 = OpAccessChain %_ptr_Function_float %tileUV %uint_1 |
| %x_91 = OpLoad %float %139 None |
| %142 = OpFSub %float %float_1 %x_91 |
| %144 = OpAccessChain %_ptr_Function_float %tileUV %uint_1 |
| OpStore %144 %142 None |
| %x_95 = OpLoad %v2float %tUV None |
| %146 = OpExtInst %v2float %69 Floor %x_95 |
| OpStore %tileID %146 None |
| %147 = OpAccessChain %_ptr_Uniform_v2float %1 %uint_0 %uint_5 |
| %x_101 = OpLoad %v2float %147 None |
| %151 = OpFDiv %v2float %152 %x_101 |
| OpStore %sheetUnits %151 None |
| %153 = OpAccessChain %_ptr_Uniform_float %1 %uint_0 %uint_7 |
| %x_106 = OpLoad %float %153 None |
| %155 = OpFDiv %float %float_1 %x_106 |
| OpStore %spriteUnits %155 None |
| %156 = OpAccessChain %_ptr_Uniform_v2float %1 %uint_0 %uint_4 |
| %x_111 = OpLoad %v2float %156 None |
| %159 = OpFDiv %v2float %152 %x_111 |
| OpStore %stageUnits %159 None |
| OpStore %i %int_0 None |
| OpBranch %161 |
| %161 = OpLabel |
| OpStore %tint_loop_idx %186 |
| OpBranch %164 |
| %164 = OpLabel |
| OpLoopMerge %165 %163 None |
| OpBranch %162 |
| %162 = OpLabel |
| %188 = OpLoad %v2uint %tint_loop_idx None |
| %189 = OpIEqual %v2bool %188 %190 |
| %193 = OpAll %bool %189 |
| OpSelectionMerge %194 None |
| OpBranchConditional %193 %195 %194 |
| %195 = OpLabel |
| OpBranch %165 |
| %194 = OpLabel |
| %x_122 = OpLoad %int %i None |
| %197 = OpSLessThan %bool %x_122 %int_2 |
| OpSelectionMerge %199 None |
| OpBranchConditional %197 %199 %200 |
| %200 = OpLabel |
| OpBranch %165 |
| %199 = OpLabel |
| %x_126 = OpLoad %int %i None |
| OpSelectionMerge %205 None |
| OpSwitch %x_126 %202 1 %203 0 %204 |
| %202 = OpLabel |
| OpBranch %205 |
| %203 = OpLabel |
| %x_150 = OpLoad %v2float %tileID None |
| %281 = OpAccessChain %_ptr_Uniform_v2float %1 %uint_0 %uint_4 |
| %x_154 = OpLoad %v2float %281 None |
| %283 = OpLoad %13 %tileMapsTexture1 None |
| %284 = OpLoad %16 %tileMapsSampler None |
| %285 = OpFAdd %v2float %x_150 %286 |
| %287 = OpFDiv %v2float %285 %x_154 |
| %288 = OpExtInst %float %69 NClamp %float_0 %float_n16 %float_15_9899998 |
| %289 = OpSampledImage %73 %283 %284 |
| %x_156 = OpImageSampleImplicitLod %v4float %289 %287 Bias %288 |
| %291 = OpCompositeExtract %float %x_156 0 |
| OpStore %frameID_1 %291 None |
| OpBranch %205 |
| %204 = OpLabel |
| %x_136 = OpLoad %v2float %tileID None |
| %293 = OpAccessChain %_ptr_Uniform_v2float %1 %uint_0 %uint_4 |
| %x_140 = OpLoad %v2float %293 None |
| %295 = OpLoad %13 %tileMapsTexture0 None |
| %296 = OpLoad %16 %tileMapsSampler None |
| %297 = OpFAdd %v2float %x_136 %286 |
| %298 = OpFDiv %v2float %297 %x_140 |
| %299 = OpExtInst %float %69 NClamp %float_0 %float_n16 %float_15_9899998 |
| %300 = OpSampledImage %73 %295 %296 |
| %x_142 = OpImageSampleImplicitLod %v4float %300 %298 Bias %299 |
| %302 = OpCompositeExtract %float %x_142 0 |
| OpStore %frameID_1 %302 None |
| OpBranch %205 |
| %205 = OpLabel |
| %x_166 = OpLoad %float %frameID_1 None |
| %207 = OpAccessChain %_ptr_Uniform_float %1 %uint_0 %uint_7 |
| %x_169 = OpLoad %float %207 None |
| %209 = OpLoad %13 %animationMapTexture None |
| %210 = OpLoad %16 %animationMapSampler None |
| %211 = OpFAdd %float %x_166 %float_0_5 |
| %212 = OpFDiv %float %211 %x_169 |
| %213 = OpCompositeConstruct %v2float %212 %float_0 |
| %214 = OpExtInst %float %69 NClamp %float_0 %float_n16 %float_15_9899998 |
| %215 = OpSampledImage %73 %209 %210 |
| %x_172 = OpImageSampleImplicitLod %v4float %215 %213 Bias %214 |
| OpStore %animationData %x_172 None |
| %217 = OpAccessChain %_ptr_Function_float %animationData %uint_1 |
| %x_174 = OpLoad %float %217 None |
| %219 = OpFOrdGreaterThan %bool %x_174 %float_0 |
| OpSelectionMerge %220 None |
| OpBranchConditional %219 %221 %220 |
| %221 = OpLabel |
| %303 = OpAccessChain %_ptr_Uniform_float %1 %uint_0 %uint_0 |
| %x_181 = OpLoad %float %303 None |
| %305 = OpAccessChain %_ptr_Function_float %animationData %uint_2 |
| %x_184 = OpLoad %float %305 None |
| %307 = OpFMul %float %x_181 %x_184 |
| %308 = OpFRem %float %307 %float_1 |
| OpStore %mt %308 None |
| OpStore %f %float_0 None |
| OpBranch %309 |
| %309 = OpLabel |
| OpStore %tint_loop_idx_0 %186 |
| OpBranch %312 |
| %312 = OpLabel |
| OpLoopMerge %313 %311 None |
| OpBranch %310 |
| %310 = OpLabel |
| %364 = OpLoad %v2uint %tint_loop_idx_0 None |
| %365 = OpIEqual %v2bool %364 %190 |
| %366 = OpAll %bool %365 |
| OpSelectionMerge %367 None |
| OpBranchConditional %366 %368 %367 |
| %368 = OpLabel |
| OpBranch %313 |
| %367 = OpLabel |
| %x_193 = OpLoad %float %f None |
| %370 = OpFOrdLessThan %bool %x_193 %float_8 |
| OpSelectionMerge %372 None |
| OpBranchConditional %370 %372 %373 |
| %373 = OpLabel |
| OpBranch %313 |
| %372 = OpLabel |
| %374 = OpAccessChain %_ptr_Function_float %animationData %uint_1 |
| %x_197 = OpLoad %float %374 None |
| %x_198 = OpLoad %float %mt None |
| %377 = OpFOrdGreaterThan %bool %x_197 %x_198 |
| OpSelectionMerge %378 None |
| OpBranchConditional %377 %379 %378 |
| %379 = OpLabel |
| %396 = OpAccessChain %_ptr_Function_float %animationData %uint_0 |
| %x_203 = OpLoad %float %396 None |
| OpStore %frameID_1 %x_203 None |
| OpBranch %313 |
| %378 = OpLabel |
| %x_208 = OpLoad %float %frameID_1 None |
| %381 = OpAccessChain %_ptr_Uniform_float %1 %uint_0 %uint_7 |
| %x_211 = OpLoad %float %381 None |
| %x_214 = OpLoad %float %f None |
| OpStore %animationData %x_217 None |
| OpBranch %311 |
| %311 = OpLabel |
| %384 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_0 |
| %385 = OpLoad %uint %384 None |
| %tint_low_inc_1 = OpISub %uint %385 %uint_1 |
| %387 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_0 |
| OpStore %387 %tint_low_inc_1 None |
| %388 = OpIEqual %bool %tint_low_inc_1 %uint_4294967295 |
| %tint_carry_1 = OpSelect %uint %388 %uint_1 %uint_0 |
| %390 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_1 |
| %391 = OpLoad %uint %390 None |
| %392 = OpISub %uint %391 %tint_carry_1 |
| %393 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_1 |
| OpStore %393 %392 None |
| %x_218 = OpLoad %float %f None |
| %395 = OpFAdd %float %x_218 %float_1 |
| OpStore %f %395 None |
| OpBranch %312 |
| %313 = OpLabel |
| OpBranch %220 |
| %220 = OpLabel |
| %x_222 = OpLoad %float %frameID_1 None |
| %223 = OpFAdd %float %x_222 %float_0_5 |
| OpStore %param %223 None |
| %x_225 = OpFunctionCall %mat4v4float %getFrameData_f1_ %param |
| OpStore %frameData %x_225 None |
| %225 = OpAccessChain %_ptr_Function_v4float %frameData %uint_0 |
| %x_228 = OpLoad %v4float %225 None |
| %227 = OpAccessChain %_ptr_Uniform_v2float %1 %uint_0 %uint_5 |
| %x_231 = OpLoad %v2float %227 None |
| %229 = OpCompositeExtract %float %x_228 3 |
| %230 = OpCompositeExtract %float %x_228 2 |
| %231 = OpCompositeConstruct %v2float %229 %230 |
| %232 = OpFDiv %v2float %231 %x_231 |
| OpStore %frameSize %232 None |
| %233 = OpAccessChain %_ptr_Function_v4float %frameData %uint_0 |
| %x_235 = OpLoad %v4float %233 None |
| %x_237 = OpLoad %v2float %sheetUnits None |
| %236 = OpCompositeExtract %float %x_235 0 |
| %237 = OpCompositeExtract %float %x_235 1 |
| %238 = OpCompositeConstruct %v2float %236 %237 |
| %239 = OpFMul %v2float %238 %x_237 |
| OpStore %offset_1 %239 None |
| %240 = OpAccessChain %_ptr_Function_v4float %frameData %uint_2 |
| %x_241 = OpLoad %v4float %240 None |
| %243 = OpAccessChain %_ptr_Function_v4float %frameData %uint_0 |
| %x_244 = OpLoad %v4float %243 None |
| %245 = OpCompositeExtract %float %x_241 0 |
| %246 = OpCompositeExtract %float %x_241 1 |
| %247 = OpCompositeConstruct %v2float %245 %246 |
| %248 = OpCompositeExtract %float %x_244 3 |
| %249 = OpCompositeExtract %float %x_244 2 |
| %250 = OpCompositeConstruct %v2float %248 %249 |
| %251 = OpFDiv %v2float %247 %250 |
| OpStore %ratio %251 None |
| %252 = OpAccessChain %_ptr_Function_v4float %frameData %uint_2 |
| %253 = OpAccessChain %_ptr_Function_float %252 %uint_2 |
| %x_248 = OpLoad %float %253 None |
| %255 = OpFOrdEqual %bool %x_248 %float_1 |
| OpSelectionMerge %256 None |
| OpBranchConditional %255 %257 %256 |
| %257 = OpLabel |
| %x_252 = OpLoad %v2float %tileUV None |
| %315 = OpCompositeExtract %float %x_252 1 |
| %316 = OpCompositeExtract %float %x_252 0 |
| %317 = OpCompositeConstruct %v2float %315 %316 |
| OpStore %tileUV %317 None |
| OpBranch %256 |
| %256 = OpLabel |
| %x_254 = OpLoad %int %i None |
| %259 = OpIEqual %bool %x_254 %int_0 |
| OpSelectionMerge %260 None |
| OpBranchConditional %259 %261 %262 |
| %261 = OpLabel |
| %x_263 = OpLoad %v2float %tileUV None |
| %x_264 = OpLoad %v2float %frameSize None |
| %x_266 = OpLoad %v2float %offset_1 None |
| %321 = OpLoad %13 %spriteSheetTexture None |
| %322 = OpLoad %16 %spriteSheetSampler None |
| %323 = OpFMul %v2float %x_263 %x_264 |
| %324 = OpFAdd %v2float %323 %x_266 |
| %325 = OpSampledImage %73 %321 %322 |
| %x_268 = OpImageSampleImplicitLod %v4float %325 %324 None |
| OpStore %color %x_268 None |
| OpBranch %260 |
| %262 = OpLabel |
| %x_274 = OpLoad %v2float %tileUV None |
| %x_275 = OpLoad %v2float %frameSize None |
| %x_277 = OpLoad %v2float %offset_1 None |
| %330 = OpLoad %13 %spriteSheetTexture None |
| %331 = OpLoad %16 %spriteSheetSampler None |
| %332 = OpFMul %v2float %x_274 %x_275 |
| %333 = OpFAdd %v2float %332 %x_277 |
| %334 = OpSampledImage %73 %330 %331 |
| %x_279 = OpImageSampleImplicitLod %v4float %334 %333 None |
| OpStore %nc %x_279 None |
| %336 = OpAccessChain %_ptr_Function_float %color %uint_3 |
| %x_283 = OpLoad %float %336 None |
| %339 = OpAccessChain %_ptr_Function_float %nc %uint_3 |
| %x_285 = OpLoad %float %339 None |
| %341 = OpFAdd %float %x_283 %x_285 |
| %342 = OpExtInst %float %69 NMin %341 %float_1 |
| OpStore %alpha %342 None |
| %x_290 = OpLoad %v4float %color None |
| %x_292 = OpLoad %v4float %nc None |
| %345 = OpAccessChain %_ptr_Function_float %nc %uint_3 |
| %x_295 = OpLoad %float %345 None |
| %347 = OpCompositeExtract %float %x_290 0 |
| %348 = OpCompositeExtract %float %x_290 1 |
| %349 = OpCompositeExtract %float %x_290 2 |
| %350 = OpCompositeConstruct %v3float %347 %348 %349 |
| %351 = OpCompositeExtract %float %x_292 0 |
| %352 = OpCompositeExtract %float %x_292 1 |
| %353 = OpCompositeExtract %float %x_292 2 |
| %354 = OpCompositeConstruct %v3float %351 %352 %353 |
| %355 = OpCompositeConstruct %v3float %x_295 %x_295 %x_295 |
| %356 = OpExtInst %v3float %69 FMix %350 %354 %355 |
| OpStore %mixed %356 None |
| %x_298 = OpLoad %v3float %mixed None |
| %x_299 = OpLoad %float %alpha None |
| %359 = OpCompositeExtract %float %x_298 0 |
| %360 = OpCompositeExtract %float %x_298 1 |
| %361 = OpCompositeExtract %float %x_298 2 |
| %362 = OpCompositeConstruct %v4float %359 %360 %361 %x_299 |
| OpStore %color %362 None |
| OpBranch %260 |
| %260 = OpLabel |
| OpBranch %163 |
| %163 = OpLabel |
| %263 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0 |
| %265 = OpLoad %uint %263 None |
| %tint_low_inc = OpISub %uint %265 %uint_1 |
| %267 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0 |
| OpStore %267 %tint_low_inc None |
| %268 = OpIEqual %bool %tint_low_inc %uint_4294967295 |
| %tint_carry = OpSelect %uint %268 %uint_1 %uint_0 |
| %270 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1 |
| %271 = OpLoad %uint %270 None |
| %272 = OpISub %uint %271 %tint_carry |
| %273 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1 |
| OpStore %273 %272 None |
| %x_304 = OpLoad %int %i None |
| %275 = OpBitcast %uint %x_304 |
| %276 = OpBitcast %uint %int_1 |
| %278 = OpIAdd %uint %275 %276 |
| %279 = OpBitcast %int %278 |
| OpStore %i %279 None |
| OpBranch %164 |
| %165 = OpLabel |
| %166 = OpAccessChain %_ptr_Uniform_v3float %1 %uint_0 %uint_8 |
| %x_310 = OpLoad %v3float %166 None |
| %x_311 = OpLoad %v4float %color None |
| %171 = OpCompositeExtract %float %x_311 0 |
| %172 = OpCompositeExtract %float %x_311 1 |
| %173 = OpCompositeExtract %float %x_311 2 |
| %174 = OpCompositeConstruct %v3float %171 %172 %173 |
| %x_313 = OpFMul %v3float %174 %x_310 |
| %x_314 = OpLoad %v4float %color None |
| %177 = OpCompositeExtract %float %x_313 0 |
| %178 = OpCompositeExtract %float %x_313 1 |
| %179 = OpCompositeExtract %float %x_313 2 |
| %180 = OpCompositeExtract %float %x_314 3 |
| %181 = OpCompositeConstruct %v4float %177 %178 %179 %180 |
| OpStore %color %181 None |
| %x_318 = OpLoad %v4float %color None |
| OpStore %glFragColor %x_318 None |
| OpReturn |
| OpFunctionEnd |
| %main_inner = OpFunction %main_out None %406 |
| %tUV_param = OpFunctionParameter %v2float |
| %tileID_1_param = OpFunctionParameter %v2float |
| %levelUnits_param = OpFunctionParameter %v2float |
| %stageUnits_1_param = OpFunctionParameter %v2float |
| %vPosition_param = OpFunctionParameter %v3float |
| %vUV_param = OpFunctionParameter %v2float |
| %407 = OpLabel |
| OpStore %tUV %tUV_param None |
| OpStore %tileID_1 %tileID_1_param None |
| OpStore %levelUnits %levelUnits_param None |
| OpStore %stageUnits_1 %stageUnits_1_param None |
| OpStore %vPosition %vPosition_param None |
| OpStore %vUV %vUV_param None |
| %408 = OpFunctionCall %void %main_1 |
| %409 = OpLoad %v4float %glFragColor None |
| %410 = OpCompositeConstruct %main_out %409 |
| OpReturnValue %410 |
| OpFunctionEnd |
| %main = OpFunction %void None %109 |
| %412 = OpLabel |
| %413 = OpLoad %v2float %main_loc2_Input None |
| %414 = OpLoad %v2float %main_loc5_Input None |
| %415 = OpLoad %v2float %main_loc4_Input None |
| %416 = OpLoad %v2float %main_loc3_Input None |
| %417 = OpLoad %v3float %main_loc0_Input None |
| %418 = OpLoad %v2float %main_loc1_Input None |
| %419 = OpFunctionCall %main_out %main_inner %413 %414 %415 %416 %417 %418 |
| %420 = OpCompositeExtract %v4float %419 0 |
| OpStore %main_loc0_Output %420 None |
| OpReturn |
| OpFunctionEnd |