| Index: chrome/common/gpu_feature_flags.h
|
| ===================================================================
|
| --- chrome/common/gpu_feature_flags.h (revision 0)
|
| +++ chrome/common/gpu_feature_flags.h (revision 0)
|
| @@ -0,0 +1,58 @@
|
| +// Copyright (c) 2010 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 CHROME_COMMON_GPU_FEATURE_FLAGS_H__
|
| +#define CHROME_COMMON_GPU_FEATURE_FLAGS_H__
|
| +#pragma once
|
| +
|
| +// Provides flags indicating which gpu features are blacklisted for the system
|
| +// on which chrome is currently running.
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +
|
| +class GpuFeatureFlags {
|
| + public:
|
| + enum GpuFeatureType {
|
| + kGpuFeatureAccelerated2dCanvas = 1 << 0,
|
| + kGpuFeatureAcceleratedCompositing = 1 << 1,
|
| + kGpuFeatureWebgl = 1 << 2,
|
| + kGpuFeatureAll = kGpuFeatureAccelerated2dCanvas |
|
| + kGpuFeatureAcceleratedCompositing |
|
| + kGpuFeatureWebgl,
|
| + kGpuFeatureUnknown = 0
|
| + };
|
| +
|
| + // All flags initialized to false, i.e., no feature is blacklisted.
|
| + GpuFeatureFlags();
|
| +
|
| + // flags are OR combination of GpuFeatureType.
|
| + void set_flags(uint32 flags);
|
| +
|
| + uint32 flags() const;
|
| +
|
| + // Resets each flag by OR with the corresponding flag in "other".
|
| + void Combine(const GpuFeatureFlags& other);
|
| +
|
| + // Maps string to GpuFeatureType; returns kGpuFeatureUnknown if none of the
|
| + // following is input (case-sensitive):
|
| + // "accelerated_2d_canvas"
|
| + // "accelerated_compositing"
|
| + // "webgl"
|
| + static GpuFeatureType StringToGpuFeatureType(
|
| + const std::string& feature_string);
|
| +
|
| + private:
|
| + static const char kGpuFeatureNameAccelerated2dCanvas[];
|
| + static const char kGpuFeatureNameAcceleratedCompositing[];
|
| + static const char kGpuFeatureNameWebgl[];
|
| + static const char kGpuFeatureNameAll[];
|
| +
|
| + // If a bit is set to 1, corresponding feature is blacklisted.
|
| + uint32 flags_;
|
| +};
|
| +
|
| +#endif // CHROME_COMMON_GPU_FEATURE_FLAGS_H__
|
| +
|
|
|