| Summary: | OES_texture_float / OES_texture_half_float unavailable in WebGL 1.0 on iOS Simulator with ANGLE | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Kenneth Russell <kbr> | ||||||||||||
| Component: | WebGL | Assignee: | Kenneth Russell <kbr> | ||||||||||||
| Status: | RESOLVED FIXED | ||||||||||||||
| Severity: | Normal | CC: | dino, ews-watchlist, graouts, jdarpinian, justin_fan, kbr, kondapallykalyan, webkit-bug-importer | ||||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||||
| Version: | WebKit Nightly Build | ||||||||||||||
| Hardware: | iPhone / iPad | ||||||||||||||
| OS: | All | ||||||||||||||
| Bug Depends on: | 210994, 211971 | ||||||||||||||
| Bug Blocks: | 126404, 207858, 212005, 212170, 212181, 212228 | ||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Kenneth Russell
2020-04-14 16:47:23 PDT
Created attachment 399334 [details]
Logging output
Following the logging suggested by Geoff Lang from the ANGLE project in https://bugs.chromium.org/p/angleproject/issues/detail?id=4591 , here are the logs for why OES_texture_float and OES_texture_half_float aren't supported in the iOS Simulator. OES_texture_float is initially not supported because GL_LUMINANCE_ALPHA32F_EXT isn't texturable, and OES_texture_half_float is not supported because GL_LUMINANCE_ALPHA16F_EXT is not texturable. Filed ANGLE bug https://bugs.chromium.org/p/angleproject/issues/detail?id=4636 about this. Sidestepping the requirement of the texture formats that are supplied by EXT_texture_storage - which iOS doesn't provide - and fixing a bug caused by the fix for Bug 210994, the next issue is that support for luminance/alpha floating-point textures are going to need to be emulated inside ANGLE on top of red/green textures. Created attachment 399451 [details]
Patch
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE I've checked this on device and it passes the oes-texture-float tests. Created attachment 399521 [details]
Patch
Comment on attachment 399521 [details] Patch Updating this patch only for testing purposes - not for review or commit. Part of this change is being split off in Bug 211971. The other will likely be landed upstream in ANGLE and then rolled forward into WebKit. Unfortunately OES_texture_float_linear will need some work to enable too. ANGLE won't enable that because it believes RGBA32F is not filterable, based on the fact that iOS does not advertise the extension either. Since it is part of core in ES3, it shouldn't need to check for the extension (assuming it is using an ES3 context). https://bugs.webkit.org/show_bug.cgi?id=212005 It appears fast/canvas/webgl/oes-texture-half-float-uint16.html is regressed on ANGLE due to this. Thanks for the heads up Justin. On what platform did you see the regression? Never mind, I see it's on iOS. Blocking Bug 207858. Created attachment 399874 [details]
Patch
Comment on attachment 399874 [details]
Patch
Uploaded this latest patch for testing purposes on the bots only. Will pick up this fix by rolling ANGLE forward instead.
Comment on attachment 399874 [details]
Patch
Not sure whether my own r- blocked some of the EWS bots from running. Removing it to see.
Created attachment 399904 [details]
Patch
Clearly I shouldn't have used r- on the earlier patch. Comment on attachment 399904 [details]
Patch
After offline discussion, we've decided to merge this fix directly into WebKit rather than roll ANGLE forward to pick it up. We'll roll ANGLE forward soon and subsume this individual patch.
Requesting review.
Committed r261975: <https://trac.webkit.org/changeset/261975> All reviewed patches have been landed. Closing bug and clearing flags on attachment 399904 [details]. |