| // Copyright (c) 2011 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. |
| |
| #include "gpu/config/gpu_util.h" |
| |
| #include "base/command_line.h" |
| #include "gpu/config/gpu_driver_bug_workaround_type.h" |
| #include "gpu/config/gpu_info.h" |
| #include "gpu/config/gpu_preferences.h" |
| #include "gpu/config/gpu_switches.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace gpu { |
| |
| TEST(GpuUtilTest, GetGpuFeatureInfo_WorkaroundFromCommandLine) { |
| { |
| base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| GPUInfo gpu_info; |
| GpuFeatureInfo gpu_feature_info = ComputeGpuFeatureInfo( |
| gpu_info, GpuPreferences(), &command_line, nullptr); |
| EXPECT_FALSE(gpu_feature_info.IsWorkaroundEnabled( |
| USE_GPU_DRIVER_WORKAROUND_FOR_TESTING)); |
| } |
| |
| { |
| base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| command_line.AppendSwitchASCII(GpuDriverBugWorkaroundTypeToString( |
| USE_GPU_DRIVER_WORKAROUND_FOR_TESTING), |
| "1"); |
| GPUInfo gpu_info; |
| GpuFeatureInfo gpu_feature_info = ComputeGpuFeatureInfo( |
| gpu_info, GpuPreferences(), &command_line, nullptr); |
| EXPECT_TRUE(gpu_feature_info.IsWorkaroundEnabled( |
| USE_GPU_DRIVER_WORKAROUND_FOR_TESTING)); |
| } |
| |
| { |
| base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| command_line.AppendSwitchASCII(switches::kGpuDriverBugListTestGroup, "1"); |
| // See gpu/config/gpu_driver_bug_list.json, test_group 1, entry 215. |
| GPUInfo gpu_info; |
| GpuFeatureInfo gpu_feature_info = ComputeGpuFeatureInfo( |
| gpu_info, GpuPreferences(), &command_line, nullptr); |
| EXPECT_TRUE(gpu_feature_info.IsWorkaroundEnabled( |
| USE_GPU_DRIVER_WORKAROUND_FOR_TESTING)); |
| } |
| |
| { |
| base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| command_line.AppendSwitchASCII(switches::kGpuDriverBugListTestGroup, "1"); |
| command_line.AppendSwitchASCII(GpuDriverBugWorkaroundTypeToString( |
| USE_GPU_DRIVER_WORKAROUND_FOR_TESTING), |
| "0"); |
| // See gpu/config/gpu_driver_bug_list.json, test_group 1, entry 215. |
| GPUInfo gpu_info; |
| GpuFeatureInfo gpu_feature_info = ComputeGpuFeatureInfo( |
| gpu_info, GpuPreferences(), &command_line, nullptr); |
| EXPECT_FALSE(gpu_feature_info.IsWorkaroundEnabled( |
| USE_GPU_DRIVER_WORKAROUND_FOR_TESTING)); |
| } |
| } |
| |
| } // namespace gpu |