Bug 218614

Summary: [Concurrent display lists] Support playback of display list items with cached resources
Product: WebKit Reporter: Wenson Hsieh <wenson_hsieh>
Component: WebKit2Assignee: Wenson Hsieh <wenson_hsieh>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren, rniwa, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 218426, 218649, 219067, 219652, 219657    
Bug Blocks:    
Attachments:
Description Flags
WIP
none
Patch none

Description Wenson Hsieh 2020-11-05 07:49:16 PST
e.g. DrawGlyphs, DrawImage, etc.
Comment 1 Wenson Hsieh 2020-11-05 07:52:15 PST
Created attachment 413296 [details]
WIP
Comment 2 Radar WebKit Bug Importer 2020-11-12 07:50:16 PST
<rdar://problem/71326662>
Comment 3 Wenson Hsieh 2020-12-08 14:27:27 PST
This blocks making daringfireball.net work, with both canvas + DOM GPUP features enabled.
Comment 4 Wenson Hsieh 2020-12-08 17:10:59 PST
Created attachment 415692 [details]
Patch
Comment 5 EWS 2020-12-09 11:50:36 PST
Committed r270591: <https://trac.webkit.org/changeset/270591>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415692 [details].
Comment 6 Geoffrey Garen 2020-12-09 11:51:16 PST
It feels kind of complicated for WebContent to send commands and resources out of order, and then rely on GPU Process to stitch them back into order. I wonder if there's a way to ensure that commands always arrive in order with their resources.
Comment 7 Wenson Hsieh 2020-12-09 11:57:19 PST
(In reply to Geoffrey Garen from comment #6)
> It feels kind of complicated for WebContent to send commands and resources
> out of order, and then rely on GPU Process to stitch them back into order. I
> wonder if there's a way to ensure that commands always arrive in order with
> their resources.

Yeah, I think that we should eventually implement caching for native images and image buffers through display list items (like Ryosuke is doing with fonts in https://bugs.webkit.org/show_bug.cgi?id=219672).

I think the underlying mechanism that I introduced to fix this will be generally useful though, for generally synchronizing with other IPC messages.
Comment 8 Ryosuke Niwa 2020-12-09 12:53:15 PST
(In reply to Wenson Hsieh from comment #7)
> (In reply to Geoffrey Garen from comment #6)
> > It feels kind of complicated for WebContent to send commands and resources
> > out of order, and then rely on GPU Process to stitch them back into order. I
> > wonder if there's a way to ensure that commands always arrive in order with
> > their resources.
> 
> Yeah, I think that we should eventually implement caching for native images
> and image buffers through display list items (like Ryosuke is doing with
> fonts in https://bugs.webkit.org/show_bug.cgi?id=219672).

We need some mechanism to map shared memory from display list if we're going on that route.