Files
wgpu/tests/out/spv/control-flow.spvasm
2023-05-11 07:09:53 -07:00

138 lines
2.5 KiB
Plaintext

; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 69
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %39 "main" %36
OpExecutionMode %39 LocalSize 1 1 1
OpDecorate %36 BuiltIn GlobalInvocationId
%2 = OpTypeVoid
%4 = OpTypeInt 32 0
%3 = OpTypeVector %4 3
%5 = OpTypeInt 32 1
%9 = OpTypeFunction %2 %5
%15 = OpTypeFunction %2
%16 = OpConstant %5 0
%33 = OpTypePointer Function %5
%34 = OpConstantNull %5
%37 = OpTypePointer Input %3
%36 = OpVariable %37 Input
%40 = OpConstant %5 1
%41 = OpConstant %5 2
%42 = OpConstant %5 3
%43 = OpConstant %5 4
%44 = OpConstant %4 0
%46 = OpConstant %4 2
%47 = OpConstant %4 1
%48 = OpConstant %4 72
%49 = OpConstant %4 264
%8 = OpFunction %2 None %9
%7 = OpFunctionParameter %5
%6 = OpLabel
OpBranch %10
%10 = OpLabel
OpSelectionMerge %11 None
OpSwitch %7 %12
%12 = OpLabel
OpBranch %11
%11 = OpLabel
OpReturn
OpFunctionEnd
%14 = OpFunction %2 None %15
%13 = OpLabel
OpBranch %17
%17 = OpLabel
OpSelectionMerge %18 None
OpSwitch %16 %20 0 %19
%19 = OpLabel
OpBranch %18
%20 = OpLabel
OpBranch %18
%18 = OpLabel
OpReturn
OpFunctionEnd
%23 = OpFunction %2 None %9
%22 = OpFunctionParameter %5
%21 = OpLabel
OpBranch %24
%24 = OpLabel
OpBranch %25
%25 = OpLabel
OpLoopMerge %26 %28 None
OpBranch %27
%27 = OpLabel
OpSelectionMerge %29 None
OpSwitch %22 %31 1 %30
%30 = OpLabel
OpBranch %28
%31 = OpLabel
OpBranch %29
%29 = OpLabel
OpBranch %28
%28 = OpLabel
OpBranch %25
%26 = OpLabel
OpReturn
OpFunctionEnd
%39 = OpFunction %2 None %15
%35 = OpLabel
%32 = OpVariable %33 Function %34
%38 = OpLoad %3 %36
OpBranch %45
%45 = OpLabel
OpControlBarrier %46 %47 %48
OpControlBarrier %46 %46 %49
OpSelectionMerge %50 None
OpSwitch %40 %51
%51 = OpLabel
OpStore %32 %40
OpBranch %50
%50 = OpLabel
%52 = OpLoad %5 %32
OpSelectionMerge %53 None
OpSwitch %52 %58 1 %54 2 %55 3 %56 4 %56 5 %57 6 %58
%54 = OpLabel
OpStore %32 %16
OpBranch %53
%55 = OpLabel
OpStore %32 %40
OpBranch %53
%56 = OpLabel
OpStore %32 %41
OpBranch %53
%57 = OpLabel
OpStore %32 %42
OpBranch %53
%58 = OpLabel
OpStore %32 %43
OpBranch %53
%53 = OpLabel
OpSelectionMerge %59 None
OpSwitch %44 %61 0 %60
%60 = OpLabel
OpBranch %59
%61 = OpLabel
OpBranch %59
%59 = OpLabel
%62 = OpLoad %5 %32
OpSelectionMerge %63 None
OpSwitch %62 %68 1 %64 2 %65 3 %66 4 %67
%64 = OpLabel
OpStore %32 %16
OpBranch %63
%65 = OpLabel
OpStore %32 %40
OpReturn
%66 = OpLabel
OpStore %32 %41
OpReturn
%67 = OpLabel
OpReturn
%68 = OpLabel
OpStore %32 %42
OpReturn
%63 = OpLabel
OpReturn
OpFunctionEnd