WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WORKSFORME
241399
EXT_float_blend is missing on iOS starting from version 15.4
https://bugs.webkit.org/show_bug.cgi?id=241399
Summary
EXT_float_blend is missing on iOS starting from version 15.4
Nikita Rokotyan
Reported
2022-06-07 19:19:51 PDT
Created
attachment 460080
[details]
WebGL supported extensions list on iPhone 13 Pro, iOS 15.6 beta 2 The support for the EXT_float_blend extension is missing on iOS starting from version 15.4, which breaks blending for floating point textures. How to reproduce: Open
https://www.geeks3d.com/webgl/
from an iOS 15.4+ device and you'll see that EXT_float_blend is missing from the supported extensions list.
Attachments
WebGL supported extensions list on iPhone 13 Pro, iOS 15.6 beta 2
(721.38 KB, image/jpeg)
2022-06-07 19:19 PDT
,
Nikita Rokotyan
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Kenneth Russell
Comment 1
2022-06-10 16:56:16 PDT
iOS 15.4 included the large Metal backend roll-forward. Kimmo, could you triage this on iOS hardware?
Radar WebKit Bug Importer
Comment 2
2022-06-14 19:20:13 PDT
<
rdar://problem/95162938
>
Kimmo Kinnunen
Comment 3
2022-06-15 04:43:08 PDT
EXT_float_blend needs capability to render with blend to 32-bit float (RGBA32F). Unfortunately none of the iPhone GPUs have this capability. I believe it was a bug on our behalf to ship EXT_float_blend on prior iOS releases. The clients could check if they can use EXT_color_buffer_float to render to RGBA16F render targets when blending is needed.
https://www.khronos.org/registry/webgl/extensions/EXT_float_blend/
https://www.khronos.org/registry/webgl/extensions/EXT_color_buffer_float/
GPU Texture Capabilities by Pixel Format, RGBA32Float, lacks "Blend" for GPUFamilyApple cases:
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf
Kenneth Russell
Comment 4
2022-06-15 15:34:41 PDT
Thanks Kimmo. Yes, confirming, this was a longstanding bug in the WebGL implementation on iOS. A bug must have also been fixed in ANGLE in the iOS 15.4 release.
https://www.khronos.org/registry/webgl/extensions/EXT_color_buffer_half_float/
is now exposed on iOS devices in both the WebGL 1.0 and 2.0 APIs. Please adjust code to explicitly use 16-bit floating-point textures when available.
Nikita Rokotyan
Comment 5
2022-06-16 23:12:33 PDT
Thanks for the clarification! Am I right that blending should work with half_float textures on iOS? We did a quick test and was still not working. We can probably create a small example that reproduces the issue. Just to add a little bit of context: we're using float blending for our force graph simulation algorithm
https://cosmograph.app
.
Kimmo Kinnunen
Comment 6
2022-06-17 03:13:56 PDT
> Am I right that blending should work with half_float textures on iOS? We did a quick test and was still not working.
Yes, it should. Note that RGB16F support in WebGL is not universal, so for maximum compatibility, use RGBA16F.
> We can probably create a small example that reproduces the issue.
This would be appreciated, thanks!
Brent Fulgham
Comment 7
2022-06-23 11:28:18 PDT
Resolving based on Kimmo and Kenneth's statements.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug