Flutter Impeller
blit_pass_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 "gtest/gtest.h"
11 
12 namespace impeller {
13 namespace testing {
14 
17 
18 TEST_P(BlitPassTest, BlitAcrossDifferentPixelFormatsFails) {
19  ScopedValidationDisable scope; // avoid noise in output.
20  auto context = GetContext();
21  auto cmd_buffer = context->CreateCommandBuffer();
22  auto blit_pass = cmd_buffer->CreateBlitPass();
23 
24  TextureDescriptor src_desc;
26  src_desc.size = {100, 100};
27  auto src = context->GetResourceAllocator()->CreateTexture(src_desc);
28 
29  TextureDescriptor dst_format;
31  dst_format.size = {100, 100};
32  auto dst = context->GetResourceAllocator()->CreateTexture(dst_format);
33 
34  EXPECT_FALSE(blit_pass->AddCopy(src, dst));
35 }
36 
37 TEST_P(BlitPassTest, BlitAcrossDifferentSampleCountsFails) {
38  ScopedValidationDisable scope; // avoid noise in output.
39  auto context = GetContext();
40  auto cmd_buffer = context->CreateCommandBuffer();
41  auto blit_pass = cmd_buffer->CreateBlitPass();
42 
43  TextureDescriptor src_desc;
46  src_desc.size = {100, 100};
47  auto src = context->GetResourceAllocator()->CreateTexture(src_desc);
48 
49  TextureDescriptor dst_format;
51  dst_format.size = {100, 100};
52  auto dst = context->GetResourceAllocator()->CreateTexture(dst_format);
53 
54  EXPECT_FALSE(blit_pass->AddCopy(src, dst));
55 }
56 
57 TEST_P(BlitPassTest, BlitPassesForMatchingFormats) {
58  ScopedValidationDisable scope; // avoid noise in output.
59  auto context = GetContext();
60  auto cmd_buffer = context->CreateCommandBuffer();
61  auto blit_pass = cmd_buffer->CreateBlitPass();
62 
63  TextureDescriptor src_desc;
65  src_desc.size = {100, 100};
66  auto src = context->GetResourceAllocator()->CreateTexture(src_desc);
67 
68  TextureDescriptor dst_format;
70  dst_format.size = {100, 100};
71  auto dst = context->GetResourceAllocator()->CreateTexture(dst_format);
72 
73  EXPECT_TRUE(blit_pass->AddCopy(src, dst));
74 }
75 
76 } // namespace testing
77 } // namespace impeller
impeller::PixelFormat::kA8UNormInt
@ kA8UNormInt
impeller::TextureDescriptor::format
PixelFormat format
Definition: texture_descriptor.h:40
impeller::PixelFormat::kR8G8B8A8UNormInt
@ kR8G8B8A8UNormInt
texture_descriptor.h
formats.h
impeller::TextureDescriptor::sample_count
SampleCount sample_count
Definition: texture_descriptor.h:45
validation.h
impeller::testing::INSTANTIATE_PLAYGROUND_SUITE
INSTANTIATE_PLAYGROUND_SUITE(AiksTest)
impeller::TextureDescriptor::size
ISize size
Definition: texture_descriptor.h:41
command_buffer.h
impeller::SampleCount::kCount4
@ kCount4
impeller::PlaygroundTest
Definition: playground_test.h:23
impeller::TextureDescriptor
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...
Definition: texture_descriptor.h:37
impeller::testing::TEST_P
TEST_P(AiksTest, CanRenderLinearGradientClamp)
Definition: aiks_gradient_unittests.cc:48
impeller::ScopedValidationDisable
Definition: validation.h:42
impeller
Definition: aiks_context.cc:10
playground_test.h