Bug 187385

Summary: [Nicosia] Add a platform layer concept
Product: WebKit Reporter: Zan Dobersek <zan>
Component: New BugsAssignee: Zan Dobersek <zan>
Status: RESOLVED FIXED    
Severity: Normal CC: aperez, Basuke.Suzuki, cadubentzen, jonasvdb_5, magomez, yoshiaki.jitsukawa
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 187514, 187693, 187749, 187751, 187899, 187901, 187941, 187946, 188158, 188340, 188341, 188344, 188348, 188405, 188548, 188550, 188693, 188847, 188849, 188850, 188881    
Bug Blocks: 198475, 184143    
Attachments:
Description Flags
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP none

Description Zan Dobersek 2018-07-06 04:33:41 PDT
Platform layer objects should be used to back GraphicsLayer objects for the ports leveraging the Nicosia facilities. These facilities are currently used exclusively through CoordinatedGraphics, which means CoordinatedGraphicsLayer implementation would start using a platform layer for all its state management before applying it to the rendering pipeline, compared to the current way where all this state is being managed through CoordinatedGraphicsState objects that are then combined-and-applied in CoordinatedGraphicsScene and applied to the rendering pipeline.

When the state mutations are made thread-safe, this can be further extended to integrate with features like asynchronous scrolling or threaded painting.

Regarding applications to the rendering pipeline, while TextureMapper-specific implementations will have to exist, the platform layering work in principle shouldn't be tied to TextureMapper. It's just nothing else exists at the moment.
Comment 1 Zan Dobersek 2018-07-06 04:35:57 PDT
Created attachment 344418 [details]
WIP
Comment 2 Zan Dobersek 2018-08-03 03:37:11 PDT
Created attachment 346471 [details]
WIP
Comment 3 Zan Dobersek 2018-08-09 23:23:52 PDT
Created attachment 346895 [details]
WIP
Comment 4 Zan Dobersek 2018-08-16 10:50:55 PDT
Created attachment 347274 [details]
WIP
Comment 5 Zan Dobersek 2018-08-22 09:19:49 PDT
Created attachment 347805 [details]
WIP

Now with some more code removal.
Comment 6 Zan Dobersek 2018-10-02 05:54:02 PDT
Created attachment 351378 [details]
WIP

Includes the remaining set of changes that enable asynchronous scrolling (modulo bugs). Doesn't yet add kinetic scrolling capabilities.
Comment 7 Jonas 2019-07-05 06:14:30 PDT
Is there any update about this issue ?
Comment 8 Zan Dobersek 2019-08-23 04:02:09 PDT
The platform layer structures are now in use, so this bug can be closed.