blob: 59d0d5e463d5c4386f63a871e5edce5c67969426 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_TREES_RASTER_CAPABILITIES_H_
#define CC_TREES_RASTER_CAPABILITIES_H_
#include "cc/cc_export.h"
#include "components/viz/common/resources/shared_image_format.h"
namespace cc {
struct CC_EXPORT RasterCapabilities {
RasterCapabilities();
RasterCapabilities(const RasterCapabilities& other);
RasterCapabilities& operator=(const RasterCapabilities& other);
~RasterCapabilities();
bool use_gpu_rasterization = false;
bool can_use_msaa = false;
// The maximum size (either width or height) that any texture can be. Also
// holds a reasonable value for software compositing bitmaps.
int max_texture_size = 0;
// Format used to allocate tiles.
viz::SharedImageFormat tile_format = viz::SinglePlaneFormat::kRGBA_8888;
// If tile textures are overlay candidates.
bool tile_overlay_candidate = false;
// Format used to allocate RGBA8 UI resources.
viz::SharedImageFormat ui_rgba_format = viz::SinglePlaneFormat::kRGBA_8888;
};
} // namespace cc
#endif // CC_TREES_RASTER_CAPABILITIES_H_