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 %_UniformBuffer "_UniformBuffer" 8 OpMemberName %_UniformBuffer 0 "a" 9 OpMemberName %_UniformBuffer 1 "b" 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 OpMemberDecorate %_UniformBuffer 1 Offset 4 16 OpDecorate %_UniformBuffer Block 17 OpDecorate %7 Binding 0 18 OpDecorate %7 DescriptorSet 0 19 OpDecorate %20 RelaxedPrecision 20 OpDecorate %28 RelaxedPrecision 21 %float = OpTypeFloat 32 22 %v4float = OpTypeVector %float 4 23%_ptr_Output_v4float = OpTypePointer Output %v4float 24%sk_FragColor = OpVariable %_ptr_Output_v4float Output 25 %int = OpTypeInt 32 1 26 %uint = OpTypeInt 32 0 27%_UniformBuffer = OpTypeStruct %int %uint 28%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 29 %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 30 %void = OpTypeVoid 31 %13 = OpTypeFunction %void 32%_ptr_Uniform_int = OpTypePointer Uniform %int 33 %int_0 = OpConstant %int 0 34%_ptr_Output_float = OpTypePointer Output %float 35%_ptr_Uniform_uint = OpTypePointer Uniform %uint 36 %int_1 = OpConstant %int 1 37 %main = OpFunction %void None %13 38 %14 = OpLabel 39 %16 = OpAccessChain %_ptr_Uniform_int %7 %int_0 40 %19 = OpLoad %int %16 41 %15 = OpBitCount %int %19 42 %20 = OpConvertSToF %float %15 43 %21 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 44 OpStore %21 %20 45 %24 = OpAccessChain %_ptr_Uniform_uint %7 %int_1 46 %27 = OpLoad %uint %24 47 %23 = OpBitCount %int %27 48 %28 = OpConvertSToF %float %23 49 %29 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1 50 OpStore %29 %28 51 OpReturn 52 OpFunctionEnd 53