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 0 RelaxedPrecision 16 OpMemberDecorate %_UniformBuffer 1 Offset 16 17 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 18 OpDecorate %_UniformBuffer Block 19 OpDecorate %7 Binding 0 20 OpDecorate %7 DescriptorSet 0 21 OpDecorate %19 RelaxedPrecision 22 OpDecorate %21 RelaxedPrecision 23 OpDecorate %26 RelaxedPrecision 24 OpDecorate %27 RelaxedPrecision 25 OpDecorate %31 RelaxedPrecision 26 OpDecorate %32 RelaxedPrecision 27 OpDecorate %38 RelaxedPrecision 28 OpDecorate %39 RelaxedPrecision 29 OpDecorate %43 RelaxedPrecision 30 OpDecorate %44 RelaxedPrecision 31 %float = OpTypeFloat 32 32 %v4float = OpTypeVector %float 4 33%_ptr_Output_v4float = OpTypePointer Output %v4float 34%sk_FragColor = OpVariable %_ptr_Output_v4float Output 35 %v2float = OpTypeVector %float 2 36%_UniformBuffer = OpTypeStruct %v2float %v4float 37%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 38 %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 39 %void = OpTypeVoid 40 %12 = OpTypeFunction %void 41%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float 42 %int = OpTypeInt 32 1 43 %int_0 = OpConstant %int 0 44 %uint = OpTypeInt 32 0 45%_ptr_Output_float = OpTypePointer Output %float 46%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 47 %int_1 = OpConstant %int 1 48 %main = OpFunction %void None %12 49 %13 = OpLabel 50 %15 = OpAccessChain %_ptr_Uniform_v2float %7 %int_0 51 %19 = OpLoad %v2float %15 52 %14 = OpExtInst %uint %1 PackHalf2x16 %19 53 %21 = OpConvertUToF %float %14 54 %22 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 55 OpStore %22 %21 56 %25 = OpAccessChain %_ptr_Uniform_v2float %7 %int_0 57 %26 = OpLoad %v2float %25 58 %24 = OpExtInst %uint %1 PackUnorm2x16 %26 59 %27 = OpConvertUToF %float %24 60 %28 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 61 OpStore %28 %27 62 %30 = OpAccessChain %_ptr_Uniform_v2float %7 %int_0 63 %31 = OpLoad %v2float %30 64 %29 = OpExtInst %uint %1 PackSnorm2x16 %31 65 %32 = OpConvertUToF %float %29 66 %33 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 67 OpStore %33 %32 68 %35 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 69 %38 = OpLoad %v4float %35 70 %34 = OpExtInst %uint %1 PackUnorm4x8 %38 71 %39 = OpConvertUToF %float %34 72 %40 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 73 OpStore %40 %39 74 %42 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 75 %43 = OpLoad %v4float %42 76 %41 = OpExtInst %uint %1 PackSnorm4x8 %43 77 %44 = OpConvertUToF %float %41 78 %45 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 79 OpStore %45 %44 80 OpReturn 81 OpFunctionEnd 82