gpu: Add YCbCr 420v extension.
On Mac we currently support textures backed by GpuMemoryBuffer
with UYVY_422 format when GL_APPLE_ycbcr_422 is available.
This allows both to use the backing IOSurface as CALayers and to
bind the IOSurface to a GL texture for sampling.
420v IOSurfaces, while being more efficient when used as a CALayer,
don't support being sampled from GL.
This CL adds a CHROMIUM extension, that when available, allows users
of CHROMIUM command buffer to use a 420v IOSurface from GL as an RGB
texture.
This is achieved converting the IOSurface from YUV to RGB when it's
bound to a texture on the service side.
This will allow to use 420v for video playback using VideoLayerImpl
(promoted to CALayer) and from SkCanvasVideoRenderer when needed (WebGL,
Canvas & co.)
BUG=524582
Review URL: https://codereview.chromium.org/1419733005
Cr-Commit-Position: refs/heads/master@{#363148}
24 files changed