| Index: content/browser/gpu/gpu_data_manager_impl_private.h
|
| diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h
|
| index 8e5514fad318236925412283a590aeb13884e9ef..61c1988bea4e06b4570f242ab033edd94f07d03d 100644
|
| --- a/content/browser/gpu/gpu_data_manager_impl_private.h
|
| +++ b/content/browser/gpu/gpu_data_manager_impl_private.h
|
| @@ -42,6 +42,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
|
| void RequestVideoMemoryUsageStatsUpdate() const;
|
| bool ShouldUseSwiftShader() const;
|
| void RegisterSwiftShaderPath(const base::FilePath& path);
|
| + bool ShouldUseWarp() const;
|
| void AddObserver(GpuDataManagerObserver* observer);
|
| void RemoveObserver(GpuDataManagerObserver* observer);
|
| void UnblockDomainFrom3DAPIs(const GURL& url);
|
| @@ -127,6 +128,8 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
|
| FRIEND_TEST_ALL_PREFIXES(GpuDataManagerImplPrivateTest,
|
| SwiftShaderRendering2);
|
| FRIEND_TEST_ALL_PREFIXES(GpuDataManagerImplPrivateTest,
|
| + WarpEnabledOverridesSwiftShader);
|
| + FRIEND_TEST_ALL_PREFIXES(GpuDataManagerImplPrivateTest,
|
| GpuInfoUpdate);
|
| FRIEND_TEST_ALL_PREFIXES(GpuDataManagerImplPrivateTest,
|
| NoGpuInfoUpdateWithSwiftShader);
|
| @@ -201,6 +204,13 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
|
| // Try to switch to SwiftShader rendering, if possible and necessary.
|
| void EnableSwiftShaderIfNecessary();
|
|
|
| + // Try to switch to WARP rendering if the GPU hardware is not supported or
|
| + // absent, and if we are trying to run in Windows Metro mode.
|
| + void EnableWarpIfNecessary();
|
| +
|
| + // Use only for testing, forces |use_warp_| to true.
|
| + void ForceWarpModeForTesting();
|
| +
|
| // Helper to extract the domain from a given URL.
|
| std::string GetDomainFromURL(const GURL& url) const;
|
|
|
| @@ -231,6 +241,8 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
|
|
|
| bool use_swiftshader_;
|
|
|
| + bool use_warp_;
|
| +
|
| base::FilePath swiftshader_path_;
|
|
|
| // Current card force-blacklisted due to GPU crashes, or disabled through
|
|
|