19struct AlignmentAndSize {
23static AlignmentAndSize calculate_alignment_and_size(
Layout layout,
25 size_t arrayCount = Uniform::kNonArray) {
27 constexpr uint32_t
kStart = 1;
29 size_t alignment = calc.advanceOffset(
type, arrayCount);
30 return {alignment, calc.size() - alignment};
33#define EXPECT(type, expectedAlignment, expectedSize) \
35 auto [alignment, size] = calculate_alignment_and_size(kLayout, type); \
37 alignment == expectedAlignment, \
38 "incorrect alignment for type '%s': expected %d, found %zu", \
39 SkSLTypeString(type), \
43 size == expectedSize, \
44 "incorrect size for type '%s': expected %d, found %zu", \
45 SkSLTypeString(type), \
50#define EXPECT_ARRAY(type, expectedAlignment, expectedStride, expectedSize) \
52 auto [alignment, size] = calculate_alignment_and_size(kLayout, type, kCount); \
53 size_t stride = size / kCount; \
55 alignment == expectedAlignment, \
56 "incorrect alignment for type '%s': expected %d, found %zu", \
57 SkSLTypeString(type), \
61 size == expectedSize, \
62 "incorrect size for type '%s': expected %d, found %zu", \
63 SkSLTypeString(type), \
67 stride == expectedStride, \
68 "incorrect stride for type '%s': expected %d, found %zu", \
69 SkSLTypeString(type), \
112 constexpr size_t kCount = 3;
148 constexpr Layout kLayout = Layout::kStd430;
184 constexpr Layout kLayout = Layout::kStd430;
185 constexpr size_t kCount = 3;
221 constexpr Layout kLayout = Layout::kStd140;
257 constexpr Layout kLayout = Layout::kStd140;
258 constexpr uint32_t kCount = 3;
#define DEF_GRAPHITE_TEST(name, reporter, ctsEnforcement)
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size