Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: cc/output/renderer_settings.cc

Issue 2493853002: cc/blimp: Proto Cleanup. (Closed)
Patch Set: Rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/output/renderer_settings.h ('k') | cc/output/renderer_settings_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/output/renderer_settings.h" 5 #include "cc/output/renderer_settings.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "cc/proto/renderer_settings.pb.h"
11 #include "cc/resources/platform_color.h" 10 #include "cc/resources/platform_color.h"
12 11
13 namespace cc { 12 namespace cc {
14 13
15 RendererSettings::RendererSettings() 14 RendererSettings::RendererSettings()
16 : allow_antialiasing(true), 15 : allow_antialiasing(true),
17 force_antialiasing(false), 16 force_antialiasing(false),
18 force_blending_with_shaders(false), 17 force_blending_with_shaders(false),
19 partial_swap_enabled(false), 18 partial_swap_enabled(false),
20 finish_rendering_on_resize(false), 19 finish_rendering_on_resize(false),
21 should_clear_root_render_pass(true), 20 should_clear_root_render_pass(true),
22 disable_display_vsync(false), 21 disable_display_vsync(false),
23 release_overlay_resources_after_gpu_query(false), 22 release_overlay_resources_after_gpu_query(false),
24 gl_composited_texture_quad_border(false), 23 gl_composited_texture_quad_border(false),
25 refresh_rate(60.0), 24 refresh_rate(60.0),
26 highp_threshold_min(0), 25 highp_threshold_min(0),
27 texture_id_allocation_chunk_size(64), 26 texture_id_allocation_chunk_size(64),
28 use_gpu_memory_buffer_resources(false), 27 use_gpu_memory_buffer_resources(false),
29 preferred_tile_format(PlatformColor::BestTextureFormat()) {} 28 preferred_tile_format(PlatformColor::BestTextureFormat()) {}
30 29
31 RendererSettings::RendererSettings(const RendererSettings& other) = default; 30 RendererSettings::RendererSettings(const RendererSettings& other) = default;
32 31
33 RendererSettings::~RendererSettings() { 32 RendererSettings::~RendererSettings() {
34 } 33 }
35 34
36 void RendererSettings::ToProtobuf(proto::RendererSettings* proto) const {
37 proto->set_allow_antialiasing(allow_antialiasing);
38 proto->set_force_antialiasing(force_antialiasing);
39 proto->set_force_blending_with_shaders(force_blending_with_shaders);
40 proto->set_partial_swap_enabled(partial_swap_enabled);
41 proto->set_finish_rendering_on_resize(finish_rendering_on_resize);
42 proto->set_should_clear_root_render_pass(should_clear_root_render_pass);
43 proto->set_disable_display_vsync(disable_display_vsync);
44 proto->set_release_overlay_resources_after_gpu_query(
45 release_overlay_resources_after_gpu_query);
46 proto->set_refresh_rate(refresh_rate);
47 proto->set_highp_threshold_min(highp_threshold_min);
48 proto->set_texture_id_allocation_chunk_size(texture_id_allocation_chunk_size);
49 proto->set_use_gpu_memory_buffer_resources(use_gpu_memory_buffer_resources);
50 proto->set_preferred_tile_format(preferred_tile_format);
51
52 for (const auto& target : buffer_to_texture_target_map) {
53 auto* proto_target = proto->add_buffer_to_texture_target();
54 proto_target->set_buffer_usage(static_cast<uint32_t>(target.first.first));
55 proto_target->set_buffer_format(static_cast<uint32_t>(target.first.second));
56 proto_target->set_texture_target(target.second);
57 }
58 }
59
60 void RendererSettings::FromProtobuf(const proto::RendererSettings& proto) {
61 allow_antialiasing = proto.allow_antialiasing();
62 force_antialiasing = proto.force_antialiasing();
63 force_blending_with_shaders = proto.force_blending_with_shaders();
64 partial_swap_enabled = proto.partial_swap_enabled();
65 finish_rendering_on_resize = proto.finish_rendering_on_resize();
66 should_clear_root_render_pass = proto.should_clear_root_render_pass();
67 disable_display_vsync = proto.disable_display_vsync();
68 release_overlay_resources_after_gpu_query =
69 proto.release_overlay_resources_after_gpu_query();
70 refresh_rate = proto.refresh_rate();
71 highp_threshold_min = proto.highp_threshold_min();
72 texture_id_allocation_chunk_size = proto.texture_id_allocation_chunk_size();
73 use_gpu_memory_buffer_resources = proto.use_gpu_memory_buffer_resources();
74
75 DCHECK_LE(proto.preferred_tile_format(),
76 static_cast<uint32_t>(RESOURCE_FORMAT_MAX));
77 preferred_tile_format =
78 static_cast<ResourceFormat>(proto.preferred_tile_format());
79
80 // |buffer_to_texture_target_map| may contain existing values, so clear first.
81 buffer_to_texture_target_map.clear();
82 for (const auto& proto_target : proto.buffer_to_texture_target()) {
83 buffer_to_texture_target_map.insert(BufferToTextureTargetMap::value_type(
84 BufferToTextureTargetKey(
85 static_cast<gfx::BufferUsage>(proto_target.buffer_usage()),
86 static_cast<gfx::BufferFormat>(proto_target.buffer_format())),
87 proto_target.texture_target()));
88 }
89 }
90
91 bool RendererSettings::operator==(const RendererSettings& other) const { 35 bool RendererSettings::operator==(const RendererSettings& other) const {
92 return allow_antialiasing == other.allow_antialiasing && 36 return allow_antialiasing == other.allow_antialiasing &&
93 force_antialiasing == other.force_antialiasing && 37 force_antialiasing == other.force_antialiasing &&
94 force_blending_with_shaders == other.force_blending_with_shaders && 38 force_blending_with_shaders == other.force_blending_with_shaders &&
95 partial_swap_enabled == other.partial_swap_enabled && 39 partial_swap_enabled == other.partial_swap_enabled &&
96 finish_rendering_on_resize == other.finish_rendering_on_resize && 40 finish_rendering_on_resize == other.finish_rendering_on_resize &&
97 should_clear_root_render_pass == other.should_clear_root_render_pass && 41 should_clear_root_render_pass == other.should_clear_root_render_pass &&
98 disable_display_vsync == other.disable_display_vsync && 42 disable_display_vsync == other.disable_display_vsync &&
99 release_overlay_resources_after_gpu_query == 43 release_overlay_resources_after_gpu_query ==
100 other.release_overlay_resources_after_gpu_query && 44 other.release_overlay_resources_after_gpu_query &&
101 refresh_rate == other.refresh_rate && 45 refresh_rate == other.refresh_rate &&
102 highp_threshold_min == other.highp_threshold_min && 46 highp_threshold_min == other.highp_threshold_min &&
103 texture_id_allocation_chunk_size == 47 texture_id_allocation_chunk_size ==
104 other.texture_id_allocation_chunk_size && 48 other.texture_id_allocation_chunk_size &&
105 use_gpu_memory_buffer_resources == 49 use_gpu_memory_buffer_resources ==
106 other.use_gpu_memory_buffer_resources && 50 other.use_gpu_memory_buffer_resources &&
107 preferred_tile_format == other.preferred_tile_format && 51 preferred_tile_format == other.preferred_tile_format &&
108 buffer_to_texture_target_map == other.buffer_to_texture_target_map; 52 buffer_to_texture_target_map == other.buffer_to_texture_target_map;
109 } 53 }
110 54
111 } // namespace cc 55 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/renderer_settings.h ('k') | cc/output/renderer_settings_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698