blob: e8cbd77c1f85d3c58fccbf88a0cacf0072684e91 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_OUTPUT_RENDERER_SETTINGS_H_
#define CC_OUTPUT_RENDERER_SETTINGS_H_
#include <stddef.h>
#include "cc/base/cc_export.h"
#include "cc/resources/resource_format.h"
namespace cc {
namespace proto {
class RendererSettings;
} // namespace proto
class CC_EXPORT RendererSettings {
public:
RendererSettings();
RendererSettings(const RendererSettings& other);
~RendererSettings();
bool allow_antialiasing;
bool force_antialiasing;
bool force_blending_with_shaders;
bool partial_swap_enabled;
bool finish_rendering_on_resize;
bool should_clear_root_render_pass;
bool disable_display_vsync;
bool release_overlay_resources_on_swap_complete;
double refresh_rate;
int highp_threshold_min;
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);
bool operator==(const RendererSettings& other) const;
};
} // namespace cc
#endif // CC_OUTPUT_RENDERER_SETTINGS_H_