blob: 8319dfdb6079d1f6e0fda78e9825fe78eac091d4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
; SPIR-V
; Version: 1.4
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 59
; Schema: 0
OpCapability Shader
OpCapability VariablePointersStorageBuffer
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %1 "main" %2 %3 %4 %5 %6
OpExecutionMode %1 LocalSize 4 1 1
OpDecorate %7 Block
OpMemberDecorate %7 0 Offset 0
OpDecorate %8 ArrayStride 16
OpDecorate %9 Block
OpMemberDecorate %9 0 Offset 0
OpDecorate %10 ArrayStride 68
OpDecorate %11 Block
OpMemberDecorate %11 0 Offset 0
OpDecorate %12 ArrayStride 4
OpDecorate %13 ArrayStride 4
OpDecorate %2 DescriptorSet 0
OpDecorate %2 Binding 0
OpDecorate %3 DescriptorSet 0
OpDecorate %3 Binding 1
OpDecorate %4 DescriptorSet 0
OpDecorate %4 Binding 2
OpDecorate %5 BuiltIn LocalInvocationId
OpDecorate %6 BuiltIn WorkgroupId
%14 = OpTypeVoid
%15 = OpTypeBool
%16 = OpTypeInt 32 1
%17 = OpConstant %16 0
%18 = OpConstant %16 1
%19 = OpConstant %16 4
%20 = OpConstant %16 16
%21 = OpConstant %16 17
%22 = OpTypeVector %16 3
%23 = OpTypePointer Input %22
%12 = OpTypeArray %16 %19
%8 = OpTypeRuntimeArray %12
%7 = OpTypeStruct %8
%24 = OpTypePointer StorageBuffer %7
%25 = OpTypePointer StorageBuffer %12
%13 = OpTypeArray %16 %21
%10 = OpTypeRuntimeArray %13
%9 = OpTypeStruct %10
%26 = OpTypePointer StorageBuffer %9
%27 = OpTypePointer StorageBuffer %13
%28 = OpTypePointer StorageBuffer %16
%11 = OpTypeStruct %16
%29 = OpTypePointer Uniform %11
%30 = OpTypePointer Uniform %16
%2 = OpVariable %24 StorageBuffer
%3 = OpVariable %26 StorageBuffer
%4 = OpVariable %29 Uniform
%5 = OpVariable %23 Input
%6 = OpVariable %23 Input
%31 = OpTypeFunction %14
%1 = OpFunction %14 None %31
%32 = OpLabel
%33 = OpAccessChain %30 %4 %17
%34 = OpLoad %16 %33
%35 = OpLoad %22 %6
%36 = OpCompositeExtract %16 %35 0
%37 = OpLoad %22 %5
%38 = OpCompositeExtract %16 %37 0
%39 = OpAccessChain %25 %2 %17 %17
%40 = OpAccessChain %25 %2 %17 %36
%41 = OpSGreaterThanEqual %15 %36 %34
OpSelectionMerge %42 None
OpBranchConditional %41 %43 %42
%43 = OpLabel
OpReturn
%42 = OpLabel
%44 = OpIEqual %15 %38 %18
OpSelectionMerge %45 None
OpBranchConditional %44 %46 %45
%46 = OpLabel
%47 = OpPtrDiff %16 %40 %39
%48 = OpAccessChain %28 %3 %17 %36 %20
OpStore %48 %47
OpBranch %45
%45 = OpLabel
%49 = OpPhi %16 %17 %42 %17 %46 %50 %45
%50 = OpIAdd %16 %49 %18
%51 = OpIEqual %15 %50 %19
%52 = OpIMul %16 %38 %19
%53 = OpIAdd %16 %52 %49
%54 = OpAccessChain %28 %40 %38
%55 = OpAccessChain %28 %40 %49
%56 = OpPtrDiff %16 %54 %55
%57 = OpAccessChain %28 %3 %17 %36 %53
OpStore %57 %56
OpLoopMerge %58 %45 None
OpBranchConditional %51 %58 %45
%58 = OpLabel
OpReturn
OpFunctionEnd
|