Per agreement in the WebGL working group, the EXT_color_buffer_half_float extension is being revised to be supported on WebGL 2.0 contexts: https://github.com/KhronosGroup/WebGL/pull/3146 The reason for this change is principally that iOS devices support 16-bit floating-point render targets but not 32-bit, so the WebGL 2.0 EXT_color_buffer_float extension, which covers both, can not be supported there. Developers are noticing this functionality gap: https://github.com/playcanvas/engine/pull/2123#issuecomment-682438222 WebKit's WebGL 2.0 implementation should be updated as soon as possible to track this change so that developers upgrading to WebGL 2.0 can continue to use floating-point render targets on iOS.
The update to the extension specification has landed, so implementation of this can proceed. Thanks James for taking this!
Created attachment 407639 [details] Patch
Working on a test in https://github.com/KhronosGroup/WebGL/pull/3147, will add to this patch tomorrow.
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Looks like webgl/2.0.0/conformance2/extensions/promoted-extensions.html needs to be updated here and upstream as well. Could you please put up another pull request on KhronosGroup/WebGL for that? Thanks!
Comment on attachment 407639 [details] Patch The code changes look fine. Will wait to r+ until the new tests are uploaded. Thanks again for fixing (and testing) this!
<rdar://problem/68472384>
Created attachment 408496 [details] Patch
Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE
Comment on attachment 408496 [details] Patch Test added. Still working on the upstream test as there are issues with the WebGL 1 version. We can commit this version to test the new WebGL 2 functionality and I will update the test later when the WebGL 1 version is finished.
Comment on attachment 408496 [details] Patch Looks great! Nice work on the thorough test. In the WebKit bug, could you please link to an ANGLE bug in which those changes will be upstreamed, and make sure the conformance test changes are also upstreamed? Thanks! r+
Comment on attachment 408496 [details] Patch I filed an ANGLE bug for this here: https://bugs.chromium.org/p/angleproject/issues/detail?id=5038
Committed r266953: <https://trac.webkit.org/changeset/266953> All reviewed patches have been landed. Closing bug and clearing flags on attachment 408496 [details].