blob: 8f969b2cbcf53899601fbba283a189a25da3d3f7 [file] [log] [blame]
;
; fragment_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 26
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %fragment_main "fragment_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpMemberName %SB_RW_atomic 0 "arg_0"
OpName %SB_RW_atomic "SB_RW_atomic"
OpMemberName %sb_rw_block 0 "inner"
OpName %sb_rw_block "sb_rw_block"
OpName %atomicMin_8e38dc "atomicMin_8e38dc"
OpName %res "res"
OpName %x_9 "x_9"
OpName %fragment_main_1 "fragment_main_1"
OpName %fragment_main "fragment_main"
OpMemberDecorate %SB_RW_atomic 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
%int = OpTypeInt 32 1
%SB_RW_atomic = OpTypeStruct %int
%sb_rw_block = OpTypeStruct %SB_RW_atomic
%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
%1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
%void = OpTypeVoid
%8 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%int_1 = OpConstant %int 1
%atomicMin_8e38dc = OpFunction %void None %8
%9 = OpLabel
%res = OpVariable %_ptr_Function_int Function
OpStore %res %int_0
%13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
%x_9 = OpAtomicSMin %int %13 %uint_1 %uint_0 %int_1
OpStore %res %x_9 None
OpReturn
OpFunctionEnd
%fragment_main_1 = OpFunction %void None %8
%21 = OpLabel
%22 = OpFunctionCall %void %atomicMin_8e38dc
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %8
%24 = OpLabel
%25 = OpFunctionCall %void %fragment_main_1
OpReturn
OpFunctionEnd
;
; compute_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 26
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %compute_main LocalSize 1 1 1
OpMemberName %SB_RW_atomic 0 "arg_0"
OpName %SB_RW_atomic "SB_RW_atomic"
OpMemberName %sb_rw_block 0 "inner"
OpName %sb_rw_block "sb_rw_block"
OpName %atomicMin_8e38dc "atomicMin_8e38dc"
OpName %res "res"
OpName %x_9 "x_9"
OpName %compute_main_1 "compute_main_1"
OpName %compute_main "compute_main"
OpMemberDecorate %SB_RW_atomic 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
%int = OpTypeInt 32 1
%SB_RW_atomic = OpTypeStruct %int
%sb_rw_block = OpTypeStruct %SB_RW_atomic
%_ptr_StorageBuffer_sb_rw_block = OpTypePointer StorageBuffer %sb_rw_block
%1 = OpVariable %_ptr_StorageBuffer_sb_rw_block StorageBuffer
%void = OpTypeVoid
%8 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%int_1 = OpConstant %int 1
%atomicMin_8e38dc = OpFunction %void None %8
%9 = OpLabel
%res = OpVariable %_ptr_Function_int Function
OpStore %res %int_0
%13 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
%x_9 = OpAtomicSMin %int %13 %uint_1 %uint_0 %int_1
OpStore %res %x_9 None
OpReturn
OpFunctionEnd
%compute_main_1 = OpFunction %void None %8
%21 = OpLabel
%22 = OpFunctionCall %void %atomicMin_8e38dc
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
%24 = OpLabel
%25 = OpFunctionCall %void %compute_main_1
OpReturn
OpFunctionEnd