9 #include "impeller/entity/contents/test/recording_render_pass.h"
14 #include "third_party/googletest/googletest/include/gtest/gtest.h"
23 texture_desc.
size = {100, 100};
28 GetContext()->GetResourceAllocator()->CreateTexture(texture_desc);
35 auto content_context = GetContentContext();
36 auto buffer = content_context->GetContext()->CreateCommandBuffer();
38 GetContentContext()->GetRenderTargetCache()->CreateOffscreenMSAA(
39 *content_context->GetContext(), {100, 100},
41 auto render_pass = buffer->CreateRenderPass(render_target);
42 auto recording_pass = std::make_shared<RecordingRenderPass>(
43 render_pass, GetContext(), render_target);
45 ASSERT_TRUE(contents.
Render(*GetContentContext(), {}, *recording_pass));
46 const std::vector<Command>& commands = recording_pass->GetCommands();
48 ASSERT_EQ(commands.size(), 1u);
50 EXPECT_TRUE(commands[0].pipeline->GetDescriptor().GetLabel().find(
51 "TextureFill Pipeline") != std::string::npos);
55 EXPECT_EQ(commands[0].pipeline,
56 GetContentContext()->GetTiledTexturePipeline(options));
59 recording_pass->EncodeCommands();
64 #if !defined(FML_OS_MACOSX)
68 <<
"External OES textures are only valid for the OpenGLES backend.";
72 texture_desc.
size = {100, 100};
77 GetContext()->GetResourceAllocator()->CreateTexture(texture_desc);
79 contents->SetTexture(texture);
81 contents->SetStrictSourceRect(
false);
83 auto content_context = GetContentContext();
84 auto buffer = content_context->GetContext()->CreateCommandBuffer();
86 GetContentContext()->GetRenderTargetCache()->CreateOffscreenMSAA(
87 *content_context->GetContext(), {100, 100},
89 auto render_pass = buffer->CreateRenderPass(render_target);
91 ASSERT_TRUE(contents->Render(*GetContentContext(), {}, *render_pass));
92 const std::vector<Command>& commands = render_pass->GetCommands();
94 ASSERT_EQ(commands.size(), 1u);
98 EXPECT_EQ(commands[0].pipeline,
99 GetContentContext()->GetTiledTextureExternalPipeline(options));
void SetGeometry(const Geometry *geometry)
Set the geometry that this contents will use to render.
static std::unique_ptr< Geometry > MakeCover()
static std::shared_ptr< TextureContents > MakeRect(Rect destination)
bool Render(const ContentContext &renderer, const Entity &entity, RenderPass &pass) const override
void SetTexture(std::shared_ptr< Texture > texture)
TEST_P(AiksTest, DrawAtlasNoColor)
ContentContextOptions OptionsFromPassAndEntity(const RenderPass &pass, const Entity &entity)
PrimitiveType primitive_type
constexpr static TRect MakeSize(const TSize< U > &size)
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...