DescriptionImplement support for rendering to 32-bit float textures on ES3
On ES2 with OES_texture_float/OES_texture_half_float support, it is only possible to render to 16-bit half float textures using EXT_color_buffer_half_float. There's no support for rendering to 32-bit float textures in ES2 extensions. On ES3, rendering to some 32-bit float texture formats is exposed with EXT_color_buffer_float, but one must use the sized internal formats specified in ES3 core to do that. To expose this, a new command buffer extension is added which enables clients to directly use the sized internal format GL_RGBA32F.
A similar extension is also added to expose GL_RGB32F on desktop GL platforms for the sake of consistency.
These extensions are available whenever rendering to float textures is available. To support the current version of ANGLE, format conversions back to unsized internal formats are added to ui/gl.
Tests are added to cover this functionality. The new tests also add coverage for the handling of 32-bit float formats on ES2 and on desktop GL that existed before this patch.
BUG=329605
TEST=gpu_unittests, WebGL conformance tests
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=251329
Patch Set 1 #
Total comments: 10
Patch Set 2 : Address review comments #Patch Set 3 : WIP: Put rendering to float textures behind CHROMIUM_color_buffer_float #Patch Set 4 : Check that framebuffers really are supported and add tests #
Total comments: 6
Patch Set 5 : Address review feedback, split extension and add tests #
Total comments: 1
Patch Set 6 : Pass FeatureInfo to IsPossiblyComplete and minor tweaks #Patch Set 7 : Fix extension names that are a substring of another name in FeatureInfo #
Total comments: 8
Patch Set 8 : Add workarounds for ANGLE and framebuffer completeness #Patch Set 9 : Rebase #
Total comments: 7
Patch Set 10 : Restore compatibility with clients using unsized formats #
Total comments: 1
Patch Set 11 : Add link to ANGLE bug #Patch Set 12 : Make TexSubImage validation agree with TexImage validation #
Total comments: 2
Messages
Total messages: 43 (0 generated)
|