diff options
-rw-r--r-- | chrome/browser/resources/gpu_internals/info_view.js | 3 | ||||
-rw-r--r-- | chrome/browser/resources/software_rendering_list.json | 24 | ||||
-rw-r--r-- | content/browser/gpu/gpu_data_manager_impl.cc | 3 | ||||
-rw-r--r-- | content/renderer/render_view_impl.cc | 16 |
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() ? |