diff options
author | jvanverth@google.com <jvanverth@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-07 14:48:49 +0000 |
---|---|---|
committer | jvanverth@google.com <jvanverth@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-07 14:48:49 +0000 |
commit | b242b14666a75cc11c3e0512e575ebd29f4c7f47 (patch) | |
tree | e94ea8afcef16f173cad88f3dc2b3c8142844db0 /cc | |
parent | 00681f080a462a62eb38f04faf0b73045e8878f6 (diff) | |
download | chromium_src-b242b14666a75cc11c3e0512e575ebd29f4c7f47.zip chromium_src-b242b14666a75cc11c3e0512e575ebd29f4c7f47.tar.gz chromium_src-b242b14666a75cc11c3e0512e575ebd29f4c7f47.tar.bz2 |
Add flag to enable rendering of text using signed distance fields.
This change plumbs through a flag that turns on distance
field text in Skia when doing GPU rasterization, as requested
by vangelis@chromium.org.
BUG=368468
Review URL: https://codereview.chromium.org/266743003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268758 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
23 files changed, 120 insertions, 80 deletions
diff --git a/cc/layers/tiled_layer_unittest.cc b/cc/layers/tiled_layer_unittest.cc index 35450b9..bc83743 100644 --- a/cc/layers/tiled_layer_unittest.cc +++ b/cc/layers/tiled_layer_unittest.cc @@ -122,7 +122,8 @@ class TiledLayerTest : public testing::Test { DebugScopedSetImplThreadAndMainThreadBlocked impl_thread_and_main_thread_blocked(proxy_); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); host_impl_ = make_scoped_ptr( new FakeLayerTreeHostImpl(proxy_, shared_bitmap_manager_.get())); } diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc index f82c06a..c5d729c 100644 --- a/cc/output/gl_renderer_unittest.cc +++ b/cc/output/gl_renderer_unittest.cc @@ -158,8 +158,8 @@ class GLRendererWithDefaultHarnessTest : public GLRendererTest { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1) - .Pass(); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false).Pass(); renderer_ = make_scoped_ptr(new FakeRendererGL(&renderer_client_, &settings_, output_surface_.get(), @@ -191,8 +191,8 @@ class GLRendererShaderTest : public GLRendererTest { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1) - .Pass(); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false).Pass(); renderer_.reset(new FakeRendererGL(&renderer_client_, &settings_, output_surface_.get(), @@ -504,7 +504,7 @@ TEST_F(GLRendererTest, InitializationDoesNotMakeSynchronousCalls) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -540,7 +540,7 @@ TEST_F(GLRendererTest, InitializationWithQuicklyLostContextDoesNotAssert) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -573,7 +573,7 @@ TEST_F(GLRendererTest, OpaqueBackground) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -619,7 +619,7 @@ TEST_F(GLRendererTest, TransparentBackground) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -658,7 +658,7 @@ TEST_F(GLRendererTest, OffscreenOutputSurface) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -739,7 +739,7 @@ TEST_F(GLRendererTest, VisibilityChangeIsLastCall) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -803,7 +803,7 @@ TEST_F(GLRendererTest, ActiveTextureState) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -882,7 +882,7 @@ TEST_F(GLRendererTest, ShouldClearRootRenderPass) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; settings.should_clear_root_render_pass = false; @@ -974,7 +974,7 @@ TEST_F(GLRendererTest, ScissorTestWhenClearing) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -1067,7 +1067,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; settings.partial_swap_enabled = true; @@ -1252,7 +1252,7 @@ TEST_F(GLRendererTest, ScissorAndViewportWithinNonreshapableSurface) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); LayerTreeSettings settings; FakeRendererClient renderer_client; @@ -1627,7 +1627,8 @@ class MockOutputSurfaceTest : public GLRendererTest { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - &output_surface_, shared_bitmap_manager_.get(), 0, false, 1).Pass(); + &output_surface_, shared_bitmap_manager_.get(), 0, false, 1, false) + .Pass(); renderer_.reset(new FakeRendererGL(&renderer_client_, &settings_, diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc index 3b0c65a..c258c9d 100644 --- a/cc/output/overlay_unittest.cc +++ b/cc/output/overlay_unittest.cc @@ -213,7 +213,7 @@ TEST(OverlayTest, OverlaysProcessorHasStrategy) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - &output_surface, shared_bitmap_manager.get(), 0, false, 1)); + &output_surface, shared_bitmap_manager.get(), 0, false, 1, false)); scoped_ptr<DefaultOverlayProcessor> overlay_processor( new DefaultOverlayProcessor(&output_surface, resource_provider.get())); @@ -232,7 +232,8 @@ class SingleOverlayOnTopTest : public testing::Test { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); overlay_processor_.reset(new SingleOverlayProcessor( output_surface_.get(), resource_provider_.get())); @@ -510,7 +511,8 @@ class GLRendererWithOverlaysTest : public testing::Test { output_surface_.reset(new OverlayOutputSurface(provider_)); CHECK(output_surface_->BindToClient(&output_surface_client_)); resource_provider_ = - ResourceProvider::Create(output_surface_.get(), NULL, 0, false, 1); + ResourceProvider::Create(output_surface_.get(), NULL, 0, false, 1, + false); provider_->support()->SetScheduleOverlayPlaneCallback(base::Bind( &MockOverlayScheduler::Schedule, base::Unretained(&scheduler_))); diff --git a/cc/output/renderer_unittest.cc b/cc/output/renderer_unittest.cc index c6185ec..f103baa 100644 --- a/cc/output/renderer_unittest.cc +++ b/cc/output/renderer_unittest.cc @@ -62,7 +62,8 @@ class RendererTest : public ::testing::Test { output_surface_.reset(new OutputSurface(context_provider_)); output_surface_->BindToClient(&output_surface_client_); resource_provider_ = - ResourceProvider::Create(output_surface_.get(), NULL, 0, false, 1); + ResourceProvider::Create(output_surface_.get(), NULL, 0, false, 1, + false); renderer_ = CreateRenderer<T>(&renderer_client_, &tree_settings_, output_surface_.get(), diff --git a/cc/output/software_renderer_unittest.cc b/cc/output/software_renderer_unittest.cc index a80d052..2fd6c6d5 100644 --- a/cc/output/software_renderer_unittest.cc +++ b/cc/output/software_renderer_unittest.cc @@ -35,7 +35,8 @@ class SoftwareRendererTest : public testing::Test, public RendererClient { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); renderer_ = SoftwareRenderer::Create( this, &settings_, output_surface_.get(), resource_provider()); } diff --git a/cc/resources/picture_layer_tiling_set_unittest.cc b/cc/resources/picture_layer_tiling_set_unittest.cc index 32a64eb..259301b 100644 --- a/cc/resources/picture_layer_tiling_set_unittest.cc +++ b/cc/resources/picture_layer_tiling_set_unittest.cc @@ -69,7 +69,7 @@ class PictureLayerTilingSetTestWithResources : public testing::Test { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider = ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false); FakePictureLayerTilingClient client(resource_provider.get()); client.SetTileSize(gfx::Size(256, 256)); diff --git a/cc/resources/picture_layer_tiling_unittest.cc b/cc/resources/picture_layer_tiling_unittest.cc index e1eddd7..82a1080 100644 --- a/cc/resources/picture_layer_tiling_unittest.cc +++ b/cc/resources/picture_layer_tiling_unittest.cc @@ -948,7 +948,7 @@ TEST(PictureLayerTilingTest, TilingEvictionTileIteratorStaticViewport) { CHECK(output_surface->BindToClient(&output_surface_client)); TestSharedBitmapManager shared_bitmap_manager; scoped_ptr<ResourceProvider> resource_provider = ResourceProvider::Create( - output_surface.get(), &shared_bitmap_manager, 0, false, 1); + output_surface.get(), &shared_bitmap_manager, 0, false, 1, false); FakePictureLayerTilingClient client(resource_provider.get()); scoped_ptr<TestablePictureLayerTiling> tiling; diff --git a/cc/resources/prioritized_resource_unittest.cc b/cc/resources/prioritized_resource_unittest.cc index 7bbe70f..14eb317 100644 --- a/cc/resources/prioritized_resource_unittest.cc +++ b/cc/resources/prioritized_resource_unittest.cc @@ -29,7 +29,8 @@ class PrioritizedResourceTest : public testing::Test { CHECK(output_surface_->BindToClient(&output_surface_client_)); shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); } virtual ~PrioritizedResourceTest() { diff --git a/cc/resources/prioritized_tile_set_unittest.cc b/cc/resources/prioritized_tile_set_unittest.cc index ebe144e..69fef52 100644 --- a/cc/resources/prioritized_tile_set_unittest.cc +++ b/cc/resources/prioritized_tile_set_unittest.cc @@ -57,7 +57,8 @@ class PrioritizedTileSetTest : public testing::Test { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1) + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false) .Pass(); resource_pool_ = ResourcePool::Create( resource_provider_.get(), GL_TEXTURE_2D, RGBA_8888); diff --git a/cc/resources/raster_worker_pool_perftest.cc b/cc/resources/raster_worker_pool_perftest.cc index 14e4d23..0689e50 100644 --- a/cc/resources/raster_worker_pool_perftest.cc +++ b/cc/resources/raster_worker_pool_perftest.cc @@ -158,8 +158,8 @@ class RasterWorkerPoolPerfTestBase { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1) - .Pass(); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false).Pass(); staging_resource_pool_ = ResourcePool::Create( resource_provider_.get(), GL_TEXTURE_2D, RGBA_8888); } diff --git a/cc/resources/raster_worker_pool_unittest.cc b/cc/resources/raster_worker_pool_unittest.cc index 32373a5..7a5f324 100644 --- a/cc/resources/raster_worker_pool_unittest.cc +++ b/cc/resources/raster_worker_pool_unittest.cc @@ -114,8 +114,8 @@ class RasterWorkerPoolTest shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1) - .Pass(); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false).Pass(); staging_resource_pool_ = ResourcePool::Create( resource_provider_.get(), GL_TEXTURE_2D, RGBA_8888); diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc index 538e57b..c49591c 100644 --- a/cc/resources/resource_provider.cc +++ b/cc/resources/resource_provider.cc @@ -431,8 +431,11 @@ bool ResourceProvider::RasterBuffer::UnlockForWrite() { ResourceProvider::DirectRasterBuffer::DirectRasterBuffer( const Resource* resource, - ResourceProvider* resource_provider) - : RasterBuffer(resource, resource_provider), surface_generation_id_(0u) {} + ResourceProvider* resource_provider, + bool use_distance_field_text ) + : RasterBuffer(resource, resource_provider), + surface_generation_id_(0u), + use_distance_field_text_(use_distance_field_text) {} ResourceProvider::DirectRasterBuffer::~DirectRasterBuffer() {} @@ -466,8 +469,11 @@ skia::RefPtr<SkSurface> ResourceProvider::DirectRasterBuffer::CreateSurface() { desc.fTextureHandle = resource()->gl_id; skia::RefPtr<GrTexture> gr_texture = skia::AdoptRef(gr_context->wrapBackendTexture(desc)); - surface = skia::AdoptRef( - SkSurface::NewRenderTargetDirect(gr_texture->asRenderTarget())); + SkSurface::TextRenderMode text_render_mode = + use_distance_field_text_ ? SkSurface::kDistanceField_TextRenderMode + : SkSurface::kStandard_TextRenderMode; + surface = skia::AdoptRef(SkSurface::NewRenderTargetDirect( + gr_texture->asRenderTarget(), text_render_mode)); } break; } @@ -592,13 +598,15 @@ scoped_ptr<ResourceProvider> ResourceProvider::Create( SharedBitmapManager* shared_bitmap_manager, int highp_threshold_min, bool use_rgba_4444_texture_format, - size_t id_allocation_chunk_size) { + size_t id_allocation_chunk_size, + bool use_distance_field_text) { scoped_ptr<ResourceProvider> resource_provider( new ResourceProvider(output_surface, shared_bitmap_manager, highp_threshold_min, use_rgba_4444_texture_format, - id_allocation_chunk_size)); + id_allocation_chunk_size, + use_distance_field_text)); if (resource_provider->ContextGL()) resource_provider->InitializeGL(); @@ -1237,7 +1245,8 @@ ResourceProvider::ResourceProvider(OutputSurface* output_surface, SharedBitmapManager* shared_bitmap_manager, int highp_threshold_min, bool use_rgba_4444_texture_format, - size_t id_allocation_chunk_size) + size_t id_allocation_chunk_size, + bool use_distance_field_text) : output_surface_(output_surface), shared_bitmap_manager_(shared_bitmap_manager), lost_output_surface_(false), @@ -1252,7 +1261,8 @@ ResourceProvider::ResourceProvider(OutputSurface* output_surface, best_texture_format_(RGBA_8888), use_rgba_4444_texture_format_(use_rgba_4444_texture_format), id_allocation_chunk_size_(id_allocation_chunk_size), - use_sync_query_(false) { + use_sync_query_(false), + use_distance_field_text_(use_distance_field_text) { DCHECK(output_surface_->HasClient()); DCHECK(id_allocation_chunk_size_); } @@ -1741,7 +1751,7 @@ SkCanvas* ResourceProvider::MapDirectRasterBuffer(ResourceId id) { Resource* resource = GetResource(id); if (!resource->direct_raster_buffer.get()) { resource->direct_raster_buffer.reset( - new DirectRasterBuffer(resource, this)); + new DirectRasterBuffer(resource, this, use_distance_field_text_)); } return resource->direct_raster_buffer->LockForWrite(); } diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h index 4cd9c46..1d991e2 100644 --- a/cc/resources/resource_provider.h +++ b/cc/resources/resource_provider.h @@ -75,7 +75,8 @@ class CC_EXPORT ResourceProvider { SharedBitmapManager* shared_bitmap_manager, int highp_threshold_min, bool use_rgba_4444_texture_format, - size_t id_allocation_chunk_size); + size_t id_allocation_chunk_size, + bool use_distance_field_text); virtual ~ResourceProvider(); void InitializeSoftware(); @@ -476,7 +477,8 @@ class CC_EXPORT ResourceProvider { class DirectRasterBuffer : public RasterBuffer { public: DirectRasterBuffer(const Resource* resource, - ResourceProvider* resource_provider); + ResourceProvider* resource_provider, + bool use_distance_field_text); virtual ~DirectRasterBuffer(); protected: @@ -487,6 +489,7 @@ class CC_EXPORT ResourceProvider { private: skia::RefPtr<SkSurface> surface_; uint32_t surface_generation_id_; + const bool use_distance_field_text_; DISALLOW_COPY_AND_ASSIGN(DirectRasterBuffer); }; @@ -565,7 +568,8 @@ class CC_EXPORT ResourceProvider { SharedBitmapManager* shared_bitmap_manager, int highp_threshold_min, bool use_rgba_4444_texture_format, - size_t id_allocation_chunk_size); + size_t id_allocation_chunk_size, + bool use_distance_field_text); void CleanUpGLIfNeeded(); @@ -651,6 +655,8 @@ class CC_EXPORT ResourceProvider { bool use_sync_query_; + bool use_distance_field_text_; + DISALLOW_COPY_AND_ASSIGN(ResourceProvider); }; diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc index 05b3233..547bdbb 100644 --- a/cc/resources/resource_provider_unittest.cc +++ b/cc/resources/resource_provider_unittest.cc @@ -403,13 +403,15 @@ class ResourceProviderTest shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); child_resource_provider_ = ResourceProvider::Create( child_output_surface_.get(), shared_bitmap_manager_.get(), 0, false, - 1); + 1, + false); } static void CollectResources(ReturnedResourceArray* array, @@ -1112,7 +1114,8 @@ TEST_P(ResourceProviderTest, TransferGLToSoftware) { CHECK(child_output_surface->BindToClient(&child_output_surface_client)); scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create( - child_output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + child_output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, + false)); gfx::Size size(1, 1); ResourceFormat format = RGBA_8888; @@ -1592,7 +1595,8 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest { shared_bitmap_manager.get(), 0, false, - 1)); + 1, + false)); scoped_ptr<TextureStateTrackingContext> parent_context_owned( new TextureStateTrackingContext); @@ -1608,7 +1612,8 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest { shared_bitmap_manager.get(), 0, false, - 1)); + 1, + false)); gfx::Size size(1, 1); ResourceFormat format = RGBA_8888; @@ -2216,7 +2221,7 @@ TEST_P(ResourceProviderTest, ScopedSampler) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); gfx::Size size(1, 1); ResourceFormat format = RGBA_8888; @@ -2297,7 +2302,7 @@ TEST_P(ResourceProviderTest, ManagedResource) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); gfx::Size size(1, 1); ResourceFormat format = RGBA_8888; @@ -2346,7 +2351,7 @@ TEST_P(ResourceProviderTest, TextureWrapMode) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); gfx::Size size(1, 1); ResourceFormat format = RGBA_8888; @@ -2400,7 +2405,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( base::Bind(&EmptyReleaseCallback)); @@ -2435,7 +2440,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); unsigned texture_id = 1; uint32 sync_point = 30; @@ -2499,7 +2504,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); unsigned texture_id = 1; uint32 sync_point = 30; @@ -2637,7 +2642,7 @@ TEST_P(ResourceProviderTest, TextureAllocation) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); gfx::Size size(2, 2); gfx::Vector2d offset(0, 0); @@ -2710,7 +2715,7 @@ TEST_P(ResourceProviderTest, TextureAllocationStorageUsageAny) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); gfx::Size size(2, 2); ResourceFormat format = RGBA_8888; @@ -2747,7 +2752,7 @@ TEST_P(ResourceProviderTest, TextureAllocationStorageUsageFramebuffer) { CHECK(output_surface->BindToClient(&output_surface_client)); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); gfx::Size size(2, 2); ResourceFormat format = RGBA_8888; @@ -2790,7 +2795,7 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) { int texture_id = 123; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); @@ -2831,7 +2836,7 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) { int texture_id = 123; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); @@ -2872,7 +2877,7 @@ TEST_P(ResourceProviderTest, PixelBufferLostContext) { int texture_id = 123; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id)); @@ -2911,7 +2916,7 @@ TEST_P(ResourceProviderTest, Image_GLTexture) { const unsigned kImageId = 234u; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); @@ -3005,7 +3010,7 @@ TEST_P(ResourceProviderTest, Image_Bitmap) { const uint32_t kBadBeef = 0xbadbeef; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); @@ -3053,7 +3058,7 @@ TEST_P(ResourceProviderTest, CopyResource_GLTexture) { const unsigned kImageId = 234u; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); source_id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); @@ -3131,7 +3136,7 @@ TEST_P(ResourceProviderTest, CopyResource_Bitmap) { const uint32_t kBadBeef = 0xbadbeef; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); source_id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); @@ -3188,7 +3193,7 @@ TEST(ResourceProviderTest, BasicInitializeGLSoftware) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL); @@ -3225,7 +3230,8 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1Allocate) { shared_bitmap_manager_.get(), 0, false, - 1)); + 1, + false)); int texture_id = 123; ResourceProvider::ResourceId id = resource_provider->CreateResource( @@ -3259,7 +3265,8 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1SetPixels) { shared_bitmap_manager_.get(), 0, false, - 1)); + 1, + false)); int texture_id = 123; uint8_t pixels[8]; @@ -3318,7 +3325,8 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) { shared_bitmap_manager.get(), 0, false, - kTextureAllocationChunkSize)); + kTextureAllocationChunkSize, + false)); ResourceProvider::ResourceId id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); @@ -3336,7 +3344,8 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) { shared_bitmap_manager.get(), 0, false, - kTextureAllocationChunkSize)); + kTextureAllocationChunkSize, + false)); ResourceProvider::ResourceId id = resource_provider->CreateResource( size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); diff --git a/cc/resources/resource_update_controller_unittest.cc b/cc/resources/resource_update_controller_unittest.cc index 44e65a5..0fb899d 100644 --- a/cc/resources/resource_update_controller_unittest.cc +++ b/cc/resources/resource_update_controller_unittest.cc @@ -126,7 +126,8 @@ class ResourceUpdateControllerTest : public Test { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); } void AppendFullUploadsOfIndexedTextureToUpdateQueue(int count, diff --git a/cc/resources/scoped_resource_unittest.cc b/cc/resources/scoped_resource_unittest.cc index 8c97d8e..5042221 100644 --- a/cc/resources/scoped_resource_unittest.cc +++ b/cc/resources/scoped_resource_unittest.cc @@ -22,7 +22,7 @@ TEST(ScopedResourceTest, NewScopedResource) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); scoped_ptr<ScopedResource> texture = ScopedResource::Create(resource_provider.get()); @@ -42,7 +42,7 @@ TEST(ScopedResourceTest, CreateScopedResource) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); scoped_ptr<ScopedResource> texture = ScopedResource::Create(resource_provider.get()); texture->Allocate(gfx::Size(30, 30), @@ -66,7 +66,7 @@ TEST(ScopedResourceTest, ScopedResourceIsDeleted) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); { scoped_ptr<ScopedResource> texture = ScopedResource::Create(resource_provider.get()); @@ -102,7 +102,7 @@ TEST(ScopedResourceTest, LeakScopedResource) { scoped_ptr<SharedBitmapManager> shared_bitmap_manager( new TestSharedBitmapManager()); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); { scoped_ptr<ScopedResource> texture = ScopedResource::Create(resource_provider.get()); diff --git a/cc/resources/tile_manager_perftest.cc b/cc/resources/tile_manager_perftest.cc index e81270d..d16eba82 100644 --- a/cc/resources/tile_manager_perftest.cc +++ b/cc/resources/tile_manager_perftest.cc @@ -47,7 +47,8 @@ class TileManagerPerfTest : public testing::Test { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); resource_pool_ = ResourcePool::Create( resource_provider_.get(), GL_TEXTURE_2D, RGBA_8888); size_t raster_task_limit_bytes = 32 * 1024 * 1024; // 16-64MB in practice. diff --git a/cc/resources/tile_manager_unittest.cc b/cc/resources/tile_manager_unittest.cc index d3f14ae..889a758 100644 --- a/cc/resources/tile_manager_unittest.cc +++ b/cc/resources/tile_manager_unittest.cc @@ -39,7 +39,8 @@ class TileManagerTest : public testing::TestWithParam<bool>, shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); resource_pool_ = ResourcePool::Create( resource_provider_.get(), GL_TEXTURE_2D, RGBA_8888); tile_manager_ = make_scoped_ptr(new FakeTileManager( diff --git a/cc/resources/video_resource_updater_unittest.cc b/cc/resources/video_resource_updater_unittest.cc index ed53eb9..05bcf22 100644 --- a/cc/resources/video_resource_updater_unittest.cc +++ b/cc/resources/video_resource_updater_unittest.cc @@ -28,7 +28,8 @@ class VideoResourceUpdaterTest : public testing::Test { CHECK(output_surface3d_->BindToClient(&client_)); shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider3d_ = ResourceProvider::Create( - output_surface3d_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface3d_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); } scoped_refptr<media::VideoFrame> CreateTestYUVVideoFrame() { diff --git a/cc/test/pixel_test.cc b/cc/test/pixel_test.cc index f716eea..ae2e998 100644 --- a/cc/test/pixel_test.cc +++ b/cc/test/pixel_test.cc @@ -110,7 +110,7 @@ void PixelTest::SetUpGLRenderer(bool use_skia_gpu_backend) { shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, false); texture_mailbox_deleter_ = make_scoped_ptr( new TextureMailboxDeleter(base::MessageLoopProxy::current())); @@ -152,7 +152,7 @@ void PixelTest::SetUpSoftwareRenderer() { output_surface_->BindToClient(output_surface_client_.get()); shared_bitmap_manager_.reset(new TestSharedBitmapManager()); resource_provider_ = ResourceProvider::Create( - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, false); renderer_ = SoftwareRenderer::Create( this, &settings_, output_surface_.get(), resource_provider_.get()) diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc index e158759..9950faa 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc @@ -1952,7 +1952,8 @@ bool LayerTreeHostImpl::InitializeRenderer( shared_bitmap_manager_, settings_.highp_threshold_min, settings_.use_rgba_4444_textures, - settings_.texture_id_allocation_chunk_size); + settings_.texture_id_allocation_chunk_size, + settings_.use_distance_field_text); if (output_surface->capabilities().deferred_gl_initialization) EnforceZeroBudget(true); diff --git a/cc/trees/layer_tree_host_unittest_context.cc b/cc/trees/layer_tree_host_unittest_context.cc index 84e324b..334368f 100644 --- a/cc/trees/layer_tree_host_unittest_context.cc +++ b/cc/trees/layer_tree_host_unittest_context.cc @@ -679,7 +679,8 @@ class LayerTreeHostContextTestDontUseLostResources child_output_surface_->BindToClient(&output_surface_client_); shared_bitmap_manager_.reset(new TestSharedBitmapManager()); child_resource_provider_ = ResourceProvider::Create( - child_output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); + child_output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, + false); } static void EmptyReleaseCallback(unsigned sync_point, bool lost) {} diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h index ad3ee6f..6febd84 100644 --- a/cc/trees/layer_tree_settings.h +++ b/cc/trees/layer_tree_settings.h @@ -30,6 +30,7 @@ class CC_EXPORT LayerTreeSettings { bool partial_swap_enabled; bool accelerated_animation_enabled; bool can_use_lcd_text; + bool use_distance_field_text; bool should_clear_root_render_pass; bool gpu_rasterization_enabled; bool gpu_rasterization_forced; |