blob: 1764efac33adeeb3d3956c4fbf55690c114b0255 [file] [log] [blame]
James Price94ac0782021-06-02 17:23:03 +00001; SPIR-V
2; Version: 1.3
3; Generator: Google Tint Compiler; 0
4; Bound: 74
5; Schema: 0
6 OpCapability Shader
7 OpMemoryModel Logical GLSL450
8 OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
9 OpExecutionMode %unused_entry_point LocalSize 1 1 1
10 OpName %src_private "src_private"
11 OpName %src_workgroup "src_workgroup"
12 OpName %S "S"
13 OpMemberName %S 0 "arr"
14 OpName %src_uniform "src_uniform"
15 OpName %src_storage "src_storage"
16 OpName %dst "dst"
17 OpName %S_nested "S_nested"
18 OpMemberName %S_nested 0 "arr"
19 OpName %dst_nested "dst_nested"
20 OpName %unused_entry_point "unused_entry_point"
21 OpName %ret_arr "ret_arr"
22 OpName %ret_struct_arr "ret_struct_arr"
23 OpName %foo "foo"
24 OpName %src_param "src_param"
25 OpName %src_function "src_function"
26 OpName %src_nested "src_nested"
27 OpDecorate %_arr_int_uint_4 ArrayStride 16
28 OpDecorate %S Block
29 OpMemberDecorate %S 0 Offset 0
Ben Clayton18588542021-06-04 22:17:37 +000030 OpDecorate %src_uniform NonWritable
James Price94ac0782021-06-02 17:23:03 +000031 OpDecorate %src_uniform DescriptorSet 0
32 OpDecorate %src_uniform Binding 0
33 OpDecorate %src_storage DescriptorSet 0
34 OpDecorate %src_storage Binding 1
35 OpDecorate %dst DescriptorSet 0
36 OpDecorate %dst Binding 2
37 OpDecorate %S_nested Block
38 OpMemberDecorate %S_nested 0 Offset 0
39 OpDecorate %_arr_int_uint_2 ArrayStride 4
40 OpDecorate %_arr__arr_int_uint_2_uint_3 ArrayStride 8
41 OpDecorate %_arr__arr__arr_int_uint_2_uint_3_uint_4 ArrayStride 24
42 OpDecorate %dst_nested DescriptorSet 0
43 OpDecorate %dst_nested Binding 3
44 %int = OpTypeInt 32 1
45 %uint = OpTypeInt 32 0
46 %uint_4 = OpConstant %uint 4
47%_arr_int_uint_4 = OpTypeArray %int %uint_4
48%_ptr_Private__arr_int_uint_4 = OpTypePointer Private %_arr_int_uint_4
49 %7 = OpConstantNull %_arr_int_uint_4
50%src_private = OpVariable %_ptr_Private__arr_int_uint_4 Private %7
51%_ptr_Workgroup__arr_int_uint_4 = OpTypePointer Workgroup %_arr_int_uint_4
52%src_workgroup = OpVariable %_ptr_Workgroup__arr_int_uint_4 Workgroup
53 %S = OpTypeStruct %_arr_int_uint_4
54%_ptr_Uniform_S = OpTypePointer Uniform %S
55%src_uniform = OpVariable %_ptr_Uniform_S Uniform
56%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
57%src_storage = OpVariable %_ptr_StorageBuffer_S StorageBuffer
58 %dst = OpVariable %_ptr_StorageBuffer_S StorageBuffer
59 %uint_2 = OpConstant %uint 2
60%_arr_int_uint_2 = OpTypeArray %int %uint_2
61 %uint_3 = OpConstant %uint 3
62%_arr__arr_int_uint_2_uint_3 = OpTypeArray %_arr_int_uint_2 %uint_3
63%_arr__arr__arr_int_uint_2_uint_3_uint_4 = OpTypeArray %_arr__arr_int_uint_2_uint_3 %uint_4
64 %S_nested = OpTypeStruct %_arr__arr__arr_int_uint_2_uint_3_uint_4
65%_ptr_StorageBuffer_S_nested = OpTypePointer StorageBuffer %S_nested
66 %dst_nested = OpVariable %_ptr_StorageBuffer_S_nested StorageBuffer
67 %void = OpTypeVoid
68 %24 = OpTypeFunction %void
69 %28 = OpTypeFunction %_arr_int_uint_4
70 %31 = OpTypeFunction %S
71 %34 = OpConstantNull %S
72 %35 = OpTypeFunction %void %_arr_int_uint_4
73%_ptr_Function__arr_int_uint_4 = OpTypePointer Function %_arr_int_uint_4
74 %uint_0 = OpConstant %uint 0
75%_ptr_StorageBuffer__arr_int_uint_4 = OpTypePointer StorageBuffer %_arr_int_uint_4
76 %int_1 = OpConstant %int 1
77 %int_2 = OpConstant %int 2
78 %int_3 = OpConstant %int 3
79 %47 = OpConstantComposite %_arr_int_uint_4 %int_1 %int_2 %int_3 %int_3
80%_ptr_Uniform__arr_int_uint_4 = OpTypePointer Uniform %_arr_int_uint_4
81%_ptr_Function__arr__arr__arr_int_uint_2_uint_3_uint_4 = OpTypePointer Function %_arr__arr__arr_int_uint_2_uint_3_uint_4
82 %70 = OpConstantNull %_arr__arr__arr_int_uint_2_uint_3_uint_4
83%_ptr_StorageBuffer__arr__arr__arr_int_uint_2_uint_3_uint_4 = OpTypePointer StorageBuffer %_arr__arr__arr_int_uint_2_uint_3_uint_4
84%unused_entry_point = OpFunction %void None %24
85 %27 = OpLabel
86 OpReturn
87 OpFunctionEnd
88 %ret_arr = OpFunction %_arr_int_uint_4 None %28
89 %30 = OpLabel
90 OpReturnValue %7
91 OpFunctionEnd
92%ret_struct_arr = OpFunction %S None %31
93 %33 = OpLabel
94 OpReturnValue %34
95 OpFunctionEnd
96 %foo = OpFunction %void None %35
97 %src_param = OpFunctionParameter %_arr_int_uint_4
98 %38 = OpLabel
99%src_function = OpVariable %_ptr_Function__arr_int_uint_4 Function %7
100 %src_nested = OpVariable %_ptr_Function__arr__arr__arr_int_uint_2_uint_3_uint_4 Function %70
101 %43 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
102 OpStore %43 %47
103 %48 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
104 OpStore %48 %src_param
105 %49 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
106 %50 = OpFunctionCall %_arr_int_uint_4 %ret_arr
107 OpStore %49 %50
108 %51 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
109 OpStore %51 %7
110 %52 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
111 %53 = OpLoad %_arr_int_uint_4 %src_function
112 OpStore %52 %53
113 %54 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
114 %55 = OpLoad %_arr_int_uint_4 %src_private
115 OpStore %54 %55
116 %56 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
117 %57 = OpLoad %_arr_int_uint_4 %src_workgroup
118 OpStore %56 %57
119 %58 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
120 %59 = OpFunctionCall %S %ret_struct_arr
121 %60 = OpCompositeExtract %_arr_int_uint_4 %59 0
122 OpStore %58 %60
123 %61 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
124 %63 = OpAccessChain %_ptr_Uniform__arr_int_uint_4 %src_uniform %uint_0
125 %64 = OpLoad %_arr_int_uint_4 %63
126 OpStore %61 %64
127 %65 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %dst %uint_0
128 %66 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_4 %src_storage %uint_0
129 %67 = OpLoad %_arr_int_uint_4 %66
130 OpStore %65 %67
131 %72 = OpAccessChain %_ptr_StorageBuffer__arr__arr__arr_int_uint_2_uint_3_uint_4 %dst_nested %uint_0
132 %73 = OpLoad %_arr__arr__arr_int_uint_2_uint_3_uint_4 %src_nested
133 OpStore %72 %73
134 OpReturn
135 OpFunctionEnd