blob: c7d951c313da68bc00bb96c02c44a51d4db5a223 [file] [log] [blame]
Ben Clayton51cfe262021-07-13 12:18:13 +00001; SPIR-V
2; Version: 1.3
3; Generator: Google Tint Compiler; 0
James Price11c6fcd2021-08-05 17:34:19 +00004; Bound: 65
Ben Clayton51cfe262021-07-13 12:18:13 +00005; Schema: 0
6 OpCapability Shader
7 OpMemoryModel Logical GLSL450
James Price11c6fcd2021-08-05 17:34:19 +00008 OpEntryPoint GLCompute %main "main" %idx_1
Ben Clayton51cfe262021-07-13 12:18:13 +00009 OpExecutionMode %main LocalSize 1 1 1
James Price11c6fcd2021-08-05 17:34:19 +000010 OpName %idx_1 "idx_1"
Ben Clayton51cfe262021-07-13 12:18:13 +000011 OpName %S "S"
12 OpMemberName %S 0 "arr"
13 OpName %Inner "Inner"
14 OpMemberName %Inner 0 "a"
15 OpMemberName %Inner 1 "b"
16 OpMemberName %Inner 2 "c"
17 OpMemberName %Inner 3 "d"
18 OpMemberName %Inner 4 "e"
19 OpMemberName %Inner 5 "f"
20 OpMemberName %Inner 6 "g"
21 OpMemberName %Inner 7 "h"
22 OpMemberName %Inner 8 "i"
23 OpName %s "s"
James Price11c6fcd2021-08-05 17:34:19 +000024 OpName %main_inner "main_inner"
25 OpName %idx "idx"
Ben Clayton51cfe262021-07-13 12:18:13 +000026 OpName %main "main"
James Price11c6fcd2021-08-05 17:34:19 +000027 OpDecorate %idx_1 BuiltIn LocalInvocationIndex
Ben Clayton51cfe262021-07-13 12:18:13 +000028 OpDecorate %S Block
29 OpMemberDecorate %S 0 Offset 0
30 OpMemberDecorate %Inner 0 Offset 0
31 OpMemberDecorate %Inner 1 Offset 12
32 OpMemberDecorate %Inner 2 Offset 16
33 OpMemberDecorate %Inner 3 Offset 28
34 OpMemberDecorate %Inner 4 Offset 32
35 OpMemberDecorate %Inner 5 Offset 44
36 OpMemberDecorate %Inner 6 Offset 48
37 OpMemberDecorate %Inner 6 ColMajor
38 OpMemberDecorate %Inner 6 MatrixStride 16
39 OpMemberDecorate %Inner 7 Offset 80
40 OpMemberDecorate %Inner 7 ColMajor
41 OpMemberDecorate %Inner 7 MatrixStride 8
42 OpMemberDecorate %Inner 8 Offset 112
43 OpDecorate %_arr_v4int_uint_4 ArrayStride 16
44 OpDecorate %_runtimearr_Inner ArrayStride 176
45 OpDecorate %s Binding 0
46 OpDecorate %s DescriptorSet 0
James Price11c6fcd2021-08-05 17:34:19 +000047 %uint = OpTypeInt 32 0
48%_ptr_Input_uint = OpTypePointer Input %uint
49 %idx_1 = OpVariable %_ptr_Input_uint Input
Ben Clayton51cfe262021-07-13 12:18:13 +000050 %int = OpTypeInt 32 1
51 %v3int = OpTypeVector %int 3
Ben Clayton51cfe262021-07-13 12:18:13 +000052 %v3uint = OpTypeVector %uint 3
53 %float = OpTypeFloat 32
54 %v3float = OpTypeVector %float 3
55%mat2v3float = OpTypeMatrix %v3float 2
56 %v2float = OpTypeVector %float 2
57%mat3v2float = OpTypeMatrix %v2float 3
58 %v4int = OpTypeVector %int 4
59 %uint_4 = OpConstant %uint 4
60%_arr_v4int_uint_4 = OpTypeArray %v4int %uint_4
61 %Inner = OpTypeStruct %v3int %int %v3uint %uint %v3float %float %mat2v3float %mat3v2float %_arr_v4int_uint_4
62%_runtimearr_Inner = OpTypeRuntimeArray %Inner
63 %S = OpTypeStruct %_runtimearr_Inner
64%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
65 %s = OpVariable %_ptr_StorageBuffer_S StorageBuffer
Ben Clayton51cfe262021-07-13 12:18:13 +000066 %void = OpTypeVoid
James Price11c6fcd2021-08-05 17:34:19 +000067 %20 = OpTypeFunction %void %uint
Ben Clayton51cfe262021-07-13 12:18:13 +000068 %uint_0 = OpConstant %uint 0
69%_ptr_StorageBuffer_v3int = OpTypePointer StorageBuffer %v3int
70 %28 = OpConstantNull %v3int
71 %uint_1 = OpConstant %uint 1
72%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
James Price11c6fcd2021-08-05 17:34:19 +000073 %32 = OpConstantNull %int
Ben Clayton51cfe262021-07-13 12:18:13 +000074 %uint_2 = OpConstant %uint 2
75%_ptr_StorageBuffer_v3uint = OpTypePointer StorageBuffer %v3uint
James Price11c6fcd2021-08-05 17:34:19 +000076 %36 = OpConstantNull %v3uint
Ben Clayton51cfe262021-07-13 12:18:13 +000077 %uint_3 = OpConstant %uint 3
78%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
James Price11c6fcd2021-08-05 17:34:19 +000079 %40 = OpConstantNull %uint
Ben Clayton51cfe262021-07-13 12:18:13 +000080%_ptr_StorageBuffer_v3float = OpTypePointer StorageBuffer %v3float
James Price11c6fcd2021-08-05 17:34:19 +000081 %43 = OpConstantNull %v3float
Ben Clayton51cfe262021-07-13 12:18:13 +000082 %uint_5 = OpConstant %uint 5
83%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
James Price11c6fcd2021-08-05 17:34:19 +000084 %47 = OpConstantNull %float
Ben Clayton51cfe262021-07-13 12:18:13 +000085 %uint_6 = OpConstant %uint 6
86%_ptr_StorageBuffer_mat2v3float = OpTypePointer StorageBuffer %mat2v3float
James Price11c6fcd2021-08-05 17:34:19 +000087 %51 = OpConstantNull %mat2v3float
Ben Clayton51cfe262021-07-13 12:18:13 +000088 %uint_7 = OpConstant %uint 7
89%_ptr_StorageBuffer_mat3v2float = OpTypePointer StorageBuffer %mat3v2float
James Price11c6fcd2021-08-05 17:34:19 +000090 %55 = OpConstantNull %mat3v2float
Ben Clayton51cfe262021-07-13 12:18:13 +000091 %uint_8 = OpConstant %uint 8
92%_ptr_StorageBuffer__arr_v4int_uint_4 = OpTypePointer StorageBuffer %_arr_v4int_uint_4
James Price11c6fcd2021-08-05 17:34:19 +000093 %59 = OpConstantNull %_arr_v4int_uint_4
94 %60 = OpTypeFunction %void
95 %main_inner = OpFunction %void None %20
96 %idx = OpFunctionParameter %uint
97 %24 = OpLabel
98 %27 = OpAccessChain %_ptr_StorageBuffer_v3int %s %uint_0 %idx %uint_0
Ben Clayton51cfe262021-07-13 12:18:13 +000099 OpStore %27 %28
James Price11c6fcd2021-08-05 17:34:19 +0000100 %31 = OpAccessChain %_ptr_StorageBuffer_int %s %uint_0 %idx %uint_1
101 OpStore %31 %32
102 %35 = OpAccessChain %_ptr_StorageBuffer_v3uint %s %uint_0 %idx %uint_2
103 OpStore %35 %36
104 %39 = OpAccessChain %_ptr_StorageBuffer_uint %s %uint_0 %idx %uint_3
105 OpStore %39 %40
106 %42 = OpAccessChain %_ptr_StorageBuffer_v3float %s %uint_0 %idx %uint_4
Ben Clayton51cfe262021-07-13 12:18:13 +0000107 OpStore %42 %43
James Price11c6fcd2021-08-05 17:34:19 +0000108 %46 = OpAccessChain %_ptr_StorageBuffer_float %s %uint_0 %idx %uint_5
Ben Clayton51cfe262021-07-13 12:18:13 +0000109 OpStore %46 %47
James Price11c6fcd2021-08-05 17:34:19 +0000110 %50 = OpAccessChain %_ptr_StorageBuffer_mat2v3float %s %uint_0 %idx %uint_6
111 OpStore %50 %51
112 %54 = OpAccessChain %_ptr_StorageBuffer_mat3v2float %s %uint_0 %idx %uint_7
113 OpStore %54 %55
114 %58 = OpAccessChain %_ptr_StorageBuffer__arr_v4int_uint_4 %s %uint_0 %idx %uint_8
115 OpStore %58 %59
116 OpReturn
117 OpFunctionEnd
118 %main = OpFunction %void None %60
119 %62 = OpLabel
120 %64 = OpLoad %uint %idx_1
121 %63 = OpFunctionCall %void %main_inner %64
Ben Clayton51cfe262021-07-13 12:18:13 +0000122 OpReturn
123 OpFunctionEnd