7 #include "flutter/testing/testing.h"
11 #include "impeller/renderer/testing/mocks.h"
23 return ISize(1024, 1024);
31 return std::make_shared<MockDeviceBuffer>(desc);
39 return std::make_shared<MockTexture>(desc);
45 TEST(RenderTargetCacheTest, CachesUsedTexturesAcrossFrames) {
46 auto allocator = std::make_shared<TestAllocator>();
50 .size =
ISize(100, 100),
53 render_target_cache.Start();
56 render_target_cache.CreateTexture(desc);
57 render_target_cache.CreateTexture(desc);
59 ASSERT_EQ(render_target_cache.CachedTextureCount(), 2u);
61 render_target_cache.End();
62 render_target_cache.Start();
66 render_target_cache.CreateTexture(desc);
67 ASSERT_EQ(render_target_cache.CachedTextureCount(), 2u);
69 render_target_cache.End();
70 ASSERT_EQ(render_target_cache.CachedTextureCount(), 1u);
73 TEST(RenderTargetCacheTest, DoesNotPersistFailedAllocations) {
74 auto allocator = std::make_shared<TestAllocator>();
78 .size =
ISize(100, 100),
81 render_target_cache.Start();
82 allocator->should_fail =
true;
84 ASSERT_EQ(render_target_cache.CreateTexture(desc),
nullptr);
85 ASSERT_EQ(render_target_cache.CachedTextureCount(), 0u);