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);
230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  list->AddSupportedFeature("gpu_compositing",
240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                            GPU_FEATURE_TYPE_GPU_COMPOSITING);
25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("webgl",
26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_WEBGL);
27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("flash_3d",
28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_FLASH3D);
29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("flash_stage3d",
30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_FLASH_STAGE3D);
31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("flash_stage3d_baseline",
32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_FLASH_STAGE3D_BASELINE);
33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("accelerated_video_decode",
34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE);
35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  list->AddSupportedFeature("accelerated_video_encode",
36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                            GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE);
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->AddSupportedFeature("panel_fitting",
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                            GPU_FEATURE_TYPE_PANEL_FITTING);
390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  list->AddSupportedFeature("gpu_rasterization",
400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                            GPU_FEATURE_TYPE_GPU_RASTERIZATION);
41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  list->set_supports_feature_type_all(true);
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return list;
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}  // namespace gpu
46