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.
Created attachment 344418 [details] WIP
Created attachment 346471 [details] WIP
Created attachment 346895 [details] WIP
Created attachment 347274 [details] WIP
Created attachment 347805 [details] WIP Now with some more code removal.
Created attachment 351378 [details] WIP Includes the remaining set of changes that enable asynchronous scrolling (modulo bugs). Doesn't yet add kinetic scrolling capabilities.
Is there any update about this issue ?
The platform layer structures are now in use, so this bug can be closed.