Add the ResourceFormat RGBA_F16, and appropriate GL and Skia values.

Add the GPU capability color_buffer_float, to expose if it is possible
to create a RGBA_F16 render target.

When allocating a RenderPass texture, use RGBA_F16 if the output surface
is high-bit-depth (which will include HDR surfaces). Add the method
OutputSurface::IsHighBitDepth to indicate this property.

Note that this cannot be tested by the cc pixel tests (the correct way
to test this) because they use a version of Mesa that does not support
floating-point textures. Tests so far have been manual, as we work on
upgrading Mesa. This will be tested by having the pixel tests which
currently run in software and GL mode also run in "GL with high bit
depth output surface" mode.

BUG=687346
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_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

Review-Url: https://codereview.chromium.org/2674493003
Cr-Original-Commit-Position: refs/heads/master@{#448143}
Committed: https://chromium.googlesource.com/chromium/src/+/197ec6b2ea2af1d95c0acdf9a0ebf0cd479fdf40
Review-Url: https://codereview.chromium.org/2674493003
Cr-Commit-Position: refs/heads/master@{#448375}
21 files changed