;
; fragment_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 21
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce_block "prevent_dce_block"
               OpName %pow_ce9ef5 "pow_ce9ef5"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce_block Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
       %half = OpTypeFloat 16
%prevent_dce_block = OpTypeStruct %half
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %6 = OpTypeFunction %half
%_ptr_Function_half = OpTypePointer Function %half
%half_0x1p_0 = OpConstant %half 0x1p+0
       %void = OpTypeVoid
         %14 = OpTypeFunction %void
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
 %pow_ce9ef5 = OpFunction %half None %6
          %7 = OpLabel
        %res = OpVariable %_ptr_Function_half Function
               OpStore %res %half_0x1p_0
         %11 = OpLoad %half %res None
               OpReturnValue %11
               OpFunctionEnd
%fragment_main = OpFunction %void None %14
         %15 = OpLabel
         %16 = OpFunctionCall %half %pow_ce9ef5
         %17 = OpAccessChain %_ptr_StorageBuffer_half %1 %uint_0
               OpStore %17 %16 None
               OpReturn
               OpFunctionEnd
;
; compute_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 21
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce_block "prevent_dce_block"
               OpName %pow_ce9ef5 "pow_ce9ef5"
               OpName %res "res"
               OpName %compute_main "compute_main"
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce_block Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
       %half = OpTypeFloat 16
%prevent_dce_block = OpTypeStruct %half
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %6 = OpTypeFunction %half
%_ptr_Function_half = OpTypePointer Function %half
%half_0x1p_0 = OpConstant %half 0x1p+0
       %void = OpTypeVoid
         %14 = OpTypeFunction %void
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
 %pow_ce9ef5 = OpFunction %half None %6
          %7 = OpLabel
        %res = OpVariable %_ptr_Function_half Function
               OpStore %res %half_0x1p_0
         %11 = OpLoad %half %res None
               OpReturnValue %11
               OpFunctionEnd
%compute_main = OpFunction %void None %14
         %15 = OpLabel
         %16 = OpFunctionCall %half %pow_ce9ef5
         %17 = OpAccessChain %_ptr_StorageBuffer_half %1 %uint_0
               OpStore %17 %16 None
               OpReturn
               OpFunctionEnd
;
; vertex_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 41
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpCapability StorageInputOutput16
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output
               OpName %vertex_main_position_Output "vertex_main_position_Output"
               OpName %vertex_main_loc0_Output "vertex_main_loc0_Output"
               OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
               OpName %pow_ce9ef5 "pow_ce9ef5"
               OpName %res "res"
               OpName %vertex_main_inner "vertex_main_inner"
               OpMemberName %VertexOutput 0 "pos"
               OpMemberName %VertexOutput 1 "prevent_dce"
               OpName %VertexOutput "VertexOutput"
               OpName %out "out"
               OpName %vertex_main "vertex_main"
               OpDecorate %vertex_main_position_Output BuiltIn Position
               OpDecorate %vertex_main_loc0_Output Location 0
               OpDecorate %vertex_main_loc0_Output Flat
               OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
               OpMemberDecorate %VertexOutput 0 Offset 0
               OpMemberDecorate %VertexOutput 1 Offset 16
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
       %half = OpTypeFloat 16
%_ptr_Output_half = OpTypePointer Output %half
%vertex_main_loc0_Output = OpVariable %_ptr_Output_half Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %11 = OpTypeFunction %half
%_ptr_Function_half = OpTypePointer Function %half
%half_0x1p_0 = OpConstant %half 0x1p+0
%VertexOutput = OpTypeStruct %v4float %half
         %19 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %23 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
         %28 = OpConstantNull %v4float
     %uint_1 = OpConstant %uint 1
       %void = OpTypeVoid
         %35 = OpTypeFunction %void
    %float_1 = OpConstant %float 1
 %pow_ce9ef5 = OpFunction %half None %11
         %12 = OpLabel
        %res = OpVariable %_ptr_Function_half Function
               OpStore %res %half_0x1p_0
         %16 = OpLoad %half %res None
               OpReturnValue %16
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %19
         %20 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %23
         %24 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %24 %28 None
         %29 = OpAccessChain %_ptr_Function_half %out %uint_1
         %31 = OpFunctionCall %half %pow_ce9ef5
               OpStore %29 %31 None
         %32 = OpLoad %VertexOutput %out None
               OpReturnValue %32
               OpFunctionEnd
%vertex_main = OpFunction %void None %35
         %36 = OpLabel
         %37 = OpFunctionCall %VertexOutput %vertex_main_inner
         %38 = OpCompositeExtract %v4float %37 0
               OpStore %vertex_main_position_Output %38 None
         %39 = OpCompositeExtract %half %37 1
               OpStore %vertex_main_loc0_Output %39 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
