; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 58
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %value "value"
               OpName %vertex_point_size "vertex_point_size"
               OpName %prevent_dce_block "prevent_dce_block"
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce "prevent_dce"
               OpName %select_830dd9 "select_830dd9"
               OpName %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %arg_2 "arg_2"
               OpName %res "res"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %value BuiltIn Position
               OpDecorate %vertex_point_size BuiltIn PointSize
               OpDecorate %prevent_dce_block Block
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce DescriptorSet 2
               OpDecorate %prevent_dce Binding 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
       %half = OpTypeFloat 16
     %v4half = OpTypeVector %half 4
%prevent_dce_block = OpTypeStruct %v4half
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
%prevent_dce = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
       %void = OpTypeVoid
         %14 = OpTypeFunction %void
%half_0x1p_0 = OpConstant %half 0x1p+0
         %19 = OpConstantComposite %v4half %half_0x1p_0 %half_0x1p_0 %half_0x1p_0 %half_0x1p_0
%_ptr_Function_v4half = OpTypePointer Function %v4half
         %22 = OpConstantNull %v4half
       %bool = OpTypeBool
       %true = OpConstantTrue %bool
%_ptr_Function_bool = OpTypePointer Function %bool
         %28 = OpConstantNull %bool
     %v4bool = OpTypeVector %bool 4
%_ptr_Function_v4bool = OpTypePointer Function %v4bool
         %36 = OpConstantNull %v4bool
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_v4half = OpTypePointer StorageBuffer %v4half
         %44 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%select_830dd9 = OpFunction %void None %14
         %17 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v4half Function %22
      %arg_1 = OpVariable %_ptr_Function_v4half Function %22
      %arg_2 = OpVariable %_ptr_Function_bool Function %28
         %34 = OpVariable %_ptr_Function_v4bool Function %36
        %res = OpVariable %_ptr_Function_v4half Function %22
               OpStore %arg_0 %19
               OpStore %arg_1 %19
               OpStore %arg_2 %true
         %30 = OpLoad %bool %arg_2
         %31 = OpLoad %v4half %arg_1
         %32 = OpLoad %v4half %arg_0
         %37 = OpCompositeConstruct %v4bool %30 %30 %30 %30
         %29 = OpSelect %v4half %37 %31 %32
               OpStore %res %29
         %42 = OpAccessChain %_ptr_StorageBuffer_v4half %prevent_dce %uint_0
         %43 = OpLoad %v4half %res
               OpStore %42 %43
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %44
         %46 = OpLabel
         %47 = OpFunctionCall %void %select_830dd9
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %14
         %49 = OpLabel
         %50 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %50
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %14
         %53 = OpLabel
         %54 = OpFunctionCall %void %select_830dd9
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %14
         %56 = OpLabel
         %57 = OpFunctionCall %void %select_830dd9
               OpReturn
               OpFunctionEnd
