diff options
author | christiank <christiank@opera.com> | 2015-12-10 13:31:31 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-10 21:33:20 +0000 |
commit | 10fc39d36c0ba481056ec91a2984e02fd1127cf4 (patch) | |
tree | 39970d082f022ce1b38d7a74ab0b8bb20e7042f7 /cc/output | |
parent | a25128084bd5061934fd5c0f9730817f304ad8a4 (diff) | |
download | chromium_src-10fc39d36c0ba481056ec91a2984e02fd1127cf4.zip chromium_src-10fc39d36c0ba481056ec91a2984e02fd1127cf4.tar.gz chromium_src-10fc39d36c0ba481056ec91a2984e02fd1127cf4.tar.bz2 |
Allow one-copy and zero-copy task tile worker pools to use compressed textures.
BUG=434699
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/7d60ce9a132a88ead407a2a58c91edc431e68259
Cr-Commit-Position: refs/heads/master@{#364326}
Review URL: https://codereview.chromium.org/1379783002
Cr-Commit-Position: refs/heads/master@{#364484}
Diffstat (limited to 'cc/output')
-rw-r--r-- | cc/output/renderer_settings.cc | 17 | ||||
-rw-r--r-- | cc/output/renderer_settings.h | 3 | ||||
-rw-r--r-- | cc/output/renderer_settings_unittest.cc | 4 |
3 files changed, 15 insertions, 9 deletions
diff --git a/cc/output/renderer_settings.cc b/cc/output/renderer_settings.cc index da79a48..4c74710 100644 --- a/cc/output/renderer_settings.cc +++ b/cc/output/renderer_settings.cc @@ -8,6 +8,7 @@ #include "base/logging.h" #include "cc/proto/renderer_settings.pb.h" +#include "cc/resources/platform_color.h" namespace cc { @@ -22,9 +23,9 @@ RendererSettings::RendererSettings() delay_releasing_overlay_resources(false), refresh_rate(60.0), highp_threshold_min(0), - use_rgba_4444_textures(false), texture_id_allocation_chunk_size(64), - use_gpu_memory_buffer_resources(false) {} + use_gpu_memory_buffer_resources(false), + preferred_tile_format(PlatformColor::BestTextureFormat()) {} RendererSettings::~RendererSettings() { } @@ -41,9 +42,9 @@ void RendererSettings::ToProtobuf(proto::RendererSettings* proto) const { delay_releasing_overlay_resources); proto->set_refresh_rate(refresh_rate); proto->set_highp_threshold_min(highp_threshold_min); - proto->set_use_rgba_4444_textures(use_rgba_4444_textures); proto->set_texture_id_allocation_chunk_size(texture_id_allocation_chunk_size); proto->set_use_gpu_memory_buffer_resources(use_gpu_memory_buffer_resources); + proto->set_preferred_tile_format(preferred_tile_format); } void RendererSettings::FromProtobuf(const proto::RendererSettings& proto) { @@ -57,9 +58,13 @@ void RendererSettings::FromProtobuf(const proto::RendererSettings& proto) { delay_releasing_overlay_resources = proto.delay_releasing_overlay_resources(); refresh_rate = proto.refresh_rate(); highp_threshold_min = proto.highp_threshold_min(); - use_rgba_4444_textures = proto.use_rgba_4444_textures(); texture_id_allocation_chunk_size = proto.texture_id_allocation_chunk_size(); use_gpu_memory_buffer_resources = proto.use_gpu_memory_buffer_resources(); + + DCHECK_LE(proto.preferred_tile_format(), + static_cast<uint32_t>(RESOURCE_FORMAT_MAX)); + preferred_tile_format = + static_cast<ResourceFormat>(proto.preferred_tile_format()); } bool RendererSettings::operator==(const RendererSettings& other) const { @@ -74,11 +79,11 @@ bool RendererSettings::operator==(const RendererSettings& other) const { other.delay_releasing_overlay_resources && refresh_rate == other.refresh_rate && highp_threshold_min == other.highp_threshold_min && - use_rgba_4444_textures == other.use_rgba_4444_textures && texture_id_allocation_chunk_size == other.texture_id_allocation_chunk_size && use_gpu_memory_buffer_resources == - other.use_gpu_memory_buffer_resources; + other.use_gpu_memory_buffer_resources && + preferred_tile_format == other.preferred_tile_format; } } // namespace cc diff --git a/cc/output/renderer_settings.h b/cc/output/renderer_settings.h index 4910a25..3d7bf10 100644 --- a/cc/output/renderer_settings.h +++ b/cc/output/renderer_settings.h @@ -7,6 +7,7 @@ #include "base/basictypes.h" #include "cc/base/cc_export.h" +#include "cc/resources/resource_format.h" namespace cc { @@ -29,9 +30,9 @@ class CC_EXPORT RendererSettings { bool delay_releasing_overlay_resources; double refresh_rate; int highp_threshold_min; - bool use_rgba_4444_textures; size_t texture_id_allocation_chunk_size; bool use_gpu_memory_buffer_resources; + ResourceFormat preferred_tile_format; void ToProtobuf(proto::RendererSettings* proto) const; void FromProtobuf(const proto::RendererSettings& proto); diff --git a/cc/output/renderer_settings_unittest.cc b/cc/output/renderer_settings_unittest.cc index b7febd4..40d4f07 100644 --- a/cc/output/renderer_settings_unittest.cc +++ b/cc/output/renderer_settings_unittest.cc @@ -30,9 +30,9 @@ TEST(RendererSettingsTest, AllFieldsFlipped) { settings.delay_releasing_overlay_resources = true; settings.refresh_rate = 6.0; settings.highp_threshold_min = 1; - settings.use_rgba_4444_textures = true; settings.texture_id_allocation_chunk_size = 46; settings.use_gpu_memory_buffer_resources = true; + settings.preferred_tile_format = RGBA_4444; VerifySerializeAndDeserializeProto(settings); } @@ -48,9 +48,9 @@ TEST(RendererSettingsTest, ArbitraryFieldValues) { settings.delay_releasing_overlay_resources = true; settings.refresh_rate = 999.0; settings.highp_threshold_min = 1; - settings.use_rgba_4444_textures = true; settings.texture_id_allocation_chunk_size = 12; settings.use_gpu_memory_buffer_resources = true; + settings.preferred_tile_format = RGBA_4444; VerifySerializeAndDeserializeProto(settings); } |