blob: 7b460e1761586d65db761ea933de50d480ad6b8d [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 34
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %f "f" %f_global_invocation_id_Input
OpExecutionMode %f LocalSize 1 1 1
OpName %f_global_invocation_id_Input "f_global_invocation_id_Input"
OpName %f_inner "f_inner"
OpName %v "v"
OpName %l "l"
OpName %tint_mod_u32 "tint_mod_u32"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %f "f"
OpDecorate %f_global_invocation_id_Input BuiltIn GlobalInvocationId
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%f_global_invocation_id_Input = OpVariable %_ptr_Input_v3uint Input
%void = OpTypeVoid
%8 = OpTypeFunction %void %v3uint
%uint_1 = OpConstant %uint 1
%uint_31 = OpConstant %uint 31
%20 = OpTypeFunction %uint %uint %uint
%uint_0 = OpConstant %uint 0
%bool = OpTypeBool
%30 = OpTypeFunction %void
%f_inner = OpFunction %void None %8
%v = OpFunctionParameter %v3uint
%9 = OpLabel
%10 = OpCompositeExtract %uint %v 0
%11 = OpCompositeExtract %uint %v 1
%12 = OpFunctionCall %uint %tint_mod_u32 %11 %uint_1
%15 = OpBitwiseAnd %uint %12 %uint_31
%l = OpShiftLeftLogical %uint %10 %15
OpReturn
OpFunctionEnd
%tint_mod_u32 = OpFunction %uint None %20
%lhs = OpFunctionParameter %uint
%rhs = OpFunctionParameter %uint
%21 = OpLabel
%22 = OpIEqual %bool %rhs %uint_0
%25 = OpSelect %uint %22 %uint_1 %rhs
%26 = OpUDiv %uint %lhs %25
%27 = OpIMul %uint %26 %25
%28 = OpISub %uint %lhs %27
OpReturnValue %28
OpFunctionEnd
%f = OpFunction %void None %30
%31 = OpLabel
%32 = OpLoad %v3uint %f_global_invocation_id_Input
%33 = OpFunctionCall %void %f_inner %32
OpReturn
OpFunctionEnd