; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 27
; 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
               OpMemberName %SB_RW 0 "arg_0"
               OpName %SB_RW "SB_RW"
               OpMemberName %sb_rw_block 0 "inner"
               OpName %sb_rw_block "sb_rw_block"
               OpName %atomicCompareExchangeWeak_63d8e6 "atomicCompareExchangeWeak_63d8e6"
               OpMemberName %__atomic_compare_exchange_result_u32 0 "old_value"
               OpMemberName %__atomic_compare_exchange_result_u32 1 "exchanged"
               OpName %__atomic_compare_exchange_result_u32 "__atomic_compare_exchange_result_u32"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpMemberDecorate %SB_RW 0 Offset 0
               OpMemberDecorate %sb_rw_block 0 Offset 0
               OpDecorate %sb_rw_block Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
               OpMemberDecorate %__atomic_compare_exchange_result_u32 0 Offset 0
               OpMemberDecorate %__atomic_compare_exchange_result_u32 1 Offset 4
       %uint = OpTypeInt 32 0
      %SB_RW = OpTypeStruct %uint
%sb_rw_block = OpTypeStruct %SB_RW
%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
          %1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
       %void = OpTypeVoid
          %8 = OpTypeFunction %void
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
     %uint_0 = OpConstant %uint 0
     %uint_1 = OpConstant %uint 1
       %bool = OpTypeBool
%__atomic_compare_exchange_result_u32 = OpTypeStruct %uint %bool
%_ptr_Function___atomic_compare_exchange_result_u32 = OpTypePointer Function %__atomic_compare_exchange_result_u32
%atomicCompareExchangeWeak_63d8e6 = OpFunction %void None %8
          %9 = OpLabel
        %res = OpVariable %_ptr_Function___atomic_compare_exchange_result_u32 Function
         %10 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_0
         %13 = OpAtomicCompareExchange %uint %10 %uint_1 %uint_0 %uint_0 %uint_1 %uint_1
         %15 = OpIEqual %bool %13 %uint_1
         %18 = OpCompositeConstruct %__atomic_compare_exchange_result_u32 %13 %15
               OpStore %res %18
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %8
         %22 = OpLabel
         %23 = OpFunctionCall %void %atomicCompareExchangeWeak_63d8e6
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %8
         %25 = OpLabel
         %26 = OpFunctionCall %void %atomicCompareExchangeWeak_63d8e6
               OpReturn
               OpFunctionEnd
