summaryrefslogtreecommitdiffstats
path: root/cc/output
diff options
context:
space:
mode:
authorchristiank <christiank@opera.com>2015-12-10 13:31:31 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-10 21:33:20 +0000
commit10fc39d36c0ba481056ec91a2984e02fd1127cf4 (patch)
tree39970d082f022ce1b38d7a74ab0b8bb20e7042f7 /cc/output
parenta25128084bd5061934fd5c0f9730817f304ad8a4 (diff)
downloadchromium_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.cc17
-rw-r--r--cc/output/renderer_settings.h3
-rw-r--r--cc/output/renderer_settings_unittest.cc4
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);
}