WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
226425
Adopt BifurcatedGraphicsContext for backing store + display list RemoteLayerBackingStore
https://bugs.webkit.org/show_bug.cgi?id=226425
Summary
Adopt BifurcatedGraphicsContext for backing store + display list RemoteLayerB...
Tim Horton
Reported
2021-05-29 15:21:03 PDT
Adopt BifurcatedGraphicsContext for backing store + display list RemoteLayerBackingStore
Attachments
Patch
(17.77 KB, patch)
2021-05-29 15:22 PDT
,
Tim Horton
no flags
Details
Formatted Diff
Diff
Patch
(17.49 KB, patch)
2021-06-02 15:47 PDT
,
Tim Horton
no flags
Details
Formatted Diff
Diff
Patch
(20.34 KB, patch)
2021-06-02 17:34 PDT
,
Tim Horton
no flags
Details
Formatted Diff
Diff
Patch
(20.34 KB, patch)
2021-06-03 18:39 PDT
,
Tim Horton
no flags
Details
Formatted Diff
Diff
Patch
(22.03 KB, patch)
2021-07-16 02:51 PDT
,
Tim Horton
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Tim Horton
Comment 1
2021-05-29 15:22:36 PDT
Created
attachment 430113
[details]
Patch
Tim Horton
Comment 2
2021-05-29 15:24:24 PDT
Comment on
attachment 430113
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=430113&action=review
Needs a bunch more ifdefs, too.
> Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:60 > + void ensureBackingStore(Type, WebCore::FloatSize, float scale, bool deepColor, bool isOpaque, bool includeDisplayList);
Should not be just a bool
> Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:298 > + m_frontBuffer.imageBuffer->flushDrawingContextAsync(); > + > + m_frontBufferFlusher = m_frontBuffer.imageBuffer->createFlusher();
Need to make sure that it's OK to not flush the DL ImageBuffer.
Tim Horton
Comment 3
2021-06-02 15:47:47 PDT
Created
attachment 430413
[details]
Patch
Tim Horton
Comment 4
2021-06-02 17:34:05 PDT
Created
attachment 430424
[details]
Patch
Tim Horton
Comment 5
2021-06-03 18:39:57 PDT
Created
attachment 430528
[details]
Patch
Sam Weinig
Comment 6
2021-06-04 08:38:24 PDT
Comment on
attachment 430528
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=430528&action=review
> Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:60 > + enum class IncludeDisplayList : bool { No, Yes };
This feels a bit confusing, since this includes the CGDisplayList not the WebCore DisplayList. I also think it would be useful to keep around the "only send the CGDisplayList" version for a bit if we can. I wonder if we can generalize this a bit to keep that around without adding too much overhead.
Sam Weinig
Comment 7
2021-06-04 08:38:50 PDT
Let's chat about this a bit.
Tim Horton
Comment 8
2021-06-04 12:31:29 PDT
(In reply to Sam Weinig from
comment #6
)
> Comment on
attachment 430528
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=430528&action=review
> > > Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:60 > > + enum class IncludeDisplayList : bool { No, Yes }; > > This feels a bit confusing, since this includes the CGDisplayList not the > WebCore DisplayList.
... true.
> I also think it would be useful to keep around the "only send the > CGDisplayList" version for a bit if we can. I wonder if we can generalize > this a bit to keep that around without adding too much overhead.
We could, I don't even think it would be particularly high overhead. I will peek.
Sam Weinig
Comment 9
2021-06-04 16:14:51 PDT
Comment on
attachment 430528
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=430528&action=review
> Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:123 > RefPtr<WebCore::ImageBuffer> imageBuffer; > +#if ENABLE(CG_DISPLAY_LIST_BACKED_IMAGE_BUFFER) > + RefPtr<WebCore::ImageBuffer> displayListImageBuffer; > +#endif
Ultimately, I think it would be beneficial if we could avoid this layer being aware of the two image buffers at all, but just having a single bifurcated ImageBuffer class and letting the interface take care of things. That way, if we need a different structure in the future this won't have to change (and all the other benefits that come with good abstractions).
Radar WebKit Bug Importer
Comment 10
2021-06-05 15:22:16 PDT
<
rdar://problem/78911168
>
Tim Horton
Comment 11
2021-07-16 02:51:27 PDT
Created
attachment 433667
[details]
Patch
EWS
Comment 12
2021-07-16 11:24:43 PDT
Committed
r279992
(
239735@main
): <
https://commits.webkit.org/239735@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 433667
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug