; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 40
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %SB_RW_atomic "SB_RW_atomic"
               OpMemberName %SB_RW_atomic 0 "arg_0"
               OpName %sb_rw "sb_rw"
               OpName %atomicCompareExchangeWeak_1bd40a "atomicCompareExchangeWeak_1bd40a"
               OpName %x__atomic_compare_exchange_resulti32 "x__atomic_compare_exchange_resulti32"
               OpMemberName %x__atomic_compare_exchange_resulti32 0 "old_value"
               OpMemberName %x__atomic_compare_exchange_resulti32 1 "exchanged"
               OpName %res "res"
               OpName %__atomic_compare_exchange_resulti32 "__atomic_compare_exchange_resulti32"
               OpMemberName %__atomic_compare_exchange_resulti32 0 "old_value"
               OpMemberName %__atomic_compare_exchange_resulti32 1 "exchanged"
               OpName %fragment_main_1 "fragment_main_1"
               OpName %fragment_main "fragment_main"
               OpName %compute_main_1 "compute_main_1"
               OpName %compute_main "compute_main"
               OpDecorate %SB_RW_atomic Block
               OpMemberDecorate %SB_RW_atomic 0 Offset 0
               OpDecorate %sb_rw DescriptorSet 0
               OpDecorate %sb_rw Binding 0
               OpMemberDecorate %x__atomic_compare_exchange_resulti32 0 Offset 0
               OpMemberDecorate %x__atomic_compare_exchange_resulti32 1 Offset 4
               OpMemberDecorate %__atomic_compare_exchange_resulti32 0 Offset 0
               OpMemberDecorate %__atomic_compare_exchange_resulti32 1 Offset 4
        %int = OpTypeInt 32 1
%SB_RW_atomic = OpTypeStruct %int
%_ptr_StorageBuffer_SB_RW_atomic = OpTypePointer StorageBuffer %SB_RW_atomic
      %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW_atomic StorageBuffer
       %void = OpTypeVoid
          %5 = OpTypeFunction %void
       %bool = OpTypeBool
%x__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
         %11 = OpConstantNull %x__atomic_compare_exchange_resulti32
%_ptr_Function_x__atomic_compare_exchange_resulti32 = OpTypePointer Function %x__atomic_compare_exchange_resulti32
%__atomic_compare_exchange_resulti32 = OpTypeStruct %int %bool
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
      %int_1 = OpConstant %int 1
%atomicCompareExchangeWeak_1bd40a = OpFunction %void None %5
          %8 = OpLabel
        %res = OpVariable %_ptr_Function_x__atomic_compare_exchange_resulti32 Function %11
               OpStore %res %11
         %21 = OpAccessChain %_ptr_StorageBuffer_int %sb_rw %uint_0
         %23 = OpAtomicCompareExchange %int %21 %uint_1 %uint_0 %uint_0 %int_1 %int_1
         %24 = OpIEqual %bool %23 %int_1
         %14 = OpCompositeConstruct %__atomic_compare_exchange_resulti32 %23 %24
         %25 = OpCompositeExtract %int %14 0
         %26 = OpIEqual %bool %25 %int_1
         %27 = OpCompositeConstruct %x__atomic_compare_exchange_resulti32 %25 %26
               OpStore %res %27
               OpReturn
               OpFunctionEnd
%fragment_main_1 = OpFunction %void None %5
         %29 = OpLabel
         %30 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %5
         %32 = OpLabel
         %33 = OpFunctionCall %void %fragment_main_1
               OpReturn
               OpFunctionEnd
%compute_main_1 = OpFunction %void None %5
         %35 = OpLabel
         %36 = OpFunctionCall %void %atomicCompareExchangeWeak_1bd40a
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %5
         %38 = OpLabel
         %39 = OpFunctionCall %void %compute_main_1
               OpReturn
               OpFunctionEnd
