gpu_blacklist.cc revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "gpu/config/gpu_blacklist.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "gpu/config/gpu_feature_type.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)namespace gpu {
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GpuBlacklist::GpuBlacklist()
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : GpuControlList() {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GpuBlacklist::~GpuBlacklist() {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)GpuBlacklist* GpuBlacklist::Create() {
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  GpuBlacklist* list = new GpuBlacklist();
21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("accelerated_2d_canvas",
22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS);
23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("accelerated_compositing",
24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING);
25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("webgl",
26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_WEBGL);
27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("multisampling",
28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_MULTISAMPLING);
29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("flash_3d",
30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_FLASH3D);
31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("flash_stage3d",
32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_FLASH_STAGE3D);
33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("flash_stage3d_baseline",
34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_FLASH_STAGE3D_BASELINE);
35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("texture_sharing",
36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_TEXTURE_SHARING);
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("accelerated_video_decode",
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE);
39a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  list->AddSupportedFeature("accelerated_video_encode",
40a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                            GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE);
41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("3d_css",
42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_3D_CSS);
43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("accelerated_video",
44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_ACCELERATED_VIDEO);
45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("panel_fitting",
46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_PANEL_FITTING);
47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("force_compositing_mode",
48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_FORCE_COMPOSITING_MODE);
49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->set_supports_feature_type_all(true);
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return list;
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}  // namespace gpu
54