diff options
author | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-19 20:59:10 +0000 |
---|---|---|
committer | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-19 20:59:10 +0000 |
commit | 4ddb900984e74201a1923927f6a5bd4cbda3524e (patch) | |
tree | f9ec0a1fb36ec5bc5f30d712a6483ee9ac430e88 /chrome | |
parent | ed77c9a68c6b4f897c30163b778f1df46f8caa10 (diff) | |
download | chromium_src-4ddb900984e74201a1923927f6a5bd4cbda3524e.zip chromium_src-4ddb900984e74201a1923927f6a5bd4cbda3524e.tar.gz chromium_src-4ddb900984e74201a1923927f6a5bd4cbda3524e.tar.bz2 |
Allow blacklisting just sharing textures between processes.
This will allow us to move some of the hardcoded blacklisting logic into the blacklist.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10698172
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147527 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/gpu_blacklist.cc | 1 | ||||
-rw-r--r-- | chrome/browser/gpu_util.cc | 13 | ||||
-rw-r--r-- | chrome/browser/gpu_util.h | 3 | ||||
-rw-r--r-- | chrome/browser/resources/gpu_internals/info_view.js | 3 | ||||
-rw-r--r-- | chrome/browser/resources/software_rendering_list.json | 3 |
5 files changed, 20 insertions, 3 deletions
diff --git a/chrome/browser/gpu_blacklist.cc b/chrome/browser/gpu_blacklist.cc index bddb3c7..685227c 100644 --- a/chrome/browser/gpu_blacklist.cc +++ b/chrome/browser/gpu_blacklist.cc @@ -729,6 +729,7 @@ bool GpuBlacklist::GpuBlacklistEntry::SetBlacklistedFeatures( case content::GPU_FEATURE_TYPE_MULTISAMPLING: case content::GPU_FEATURE_TYPE_FLASH3D: case content::GPU_FEATURE_TYPE_FLASH_STAGE3D: + case content::GPU_FEATURE_TYPE_TEXTURE_SHARING: case content::GPU_FEATURE_TYPE_ALL: feature_type |= type; break; diff --git a/chrome/browser/gpu_util.cc b/chrome/browser/gpu_util.cc index 10293ad..ac98796 100644 --- a/chrome/browser/gpu_util.cc +++ b/chrome/browser/gpu_util.cc @@ -38,6 +38,7 @@ const char kGpuFeatureNameWebgl[] = "webgl"; const char kGpuFeatureNameMultisampling[] = "multisampling"; const char kGpuFeatureNameFlash3d[] = "flash_3d"; const char kGpuFeatureNameFlashStage3d[] = "flash_stage3d"; +const char kGpuFeatureNameTextureSharing[] = "texture_sharing"; const char kGpuFeatureNameAll[] = "all"; const char kGpuFeatureNameUnknown[] = "unknown"; @@ -237,6 +238,8 @@ GpuFeatureType StringToGpuFeatureType(const std::string& feature_string) { return content::GPU_FEATURE_TYPE_FLASH3D; else if (feature_string == kGpuFeatureNameFlashStage3d) return content::GPU_FEATURE_TYPE_FLASH_STAGE3D; + else if (feature_string == kGpuFeatureNameTextureSharing) + return content::GPU_FEATURE_TYPE_TEXTURE_SHARING; else if (feature_string == kGpuFeatureNameAll) return content::GPU_FEATURE_TYPE_ALL; return content::GPU_FEATURE_TYPE_UNKNOWN; @@ -259,6 +262,8 @@ std::string GpuFeatureTypeToString(GpuFeatureType type) { matches.push_back(kGpuFeatureNameFlash3d); if (type & content::GPU_FEATURE_TYPE_FLASH_STAGE3D) matches.push_back(kGpuFeatureNameFlashStage3d); + if (type & content::GPU_FEATURE_TYPE_TEXTURE_SHARING) + matches.push_back(kGpuFeatureNameTextureSharing); if (!matches.size()) matches.push_back(kGpuFeatureNameUnknown); } @@ -336,6 +341,14 @@ Value* GetFeatureStatus() { "Using Stage3d in Flash has been disabled, either via about:flags or" " command line.", false + }, + { + "texture_sharing", + flags & content::GPU_FEATURE_TYPE_TEXTURE_SHARING, + command_line.HasSwitch(switches::kDisableImageTransportSurface), + "Sharing textures between processes has been disabled, either via" + " about:flags or command line.", + false } }; const size_t kNumFeatures = sizeof(kGpuFeatureInfo) / sizeof(GpuFeatureInfo); diff --git a/chrome/browser/gpu_util.h b/chrome/browser/gpu_util.h index 42e6696..e3aacad 100644 --- a/chrome/browser/gpu_util.h +++ b/chrome/browser/gpu_util.h @@ -50,7 +50,8 @@ std::string GpuFeatureTypeToString(content::GpuFeatureType feature); // 'webgl', // 'multisampling', // 'flash_3d', -// 'flash_stage3d' +// 'flash_stage3d', +// 'texture_sharing' // // Each problems has: // { diff --git a/chrome/browser/resources/gpu_internals/info_view.js b/chrome/browser/resources/gpu_internals/info_view.js index 8ada14e..ed9a017 100644 --- a/chrome/browser/resources/gpu_internals/info_view.js +++ b/chrome/browser/resources/gpu_internals/info_view.js @@ -81,7 +81,8 @@ cr.define('gpu', function() { 'webgl': 'WebGL', 'multisampling': 'WebGL multisampling', 'flash_3d': 'Flash 3D', - 'flash_stage3d': 'Flash Stage3D' + 'flash_stage3d': 'Flash Stage3D', + 'texture_sharing': 'Texture Sharing' }; var statusLabelMap = { 'disabled_software': 'Software only. Hardware acceleration disabled.', diff --git a/chrome/browser/resources/software_rendering_list.json b/chrome/browser/resources/software_rendering_list.json index 460c00d..3218681 100644 --- a/chrome/browser/resources/software_rendering_list.json +++ b/chrome/browser/resources/software_rendering_list.json @@ -34,7 +34,8 @@ // 14. "exceptions" is a list of entries. // 15. "blacklist" is a list of gpu feature strings, valid values include // "accelerated_2d_canvas", "accelerated_compositing", "webgl", -// "multisampling", "flash_3d", "flash_stage3d", and "all". +// "multisampling", "flash_3d", "flash_stage3d", "texture_sharing", +// and "all". // This field is mandatory. // 16. "description" has the description of the entry. // 17. "webkit_bugs" is an array of associated webkit bug numbers. |