Reviewers: Ken Russell, kinuko, hubbe
CL:
https://codereview.chromium.org/2767063002/Message:
k...@chromium.org: Please review changes in
gpu/*
third_party/WebKit/Source/*
kin...@chromium.org: Please review changes in
content/*
third_party/WebKit/public/platform/WebMediaPlayer.h
hu...@chromium.org: Please review changes in
media/renderers/skcanvas_video_renderer*
cc ccameron@ and
qianku...@intel.com for non owner review.
Thanks.
Description:
16-bit video upload to float: intermediate R16_EXT and copy to float.
R16_EXT is supported on desktop core profile (OSX and Linux), and via
OpenGL ES 3.1 GL_EXT_texture_norm16 extension (including ANGLE on Windows).
It is not exposed through WebGL but only used internally.
Brings significant performance improvement, cutting time spent in
WebGL TexImage2D from ~1.2ms to ~0.2ms - see
https://crbug/624436.
BUG=624436
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Affected files (+211, -93 lines):
M content/renderer/media/webmediaplayer_ms.h
M content/renderer/media/webmediaplayer_ms.cc
M content/test/data/media/depth_stream_test_utilities.js
M content/test/data/media/getusermedia-depth-capture.html
M gpu/command_buffer/common/capabilities.h
M gpu/command_buffer/common/gles2_cmd_utils.cc
M gpu/command_buffer/service/feature_info.h
M gpu/command_buffer/service/feature_info.cc
M gpu/command_buffer/service/feature_info_unittest.cc
M gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc
M gpu/command_buffer/service/gles2_cmd_decoder.cc
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
M gpu/command_buffer/service/texture_manager.cc
M gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
M gpu/ipc/common/gpu_command_buffer_traits_multi.h
M media/renderers/skcanvas_video_renderer.h
M media/renderers/skcanvas_video_renderer.cc
M media/renderers/skcanvas_video_renderer_unittest.cc
M third_party/WebKit/Source/core/html/HTMLVideoElement.h
M third_party/WebKit/Source/core/html/HTMLVideoElement.cpp
M third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
M third_party/WebKit/public/platform/WebMediaPlayer.h
M ui/gl/gl_bindings.h