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 OpName %main "main" 10 OpDecorate %sk_FragColor RelaxedPrecision 11 OpDecorate %sk_FragColor Location 0 12 OpDecorate %sk_FragColor Index 0 13 OpMemberDecorate %_UniformBuffer 0 Offset 0 14 OpDecorate %_UniformBuffer Block 15 OpDecorate %7 Binding 0 16 OpDecorate %7 DescriptorSet 0 17 OpDecorate %21 RelaxedPrecision 18 OpDecorate %22 RelaxedPrecision 19 OpDecorate %26 RelaxedPrecision 20 OpDecorate %27 RelaxedPrecision 21 OpDecorate %31 RelaxedPrecision 22 OpDecorate %32 RelaxedPrecision 23 %float = OpTypeFloat 32 24 %v4float = OpTypeVector %float 4 25%_ptr_Output_v4float = OpTypePointer Output %v4float 26%sk_FragColor = OpVariable %_ptr_Output_v4float Output 27 %uint = OpTypeInt 32 0 28%_UniformBuffer = OpTypeStruct %uint 29%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 30 %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 31 %void = OpTypeVoid 32 %12 = OpTypeFunction %void 33%_ptr_Uniform_uint = OpTypePointer Uniform %uint 34 %int = OpTypeInt 32 1 35 %int_0 = OpConstant %int 0 36 %v2float = OpTypeVector %float 2 37 %main = OpFunction %void None %12 38 %13 = OpLabel 39 %15 = OpAccessChain %_ptr_Uniform_uint %7 %int_0 40 %19 = OpLoad %uint %15 41 %14 = OpExtInst %v2float %1 UnpackHalf2x16 %19 42 %21 = OpLoad %v4float %sk_FragColor 43 %22 = OpVectorShuffle %v4float %21 %14 4 5 2 3 44 OpStore %sk_FragColor %22 45 %24 = OpAccessChain %_ptr_Uniform_uint %7 %int_0 46 %25 = OpLoad %uint %24 47 %23 = OpExtInst %v2float %1 UnpackUnorm2x16 %25 48 %26 = OpLoad %v4float %sk_FragColor 49 %27 = OpVectorShuffle %v4float %26 %23 4 5 2 3 50 OpStore %sk_FragColor %27 51 %29 = OpAccessChain %_ptr_Uniform_uint %7 %int_0 52 %30 = OpLoad %uint %29 53 %28 = OpExtInst %v2float %1 UnpackSnorm2x16 %30 54 %31 = OpLoad %v4float %sk_FragColor 55 %32 = OpVectorShuffle %v4float %31 %28 4 5 2 3 56 OpStore %sk_FragColor %32 57 %34 = OpAccessChain %_ptr_Uniform_uint %7 %int_0 58 %35 = OpLoad %uint %34 59 %33 = OpExtInst %v4float %1 UnpackUnorm4x8 %35 60 OpStore %sk_FragColor %33 61 %37 = OpAccessChain %_ptr_Uniform_uint %7 %int_0 62 %38 = OpLoad %uint %37 63 %36 = OpExtInst %v4float %1 UnpackSnorm4x8 %38 64 OpStore %sk_FragColor %36 65 OpReturn 66 OpFunctionEnd 67