Lines Matching full:alignment
17 // Used to test the exact alignment and size of an individual type. Returns the alignment and size
20 int alignment; member
26 // Set the start offset at 1 to force alignment. in calculate_alignment_and_size()
29 int alignment = calc.advanceOffset(type, arrayCount); in calculate_alignment_and_size() local
30 return {alignment, calc.size() - alignment}; in calculate_alignment_and_size()
37 // Set the start offset at 1 to force alignment. in calculate_struct_alignment_and_size()
46 int alignment = outer.advanceStruct(substruct, arrayCount); in calculate_struct_alignment_and_size() local
47 SkASSERT(alignment == substruct.requiredAlignment()); in calculate_struct_alignment_and_size()
48 return {alignment, outer.size() - alignment}; in calculate_struct_alignment_and_size()
53 auto [alignment, size] = calculate_alignment_and_size(kLayout, type); \
55 alignment == expectedAlignment, \
56 "incorrect alignment for type '%s': expected %d, found %d", \
59 alignment); \
70 auto [alignment, size] = calculate_alignment_and_size(kLayout, type, kCount); \
73 alignment == expectedAlignment, \
74 "incorrect alignment for type '%s': expected %d, found %d", \
77 alignment); \
94 auto [alignment, size] = calculate_struct_alignment_and_size( \
97 alignment == expectedAlignment, \
98 "incorrect alignment for struct: expected %d, found %d", \
100 alignment); \
107 size % alignment == 0, \
108 "struct size must be a multiple of alignment"); \
113 auto [alignment, size] = calculate_struct_alignment_and_size( \
117 alignment == expectedAlignment, \
118 "incorrect alignment for struct: expected %d, found %d", \
120 alignment); \
132 stride % alignment == 0, \
133 "struct stride must be a multiple of alignment"); \
140 EXPECT(SkSLType::kInt, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
141 EXPECT(SkSLType::kFloat, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
142 EXPECT(SkSLType::kHalf, /*alignment=*/2, /*size=*/2); in DEF_GRAPHITE_TEST()
145 EXPECT(SkSLType::kInt2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
146 EXPECT(SkSLType::kFloat2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
147 EXPECT(SkSLType::kHalf2, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
150 EXPECT(SkSLType::kInt3, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
151 EXPECT(SkSLType::kFloat3, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
152 EXPECT(SkSLType::kHalf3, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
155 EXPECT(SkSLType::kInt4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
156 EXPECT(SkSLType::kFloat4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
157 EXPECT(SkSLType::kHalf4, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
160 EXPECT(SkSLType::kFloat2x2, /*alignment=*/8, /*size=*/16); in DEF_GRAPHITE_TEST()
161 EXPECT(SkSLType::kHalf2x2, /*alignment=*/4, /*size=*/8); in DEF_GRAPHITE_TEST()
164 EXPECT(SkSLType::kFloat3x3, /*alignment=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
165 EXPECT(SkSLType::kHalf3x3, /*alignment=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
168 EXPECT(SkSLType::kFloat4x4, /*alignment=*/16, /*size=*/64); in DEF_GRAPHITE_TEST()
169 EXPECT(SkSLType::kHalf4x4, /*alignment=*/8, /*size=*/32); in DEF_GRAPHITE_TEST()
177 EXPECT_ARRAY(SkSLType::kInt, /*alignment=*/4, /*stride=*/4, /*size=*/12); in DEF_GRAPHITE_TEST()
178 EXPECT_ARRAY(SkSLType::kFloat, /*alignment=*/4, /*stride=*/4, /*size=*/12); in DEF_GRAPHITE_TEST()
179 EXPECT_ARRAY(SkSLType::kHalf, /*alignment=*/2, /*stride=*/2, /*size=*/6); in DEF_GRAPHITE_TEST()
182 EXPECT_ARRAY(SkSLType::kInt2, /*alignment=*/8, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
183 EXPECT_ARRAY(SkSLType::kFloat2, /*alignment=*/8, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
184 EXPECT_ARRAY(SkSLType::kHalf2, /*alignment=*/4, /*stride=*/4, /*size=*/12); in DEF_GRAPHITE_TEST()
187 EXPECT_ARRAY(SkSLType::kInt3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
188 EXPECT_ARRAY(SkSLType::kFloat3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
189 EXPECT_ARRAY(SkSLType::kHalf3, /*alignment=*/8, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
192 EXPECT_ARRAY(SkSLType::kInt4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
193 EXPECT_ARRAY(SkSLType::kFloat4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
194 EXPECT_ARRAY(SkSLType::kHalf4, /*alignment=*/8, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
197 EXPECT_ARRAY(SkSLType::kFloat2x2, /*alignment=*/8, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
198 EXPECT_ARRAY(SkSLType::kHalf2x2, /*alignment=*/4, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
201 EXPECT_ARRAY(SkSLType::kFloat3x3, /*alignment=*/16, /*stride=*/48, /*size=*/144); in DEF_GRAPHITE_TEST()
202 EXPECT_ARRAY(SkSLType::kHalf3x3, /*alignment=*/8, /*stride=*/24, /*size=*/72); in DEF_GRAPHITE_TEST()
205 EXPECT_ARRAY(SkSLType::kFloat4x4, /*alignment=*/16, /*stride=*/64, /*size=*/192); in DEF_GRAPHITE_TEST()
206 EXPECT_ARRAY(SkSLType::kHalf4x4, /*alignment=*/8, /*stride=*/32, /*size=*/96); in DEF_GRAPHITE_TEST()
213 EXPECT_STRUCT(/*alignment=*/16, /*size=*/32, /*fields=*/SkSLType::kFloat4, in DEF_GRAPHITE_TEST()
215 EXPECT_STRUCT(/*alignment=*/16, /*size=*/32, /*fields=*/SkSLType::kFloat3, in DEF_GRAPHITE_TEST()
217 EXPECT_STRUCT(/*alignment=*/8, /*size=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
219 EXPECT_STRUCT(/*alignment=*/4, /*size=*/4, /*fields=*/SkSLType::kFloat); in DEF_GRAPHITE_TEST()
220 EXPECT_STRUCT(/*alignment=*/4, /*size=*/12, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
223 EXPECT_STRUCT(/*alignment=*/4, /*size=*/8, /*fields=*/SkSLType::kHalf2, in DEF_GRAPHITE_TEST()
226 EXPECT_STRUCT_ARRAY(/*alignment=*/16, /*stride=*/32, /*fields=*/SkSLType::kFloat4, in DEF_GRAPHITE_TEST()
228 EXPECT_STRUCT_ARRAY(/*alignment=*/8, /*stride=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
230 EXPECT_STRUCT_ARRAY(/*alignment=*/4, /*stride=*/4, /*fields=*/SkSLType::kFloat); in DEF_GRAPHITE_TEST()
231 EXPECT_STRUCT_ARRAY(/*alignment=*/4, /*stride=*/12, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
234 EXPECT_STRUCT_ARRAY(/*alignment=*/4, /*stride=*/8, /*fields=*/SkSLType::kHalf2, in DEF_GRAPHITE_TEST()
242 EXPECT(SkSLType::kInt, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
243 EXPECT(SkSLType::kFloat, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
244 EXPECT(SkSLType::kHalf, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
247 EXPECT(SkSLType::kInt2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
248 EXPECT(SkSLType::kFloat2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
249 EXPECT(SkSLType::kHalf2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
252 EXPECT(SkSLType::kInt3, /*alignment=*/16, /*size=*/12); in DEF_GRAPHITE_TEST()
253 EXPECT(SkSLType::kFloat3, /*alignment=*/16, /*size=*/12); in DEF_GRAPHITE_TEST()
254 EXPECT(SkSLType::kHalf3, /*alignment=*/16, /*size=*/12); in DEF_GRAPHITE_TEST()
257 EXPECT(SkSLType::kInt4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
258 EXPECT(SkSLType::kFloat4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
259 EXPECT(SkSLType::kHalf4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
262 EXPECT(SkSLType::kFloat2x2, /*alignment=*/8, /*size=*/16); in DEF_GRAPHITE_TEST()
263 EXPECT(SkSLType::kHalf2x2, /*alignment=*/8, /*size=*/16); in DEF_GRAPHITE_TEST()
266 EXPECT(SkSLType::kFloat3x3, /*alignment=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
267 EXPECT(SkSLType::kHalf3x3, /*alignment=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
270 EXPECT(SkSLType::kFloat4x4, /*alignment=*/16, /*size=*/64); in DEF_GRAPHITE_TEST()
271 EXPECT(SkSLType::kHalf4x4, /*alignment=*/16, /*size=*/64); in DEF_GRAPHITE_TEST()
279 EXPECT_ARRAY(SkSLType::kInt, /*alignment=*/4, /*stride=*/4, /*size=*/12); in DEF_GRAPHITE_TEST()
280 EXPECT_ARRAY(SkSLType::kFloat, /*alignment=*/4, /*stride=*/4, /*size=*/12); in DEF_GRAPHITE_TEST()
281 EXPECT_ARRAY(SkSLType::kHalf, /*alignment=*/4, /*stride=*/4, /*size=*/12); in DEF_GRAPHITE_TEST()
284 EXPECT_ARRAY(SkSLType::kInt2, /*alignment=*/8, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
285 EXPECT_ARRAY(SkSLType::kFloat2, /*alignment=*/8, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
286 EXPECT_ARRAY(SkSLType::kHalf2, /*alignment=*/8, /*stride=*/8, /*size=*/24); in DEF_GRAPHITE_TEST()
289 EXPECT_ARRAY(SkSLType::kInt3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
290 EXPECT_ARRAY(SkSLType::kFloat3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
291 EXPECT_ARRAY(SkSLType::kHalf3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
294 EXPECT_ARRAY(SkSLType::kInt4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
295 EXPECT_ARRAY(SkSLType::kFloat4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
296 EXPECT_ARRAY(SkSLType::kHalf4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
299 EXPECT_ARRAY(SkSLType::kFloat2x2, /*alignment=*/8, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
300 EXPECT_ARRAY(SkSLType::kHalf2x2, /*alignment=*/8, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
303 EXPECT_ARRAY(SkSLType::kFloat3x3, /*alignment=*/16, /*stride=*/48, /*size=*/144); in DEF_GRAPHITE_TEST()
304 EXPECT_ARRAY(SkSLType::kHalf3x3, /*alignment=*/16, /*stride=*/48, /*size=*/144); in DEF_GRAPHITE_TEST()
307 EXPECT_ARRAY(SkSLType::kFloat4x4, /*alignment=*/16, /*stride=*/64, /*size=*/192); in DEF_GRAPHITE_TEST()
308 EXPECT_ARRAY(SkSLType::kHalf4x4, /*alignment=*/16, /*stride=*/64, /*size=*/192); in DEF_GRAPHITE_TEST()
315 EXPECT_STRUCT(/*alignment=*/16, /*size=*/32, /*fields=*/SkSLType::kFloat4, in DEF_GRAPHITE_TEST()
317 EXPECT_STRUCT(/*alignment=*/16, /*size=*/16, /*fields=*/SkSLType::kFloat3, in DEF_GRAPHITE_TEST()
319 EXPECT_STRUCT(/*alignment=*/8, /*size=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
321 EXPECT_STRUCT(/*alignment=*/4, /*size=*/4, /*fields=*/SkSLType::kFloat); in DEF_GRAPHITE_TEST()
322 EXPECT_STRUCT(/*alignment=*/4, /*size=*/12, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
325 EXPECT_STRUCT(/*alignment=*/8, /*size=*/16, /*fields=*/SkSLType::kHalf2, in DEF_GRAPHITE_TEST()
328 EXPECT_STRUCT_ARRAY(/*alignment=*/16, /*stride=*/32, /*fields=*/SkSLType::kFloat4, in DEF_GRAPHITE_TEST()
330 EXPECT_STRUCT_ARRAY(/*alignment=*/8, /*stride=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
332 EXPECT_STRUCT_ARRAY(/*alignment=*/4, /*stride=*/4, /*fields=*/SkSLType::kFloat); in DEF_GRAPHITE_TEST()
333 EXPECT_STRUCT_ARRAY(/*alignment=*/4, /*stride=*/12, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
336 EXPECT_STRUCT_ARRAY(/*alignment=*/8, /*stride=*/16, /*fields=*/SkSLType::kHalf2, in DEF_GRAPHITE_TEST()
344 EXPECT(SkSLType::kInt, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
345 EXPECT(SkSLType::kFloat, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
346 EXPECT(SkSLType::kHalf, /*alignment=*/4, /*size=*/4); in DEF_GRAPHITE_TEST()
349 EXPECT(SkSLType::kInt2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
350 EXPECT(SkSLType::kFloat2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
351 EXPECT(SkSLType::kHalf2, /*alignment=*/8, /*size=*/8); in DEF_GRAPHITE_TEST()
354 EXPECT(SkSLType::kInt3, /*alignment=*/16, /*size=*/12); in DEF_GRAPHITE_TEST()
355 EXPECT(SkSLType::kFloat3, /*alignment=*/16, /*size=*/12); in DEF_GRAPHITE_TEST()
356 EXPECT(SkSLType::kHalf3, /*alignment=*/16, /*size=*/12); in DEF_GRAPHITE_TEST()
359 EXPECT(SkSLType::kInt4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
360 EXPECT(SkSLType::kFloat4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
361 EXPECT(SkSLType::kHalf4, /*alignment=*/16, /*size=*/16); in DEF_GRAPHITE_TEST()
364 EXPECT(SkSLType::kFloat2x2, /*alignment=*/16, /*size=*/32); in DEF_GRAPHITE_TEST()
365 EXPECT(SkSLType::kHalf2x2, /*alignment=*/16, /*size=*/32); in DEF_GRAPHITE_TEST()
368 EXPECT(SkSLType::kFloat3x3, /*alignment=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
369 EXPECT(SkSLType::kHalf3x3, /*alignment=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
372 EXPECT(SkSLType::kFloat4x4, /*alignment=*/16, /*size=*/64); in DEF_GRAPHITE_TEST()
373 EXPECT(SkSLType::kHalf4x4, /*alignment=*/16, /*size=*/64); in DEF_GRAPHITE_TEST()
381 EXPECT_ARRAY(SkSLType::kInt, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
382 EXPECT_ARRAY(SkSLType::kFloat, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
383 EXPECT_ARRAY(SkSLType::kHalf, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
386 EXPECT_ARRAY(SkSLType::kInt2, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
387 EXPECT_ARRAY(SkSLType::kFloat2, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
388 EXPECT_ARRAY(SkSLType::kHalf2, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
391 EXPECT_ARRAY(SkSLType::kInt3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
392 EXPECT_ARRAY(SkSLType::kFloat3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
393 EXPECT_ARRAY(SkSLType::kHalf3, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
396 EXPECT_ARRAY(SkSLType::kInt4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
397 EXPECT_ARRAY(SkSLType::kFloat4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
398 EXPECT_ARRAY(SkSLType::kHalf4, /*alignment=*/16, /*stride=*/16, /*size=*/48); in DEF_GRAPHITE_TEST()
401 EXPECT_ARRAY(SkSLType::kFloat2x2, /*alignment=*/16, /*stride=*/32, /*size=*/96); in DEF_GRAPHITE_TEST()
402 EXPECT_ARRAY(SkSLType::kHalf2x2, /*alignment=*/16, /*stride=*/32, /*size=*/96); in DEF_GRAPHITE_TEST()
405 EXPECT_ARRAY(SkSLType::kFloat3x3, /*alignment=*/16, /*stride=*/48, /*size=*/144); in DEF_GRAPHITE_TEST()
406 EXPECT_ARRAY(SkSLType::kHalf3x3, /*alignment=*/16, /*stride=*/48, /*size=*/144); in DEF_GRAPHITE_TEST()
409 EXPECT_ARRAY(SkSLType::kFloat4x4, /*alignment=*/16, /*stride=*/64, /*size=*/192); in DEF_GRAPHITE_TEST()
410 EXPECT_ARRAY(SkSLType::kHalf4x4, /*alignment=*/16, /*stride=*/64, /*size=*/192); in DEF_GRAPHITE_TEST()
417 EXPECT_STRUCT(/*alignment=*/16, /*size=*/32, /*fields=*/SkSLType::kFloat4, in DEF_GRAPHITE_TEST()
419 EXPECT_STRUCT(/*alignment=*/16, /*size=*/16, /*fields=*/SkSLType::kFloat3, in DEF_GRAPHITE_TEST()
421 EXPECT_STRUCT(/*alignment=*/16, /*size=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
423 EXPECT_STRUCT(/*alignment=*/16, /*size=*/16, /*fields=*/SkSLType::kFloat); in DEF_GRAPHITE_TEST()
424 EXPECT_STRUCT(/*alignment=*/16, /*size=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
427 EXPECT_STRUCT(/*alignment=*/16, /*size=*/16, /*fields=*/SkSLType::kHalf2, in DEF_GRAPHITE_TEST()
430 EXPECT_STRUCT_ARRAY(/*alignment=*/16, /*stride=*/32, /*fields=*/SkSLType::kFloat4, in DEF_GRAPHITE_TEST()
432 EXPECT_STRUCT_ARRAY(/*alignment=*/16, /*stride=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
434 EXPECT_STRUCT_ARRAY(/*alignment=*/16, /*stride=*/16, /*fields=*/SkSLType::kFloat); in DEF_GRAPHITE_TEST()
435 EXPECT_STRUCT_ARRAY(/*alignment=*/16, /*stride=*/16, /*fields=*/SkSLType::kFloat, in DEF_GRAPHITE_TEST()
438 EXPECT_STRUCT_ARRAY(/*alignment=*/16, /*stride=*/16, /*fields=*/SkSLType::kHalf2, in DEF_GRAPHITE_TEST()