Bug 220129 - [ANGLE] Metal backend renders tdl.js samples as red
Summary: [ANGLE] Metal backend renders tdl.js samples as red
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: ANGLE (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Kyle Piddington
URL:
Keywords: InRadar
Depends on:
Blocks: 126404 219759 anglemetal
  Show dependency treegraph
 
Reported: 2020-12-23 15:23 PST by Kyle Piddington
Modified: 2021-01-06 14:52 PST (History)
8 users (show)

See Also:


Attachments
Patch (1.72 KB, patch)
2020-12-23 15:24 PST, Kyle Piddington
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle Piddington 2020-12-23 15:23:18 PST
As reported by Ken Russell, TDL samples render a red background.

The root cause of this issue is an incorrect color mask for a texture blit. Instead of all channels being blitted, ANGLE tries to blit only the colors present specified by glColorMask
Blitting shouldn't be affected by the color mask.
Comment 1 Kyle Piddington 2020-12-23 15:24:42 PST
Created attachment 416727 [details]
Patch
Comment 2 EWS Watchlist 2020-12-23 15:25:32 PST
Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE
Comment 3 Kenneth Russell 2020-12-23 15:51:46 PST
Comment on attachment 416727 [details]
Patch

Fantastic find and fix Kyle! Verified locally that this fixes the WebGL Aquarium with the Metal backend. r+
Comment 4 Kenneth Russell 2020-12-23 16:46:14 PST
Comment on attachment 416727 [details]
Patch

Passed EWS; let me CQ this before the tree closure.
Comment 5 EWS 2020-12-23 17:00:57 PST
Committed r271080: <https://trac.webkit.org/changeset/271080>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416727 [details].
Comment 6 Radar WebKit Bug Importer 2020-12-23 17:03:22 PST
<rdar://problem/72638743>