1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %main "main" %sk_FragColor 5 OpExecutionMode %main OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %b "b" 8 OpName %_UniformBuffer "_UniformBuffer" 9 OpMemberName %_UniformBuffer 0 "a" 10 OpName %main "main" 11 OpDecorate %sk_FragColor RelaxedPrecision 12 OpDecorate %sk_FragColor Location 0 13 OpDecorate %sk_FragColor Index 0 14 OpMemberDecorate %_UniformBuffer 0 Offset 0 15 OpDecorate %_UniformBuffer Block 16 OpDecorate %10 Binding 0 17 OpDecorate %10 DescriptorSet 0 18 %float = OpTypeFloat 32 19 %v4float = OpTypeVector %float 4 20%_ptr_Output_v4float = OpTypePointer Output %v4float 21%sk_FragColor = OpVariable %_ptr_Output_v4float Output 22 %int = OpTypeInt 32 1 23%_ptr_Private_int = OpTypePointer Private %int 24 %b = OpVariable %_ptr_Private_int Private 25%_UniformBuffer = OpTypeStruct %float 26%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 27 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 28 %void = OpTypeVoid 29 %14 = OpTypeFunction %void 30%_ptr_Uniform_float = OpTypePointer Uniform %float 31 %int_0 = OpConstant %int 0 32%_ptr_Output_float = OpTypePointer Output %float 33 %main = OpFunction %void None %14 34 %15 = OpLabel 35 %17 = OpAccessChain %_ptr_Uniform_float %10 %int_0 36 %20 = OpLoad %float %17 37 %21 = OpLoad %int %b 38 %16 = OpExtInst %float %1 Ldexp %20 %21 39 %22 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 40 OpStore %22 %16 41 OpReturn 42 OpFunctionEnd 43