mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-30 10:45:06 +00:00
118 lines
2.6 KiB
Plaintext
118 lines
2.6 KiB
Plaintext
---
|
|
source: tests/snapshots.rs
|
|
expression: dis
|
|
---
|
|
; SPIR-V
|
|
; Version: 1.0
|
|
; Generator: rspirv
|
|
; Bound: 69
|
|
OpCapability Shader
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %38 "main" %53
|
|
OpExecutionMode %38 LocalSize 1 1 1
|
|
OpSource GLSL 450
|
|
OpName %8 "n"
|
|
OpName %10 "i"
|
|
OpName %12 "collatz_iterations"
|
|
OpName %38 "main"
|
|
OpName %45 "PrimeIndices"
|
|
OpMemberName %45 0 "data"
|
|
OpName %46 "v_indices"
|
|
OpName %53 "global_id"
|
|
OpName %38 "main"
|
|
OpDecorate %43 ArrayStride 4
|
|
OpDecorate %45 BufferBlock
|
|
OpMemberDecorate %45 0 Offset 0
|
|
OpDecorate %46 DescriptorSet 0
|
|
OpDecorate %46 Binding 0
|
|
OpDecorate %53 BuiltIn GlobalInvocationId
|
|
%2 = OpTypeVoid
|
|
%4 = OpTypeInt 32 0
|
|
%3 = OpConstant %4 0
|
|
%5 = OpConstant %4 1
|
|
%6 = OpConstant %4 2
|
|
%7 = OpConstant %4 3
|
|
%9 = OpTypePointer Function %4
|
|
%13 = OpTypeFunction %4 %4
|
|
%19 = OpTypeBool
|
|
%39 = OpTypeFunction %2
|
|
%43 = OpTypeRuntimeArray %4
|
|
%45 = OpTypeStruct %43
|
|
%47 = OpTypePointer Uniform %45
|
|
%46 = OpVariable %47 Uniform
|
|
%48 = OpTypePointer Uniform %43
|
|
%49 = OpTypeInt 32 1
|
|
%50 = OpConstant %49 0
|
|
%52 = OpTypeVector %4 3
|
|
%54 = OpTypePointer Input %52
|
|
%53 = OpVariable %54 Input
|
|
%55 = OpTypePointer Input %4
|
|
%56 = OpConstant %49 0
|
|
%58 = OpTypePointer Uniform %4
|
|
%62 = OpTypePointer Uniform %43
|
|
%63 = OpConstant %49 0
|
|
%65 = OpTypePointer Input %4
|
|
%66 = OpConstant %49 0
|
|
%68 = OpTypePointer Uniform %4
|
|
%12 = OpFunction %4 None %13
|
|
%11 = OpFunctionParameter %4
|
|
%14 = OpLabel
|
|
%8 = OpVariable %9 Function
|
|
%10 = OpVariable %9 Function %3
|
|
OpStore %8 %11
|
|
OpBranch %15
|
|
%15 = OpLabel
|
|
OpLoopMerge %16 %18 None
|
|
OpBranch %17
|
|
%17 = OpLabel
|
|
%21 = OpLoad %4 %8
|
|
%20 = OpULessThanEqual %19 %21 %5
|
|
OpSelectionMerge %22 None
|
|
OpBranchConditional %20 %23 %22
|
|
%23 = OpLabel
|
|
OpBranch %16
|
|
%22 = OpLabel
|
|
%26 = OpLoad %4 %8
|
|
%25 = OpUMod %4 %26 %6
|
|
%24 = OpIEqual %19 %25 %3
|
|
OpSelectionMerge %27 None
|
|
OpBranchConditional %24 %28 %29
|
|
%28 = OpLabel
|
|
%31 = OpLoad %4 %8
|
|
%30 = OpUDiv %4 %31 %6
|
|
OpStore %8 %30
|
|
OpBranch %27
|
|
%29 = OpLabel
|
|
%34 = OpLoad %4 %8
|
|
%33 = OpIMul %4 %7 %34
|
|
%32 = OpIAdd %4 %33 %5
|
|
OpStore %8 %32
|
|
OpBranch %27
|
|
%27 = OpLabel
|
|
%36 = OpLoad %4 %10
|
|
%35 = OpIAdd %4 %36 %5
|
|
OpStore %10 %35
|
|
OpBranch %18
|
|
%18 = OpLabel
|
|
OpBranch %15
|
|
%16 = OpLabel
|
|
%37 = OpLoad %4 %10
|
|
OpReturnValue %37
|
|
OpFunctionEnd
|
|
%38 = OpFunction %2 None %39
|
|
%40 = OpLabel
|
|
%44 = OpAccessChain %48 %46 %50
|
|
%51 = OpAccessChain %55 %53 %56
|
|
%57 = OpLoad %4 %51
|
|
%42 = OpAccessChain %58 %44 %57
|
|
%59 = OpLoad %4 %42
|
|
%41 = OpFunctionCall %4 %12 %59
|
|
%61 = OpAccessChain %62 %46 %63
|
|
%64 = OpAccessChain %65 %53 %66
|
|
%67 = OpLoad %4 %64
|
|
%60 = OpAccessChain %68 %61 %67
|
|
OpStore %60 %41
|
|
OpReturn
|
|
OpFunctionEnd
|