Bug 209516 - [WebGL2] ReadPixels updates
Summary: [WebGL2] ReadPixels updates
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Kenneth Russell
Keywords: InRadar
Depends on: 208875
Blocks: 126404 209513 214509
  Show dependency treegraph
Reported: 2020-03-24 15:44 PDT by Kenneth Russell
Modified: 2020-07-24 16:55 PDT (History)
12 users (show)

See Also:

Patch (71.08 KB, patch)
2020-07-16 18:43 PDT, Kenneth Russell
no flags Details | Formatted Diff | Diff
Patch (71.19 KB, patch)
2020-07-16 18:59 PDT, Kenneth Russell
no flags Details | Formatted Diff | Diff
Patch (92.87 KB, patch)
2020-07-17 13:29 PDT, Kenneth Russell
no flags Details | Formatted Diff | Diff
Patch (167.46 KB, patch)
2020-07-17 14:17 PDT, Kenneth Russell
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kenneth Russell 2020-03-24 15:44:57 PDT
readPixels, and readPixels into a pixel buffer object, must be updated / added for WebGL 2.0 support.
Comment 1 Kenneth Russell 2020-07-14 15:09:12 PDT
Taking this.
Comment 2 Kenneth Russell 2020-07-16 10:59:25 PDT
This seems like it should be straightforward; one piece of additional WebGL 2.0 specific validation had to be added to ANGLE. However, I'm now seeing strange behavior where GL_PACK_SKIP_ROWS seems to be being ignored by the OpenGL driver for glReadPixels calls both into client memory, and into the pixel pack buffer. Still investigating.
Comment 3 Kenneth Russell 2020-07-16 18:43:45 PDT
Created attachment 404511 [details]
Comment 4 Kenneth Russell 2020-07-16 18:44:14 PDT
Comment on attachment 404511 [details]

Not requesting review yet - want to test the upstreamed ANGLE patch first.
Comment 5 EWS Watchlist 2020-07-16 18:44:51 PDT
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Comment 6 Kenneth Russell 2020-07-16 18:59:21 PDT
Created attachment 404515 [details]
Comment 7 Kenneth Russell 2020-07-17 13:16:28 PDT
While debugging layout test failures associated with this patch, bugs were discovered in the earlier addition of pixel unpack buffer support added in Bug 208875.

Fixing those bugs in this patch as well so that more tests can fully pass.
Comment 8 Kenneth Russell 2020-07-17 13:29:56 PDT
Created attachment 404583 [details]
Comment 9 Kenneth Russell 2020-07-17 13:36:55 PDT
It turns out that the bug fixes to the texture upload paths were actually needed to prevent regressions in WebGL 2.0 conformance tests that would otherwise have been introduced with the other correctness fixes in this patch.
Comment 10 Kenneth Russell 2020-07-17 13:37:50 PDT
Comment on attachment 404583 [details]

If this version of the patch passes tests, I think it's ready to land. Setting cq+.
Comment 11 Kenneth Russell 2020-07-17 14:00:43 PDT
Comment on attachment 404583 [details]

Undoing CQ - investigating layout test changes on bots.
Comment 12 Kenneth Russell 2020-07-17 14:17:37 PDT
Created attachment 404591 [details]
Comment 13 Kenneth Russell 2020-07-17 14:18:57 PDT
Made a mistake rebaselining the layout tests in the last patch. Two more tests progress with this patch. CQ'ing.
Comment 14 EWS 2020-07-17 15:01:51 PDT
Committed r264536: <https://trac.webkit.org/changeset/264536>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404591 [details].
Comment 15 Radar WebKit Bug Importer 2020-07-17 15:02:24 PDT