Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
capabilities_unittests.cc
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "flutter/testing/testing.h"
7
8#include "gtest/gtest.h"
9
10namespace impeller {
11namespace testing {
12
13#define CAPABILITY_TEST(name, default_value) \
14 TEST(CapabilitiesTest, name) { \
15 auto defaults = CapabilitiesBuilder().Build(); \
16 ASSERT_EQ(defaults->name(), default_value); \
17 auto opposite = CapabilitiesBuilder().Set##name(!default_value).Build(); \
18 ASSERT_EQ(opposite->name(), !default_value); \
19 }
20
21CAPABILITY_TEST(SupportsOffscreenMSAA, false);
22CAPABILITY_TEST(SupportsSSBO, false);
23CAPABILITY_TEST(SupportsBufferToTextureBlits, false);
24CAPABILITY_TEST(SupportsTextureToTextureBlits, false);
25CAPABILITY_TEST(SupportsFramebufferFetch, false);
26CAPABILITY_TEST(SupportsCompute, false);
27CAPABILITY_TEST(SupportsComputeSubgroups, false);
28CAPABILITY_TEST(SupportsReadFromResolve, false);
29CAPABILITY_TEST(SupportsDecalSamplerAddressMode, false);
30CAPABILITY_TEST(SupportsDeviceTransientTextures, false);
31
32TEST(CapabilitiesTest, DefaultColorFormat) {
33 auto defaults = CapabilitiesBuilder().Build();
34 EXPECT_EQ(defaults->GetDefaultColorFormat(), PixelFormat::kUnknown);
35 auto mutated = CapabilitiesBuilder()
37 .Build();
38 EXPECT_EQ(mutated->GetDefaultColorFormat(), PixelFormat::kB10G10R10A10XR);
39}
40
41TEST(CapabilitiesTest, DefaultStencilFormat) {
42 auto defaults = CapabilitiesBuilder().Build();
43 EXPECT_EQ(defaults->GetDefaultStencilFormat(), PixelFormat::kUnknown);
44 auto mutated = CapabilitiesBuilder()
46 .Build();
47 EXPECT_EQ(mutated->GetDefaultStencilFormat(), PixelFormat::kS8UInt);
48}
49
50TEST(CapabilitiesTest, DefaultDepthStencilFormat) {
51 auto defaults = CapabilitiesBuilder().Build();
52 EXPECT_EQ(defaults->GetDefaultDepthStencilFormat(), PixelFormat::kUnknown);
53 auto mutated = CapabilitiesBuilder()
55 .Build();
56 EXPECT_EQ(mutated->GetDefaultDepthStencilFormat(),
58}
59
60TEST(CapabilitiesTest, DefaultGlyphAtlasFormat) {
61 auto defaults = CapabilitiesBuilder().Build();
62 EXPECT_EQ(defaults->GetDefaultGlyphAtlasFormat(), PixelFormat::kUnknown);
63 auto mutated = CapabilitiesBuilder()
65 .Build();
66 EXPECT_EQ(mutated->GetDefaultGlyphAtlasFormat(), PixelFormat::kA8UNormInt);
67}
68
69} // namespace testing
70} // namespace impeller
#define TEST(S, s, D, expected)
#define CAPABILITY_TEST(name, default_value)
CapabilitiesBuilder & SetDefaultColorFormat(PixelFormat value)
CapabilitiesBuilder & SetDefaultStencilFormat(PixelFormat value)
CapabilitiesBuilder & SetDefaultGlyphAtlasFormat(PixelFormat value)
std::unique_ptr< Capabilities > Build()
CapabilitiesBuilder & SetDefaultDepthStencilFormat(PixelFormat value)