summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/resources/gpu_internals/info_view.js3
-rw-r--r--chrome/browser/resources/software_rendering_list.json24
-rw-r--r--content/browser/gpu/gpu_data_manager_impl.cc3
-rw-r--r--content/renderer/render_view_impl.cc16
4 files changed, 31 insertions, 15 deletions
diff --git a/chrome/browser/resources/gpu_internals/info_view.js b/chrome/browser/resources/gpu_internals/info_view.js
index ed9a017..69dd0a6 100644
--- a/chrome/browser/resources/gpu_internals/info_view.js
+++ b/chrome/browser/resources/gpu_internals/info_view.js
@@ -82,7 +82,8 @@ cr.define('gpu', function() {
'multisampling': 'WebGL multisampling',
'flash_3d': 'Flash 3D',
'flash_stage3d': 'Flash Stage3D',
- 'texture_sharing': 'Texture Sharing'
+ 'texture_sharing': 'Texture Sharing',
+ 'video_decode': 'Video Decode'
};
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 62b76fb..7b5183a 100644
--- a/chrome/browser/resources/software_rendering_list.json
+++ b/chrome/browser/resources/software_rendering_list.json
@@ -37,7 +37,7 @@
// 16. "blacklist" is a list of gpu feature strings, valid values include
// "accelerated_2d_canvas", "accelerated_compositing", "webgl",
// "multisampling", "flash_3d", "flash_stage3d", "texture_sharing",
-// and "all".
+// "accelerated_video_decode", and "all".
// This field is mandatory.
// 17. "description" has the description of the entry.
// 18. "webkit_bugs" is an array of associated webkit bug numbers.
@@ -68,7 +68,7 @@
{
"name": "software rendering list",
// Please update the version number whenever you change this file.
- "version": "2.8",
+ "version": "2.9",
"entries": [
{
"id": 1,
@@ -665,6 +665,26 @@
"blacklist": [
"all"
]
+ },
+ {
+ "id": 48,
+ "description": "Accelerated video decode is unavailable on Mac and Linux.",
+ "cr_bugs": [137247, 133828],
+ "exceptions": [
+ {
+ "os": {
+ "type": "chromeos"
+ }
+ },
+ {
+ "os": {
+ "type": "win"
+ }
+ }
+ ],
+ "blacklist": [
+ "accelerated_video_decode"
+ ]
}
]
}
diff --git a/content/browser/gpu/gpu_data_manager_impl.cc b/content/browser/gpu/gpu_data_manager_impl.cc
index a2a320c..8c05064 100644
--- a/content/browser/gpu/gpu_data_manager_impl.cc
+++ b/content/browser/gpu/gpu_data_manager_impl.cc
@@ -184,6 +184,9 @@ void GpuDataManagerImpl::AppendRendererCommandLine(
if ((flags & content::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS) &&
!command_line->HasSwitch(switches::kDisableAccelerated2dCanvas))
command_line->AppendSwitch(switches::kDisableAccelerated2dCanvas);
+ if ((flags & content::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) &&
+ !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode))
+ command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode);
}
void GpuDataManagerImpl::AppendGpuCommandLine(
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 9ad4497..daf5848 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -2403,18 +2403,10 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer(
collection->AddAudioRenderer(audio_renderer);
}
- // Accelerated video decode is not enabled by default on Linux.
- // crbug.com/137247
- bool use_accelerated_video_decode = false;
-#if defined(OS_CHROMEOS) || defined(OS_WIN)
- use_accelerated_video_decode = true;
-#endif
- use_accelerated_video_decode &= !CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableAcceleratedVideoDecode);
- WebGraphicsContext3DCommandBufferImpl* context3d =
- use_accelerated_video_decode ?
- RenderThreadImpl::current()->GetGpuVDAContext3D() :
- NULL;
+ WebGraphicsContext3DCommandBufferImpl* context3d = NULL;
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kDisableAcceleratedVideoDecode))
+ context3d = RenderThreadImpl::current()->GetGpuVDAContext3D();
if (context3d) {
scoped_refptr<base::MessageLoopProxy> factories_loop =
RenderThreadImpl::current()->compositor_thread() ?