WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
233676
[WinCairo] Tiling scroll support
https://bugs.webkit.org/show_bug.cgi?id=233676
Summary
[WinCairo] Tiling scroll support
Fujii Hironori
Reported
2021-11-30 19:30:49 PST
[WinCairo] Tiling scroll support
Attachments
WIP patch
(6.92 KB, patch)
2021-11-30 19:31 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
WIP patch
(35.05 KB, patch)
2021-12-13 17:54 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
WIP patch
(41.54 KB, patch)
2022-01-10 23:27 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(46.41 KB, patch)
2022-01-11 20:25 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch for landing
(47.34 KB, patch)
2022-01-12 18:07 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Fujii Hironori
Comment 1
2021-11-30 19:31:15 PST
Created
attachment 445503
[details]
WIP patch
Fujii Hironori
Comment 2
2021-12-13 17:54:42 PST
Created
attachment 447091
[details]
WIP patch
Fujii Hironori
Comment 3
2022-01-10 23:27:22 PST
Created
attachment 448832
[details]
WIP patch
Fujii Hironori
Comment 4
2022-01-11 16:15:00 PST
This WIP patch doesn't render video frames in AC mode. Filed:
Bug 235088
– [MediaFoundation] Invalidate only the videa area using MediaPlayer::repaint(), not the whole FrameView
Fujii Hironori
Comment 5
2022-01-11 20:25:50 PST
Created
attachment 448901
[details]
Patch
Don Olmstead
Comment 6
2022-01-12 17:27:48 PST
Comment on
attachment 448901
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=448901&action=review
LGTM. Just some minor questions and nits.
> Source/WebCore/platform/graphics/texmap/TextureMapperSparseBackingStore.cpp:8 > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version.
I don't think this should count as a derivative work because the debug drawing requires the same calls. To me this seems like you've done a lot more than just copy paste code here.
> Source/WebCore/platform/graphics/texmap/TextureMapperSparseBackingStore.h:8 > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version.
Ditto
> Source/WebKit/GPUProcess/graphics/wc/WCScene.cpp:55 > + std::optional<WebCore::TextureMapperSparseBackingStore> backingStore;
Any particular reason you're preferring std::optional here? I'm not saying its the wrong choice just curious.
> Source/WebKit/WebProcess/WebPage/wc/GraphicsLayerWC.cpp:558 > + update.hasBackingStore = false;
Any additional updates need to happen here to remove the store?
> Source/WebKit/WebProcess/WebPage/wc/GraphicsLayerWC.cpp:631 > + TransformationMatrix currentTransform; > + if (customTransform) > + currentTransform = *customTransform; > + else if (m_transform) > + currentTransform = *m_transform; > + > + transform.multiply(transformByApplyingAnchorPoint(currentTransform));
Is it worth doing any optimization here for the else case where currentTransform would be the identity?
Fujii Hironori
Comment 7
2022-01-12 17:54:12 PST
Comment on
attachment 448901
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=448901&action=review
Thank you for the review.
>> Source/WebCore/platform/graphics/texmap/TextureMapperSparseBackingStore.cpp:8 >> + * version 2.1 of the License, or (at your option) any later version. > > I don't think this should count as a derivative work because the debug drawing requires the same calls. To me this seems like you've done a lot more than just copy paste code here.
Will fix.
>> Source/WebKit/GPUProcess/graphics/wc/WCScene.cpp:55 >> + std::optional<WebCore::TextureMapperSparseBackingStore> backingStore; > > Any particular reason you're preferring std::optional here? I'm not saying its the wrong choice just curious.
TextureMapperTiledBackingStore is a RefCounted class, but TextureMapperSparseBackingStore isn't because it doesn't need to be ref-counted.
>> Source/WebKit/WebProcess/WebPage/wc/GraphicsLayerWC.cpp:558 >> + update.hasBackingStore = false; > > Any additional updates need to happen here to remove the store?
I don't think so.
>> Source/WebKit/WebProcess/WebPage/wc/GraphicsLayerWC.cpp:631 >> + transform.multiply(transformByApplyingAnchorPoint(currentTransform)); > > Is it worth doing any optimization here for the else case where currentTransform would be the identity?
I just copied the code from GraphicsLayerCA::layerTransform. I haven't benchmarked it yet. I don't know how hot this part is. BTW, TransformState::applyTransform has isIntegerTranslation fast path.
Fujii Hironori
Comment 8
2022-01-12 18:07:14 PST
Created
attachment 449017
[details]
Patch for landing
Fujii Hironori
Comment 9
2022-01-12 18:17:27 PST
Comment on
attachment 449017
[details]
Patch for landing Clearing flags on attachment: 449017 Committed
r287967
(
245996@trunk
): <
https://commits.webkit.org/245996@trunk
>
Fujii Hironori
Comment 10
2022-01-12 18:17:32 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 11
2022-01-12 18:18:17 PST
<
rdar://problem/87524879
>
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