Bug 143001 - [CoordinatedGraphics] Merge TILED_BACKING_STORE guard with COORDINATED_GRAPHICS
Summary: [CoordinatedGraphics] Merge TILED_BACKING_STORE guard with COORDINATED_GRAPHICS
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryuan Choi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-24 02:09 PDT by Ryuan Choi
Modified: 2015-04-28 22:08 PDT (History)
4 users (show)

See Also:


Attachments
Patch (92.07 KB, patch)
2015-03-24 16:12 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (91.18 KB, patch)
2015-04-28 17:01 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff
fixed_typo (91.14 KB, patch)
2015-04-28 21:44 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff
patch (89.08 KB, patch)
2015-04-28 21:52 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryuan Choi 2015-03-24 02:09:00 PDT
Now, TILED_BACKING_STORE is only used with COORDINATED_GRAPHICS.

So, I think that we'd better to merge them.
Comment 1 Ryuan Choi 2015-03-24 16:12:14 PDT
Created attachment 249363 [details]
Patch
Comment 2 Ryuan Choi 2015-03-25 17:39:06 PDT
yoon, what do you think about this?
Comment 3 Gwang Yoon Hwang 2015-03-25 17:45:57 PDT
(In reply to comment #2)
> yoon, what do you think about this?

I agree to remove TILED_BACKING_STORE. 
But I think it is better integrated
with Mac Port's TiledBacking because
it provides almost same feature set.

Also, AFAIK, Win Cairo ports using
TILED_BACKING_STORE without coordinated
graphics. We need to check also.
Comment 4 Ryuan Choi 2015-03-25 22:23:50 PDT
(In reply to comment #3)
> (In reply to comment #2)
> > yoon, what do you think about this?
> 
> I agree to remove TILED_BACKING_STORE. 
> But I think it is better integrated
> with Mac Port's TiledBacking because
> it provides almost same feature set.
> 
Agree.
Can we use TiledBacking in Coordinated Graphics without big changes ?
Then, I will check it.
If I remember correctly, you had a plan to merge coordinated graphics and mac's one (RemoteLayerTree?).

> Also, AFAIK, Win Cairo ports using
> TILED_BACKING_STORE without coordinated
> graphics. We need to check also.

I don't think so. Now we can't use Tiled backing store without coordinated graphics.
For example, TileCairo.cpp was removed very long time ago.(I did)
Comment 5 Gwang Yoon Hwang 2015-03-25 22:36:40 PDT
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > yoon, what do you think about this?
> > 
> > I agree to remove TILED_BACKING_STORE. 
> > But I think it is better integrated
> > with Mac Port's TiledBacking because
> > it provides almost same feature set.
> > 
> Agree.
> Can we use TiledBacking in Coordinated Graphics without big changes ?
> Then, I will check it.
I cannot say it is a small change. :) But there is no big difference between
Apple's and our tiled backing store.


> If I remember correctly, you had a plan to merge coordinated graphics and
> mac's one (RemoteLayerTree?).

Yes, merging Coordinated Graphics and Apple's UI side compositing is planned as a todo.
Unifying TILED_BACKING_STORE and TiledBacking should be done for this plan.
Apparently, having TiledBackingStore and TiledBacking in same namespace is quite confusing.

> > Also, AFAIK, Win Cairo ports using
> > TILED_BACKING_STORE without coordinated
> > graphics. We need to check also.
> 
> I don't think so. Now we can't use Tiled backing store without coordinated
> graphics.
> For example, TileCairo.cpp was removed very long time ago.(I did)

Ah, I confused with TexMap.
Comment 6 Ryuan Choi 2015-03-25 23:11:31 PDT
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > (In reply to comment #2)
> > > > yoon, what do you think about this?
> > > 
> > > I agree to remove TILED_BACKING_STORE. 
> > > But I think it is better integrated
> > > with Mac Port's TiledBacking because
> > > it provides almost same feature set.
> > > 
> > Agree.
> > Can we use TiledBacking in Coordinated Graphics without big changes ?
> > Then, I will check it.
> I cannot say it is a small change. :) But there is no big difference between
> Apple's and our tiled backing store.

I am not good to make big impact. :)
Anyway, I will start to investigate TiledBacking.

> 
> 
> > If I remember correctly, you had a plan to merge coordinated graphics and
> > mac's one (RemoteLayerTree?).
> 
> Yes, merging Coordinated Graphics and Apple's UI side compositing is planned
> as a todo.
> Unifying TILED_BACKING_STORE and TiledBacking should be done for this plan.
> Apparently, having TiledBackingStore and TiledBacking in same namespace is
> quite confusing.

Yes, so I want to move it.
I think that we can move it first until we have clear picture to share them.
Comment 7 Gyuyoung Kim 2015-04-27 22:10:14 PDT
According to review comments, now we seem to need to decide whether we will merge tiled backing store with mac port's one. Is it easy work ? It seems not to easy work for me. Anyway I don't have big opinion about merging these two macros though, I usually like to remove unnecessary macro.

Yoon, do you agree that we can land this merge first, then try to merge with mac port's one ?
Comment 8 Gwang Yoon Hwang 2015-04-28 06:49:56 PDT
(In reply to comment #7)
> According to review comments, now we seem to need to decide whether we will
> merge tiled backing store with mac port's one. Is it easy work ? It seems
> not to easy work for me. Anyway I don't have big opinion about merging these
> two macros though, I usually like to remove unnecessary macro.
> 
> Yoon, do you agree that we can land this merge first, then try to merge with
> mac port's one ?

It looks like Ryuan don't have a time to merge TBS to mac port's one.
I agree to remove TILED_BACKING_STORE first.

I'll merge tiled backing store with mac port's one later.
Comment 9 Gyuyoung Kim 2015-04-28 07:23:04 PDT
Comment on attachment 249363 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=249363&action=review

> Source/WebCore/PlatformGTK.cmake:-405
> -        platform/graphics/TiledBackingStore.cpp

I don't know if GTK port enables ENABLE_THREADED_COMPOSITOR though, don't you need to add "platform/graphics/texmap/coordinated/TiledBackingStore.cpp" instead of platform/graphics/TiledBackingStore.cpp for gtk port ?

> Source/WebCore/WebCore.vcxproj/WebCore.vcxproj:7757
> +      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

I don't know .vcxproj file well, but why do we need add these options ?
Comment 10 Gwang Yoon Hwang 2015-04-28 07:51:06 PDT
Comment on attachment 249363 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=249363&action=review

>> Source/WebCore/PlatformGTK.cmake:-405
>> -        platform/graphics/TiledBackingStore.cpp
> 
> I don't know if GTK port enables ENABLE_THREADED_COMPOSITOR though, don't you need to add "platform/graphics/texmap/coordinated/TiledBackingStore.cpp" instead of platform/graphics/TiledBackingStore.cpp for gtk port ?

GTK port uses threaded compositor in optional manner. And again, we need to add TiledBackingStore in this source list.
Comment 11 Ryuan Choi 2015-04-28 15:18:21 PDT
Comment on attachment 249363 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=249363&action=review

>>> Source/WebCore/PlatformGTK.cmake:-405
>>> -        platform/graphics/TiledBackingStore.cpp
>> 
>> I don't know if GTK port enables ENABLE_THREADED_COMPOSITOR though, don't you need to add "platform/graphics/texmap/coordinated/TiledBackingStore.cpp" instead of platform/graphics/TiledBackingStore.cpp for gtk port ?
> 
> GTK port uses threaded compositor in optional manner. And again, we need to add TiledBackingStore in this source list.

Weird, I looks missing to add TiledBackingStore.cpp in PlatformGtk.cmake.

I will rebase.

>> Source/WebCore/WebCore.vcxproj/WebCore.vcxproj:7757
>> +      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
> 
> I don't know .vcxproj file well, but why do we need add these options ?

ExcludeFromBuild is not to build this file.
Without this patch, windows port has compiled TiledBackingStore.cpp which is guarded as TILED_BACKING_STORE so generates (almost) nothing.

Anyway, it might not be related to this commit in more thinking.
I will take care of this in different bug.
Comment 12 Ryuan Choi 2015-04-28 17:01:28 PDT
Created attachment 251900 [details]
Patch
Comment 13 Gyuyoung Kim 2015-04-28 21:07:25 PDT
Comment on attachment 251900 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=251900&action=review

LGTM. However it would be good if yoon take a final look before landing.

> Source/WebCore/ChangeLog:8
> +        TiledBackingStore is only used with Coordinated Graphics since Qt and WebKit1/Efl was dropped.

There are trivial typo.

"TiledBackingStore has only been used by Coordinated Graphics since Qt and WebKit1/Efl ports were dropped. So, this patch replaces USE(TILED_BACKING_STORE) with USE(COORDINATED_GRAPHICS) to merge the features."
Comment 14 Ryuan Choi 2015-04-28 21:44:01 PDT
Created attachment 251923 [details]
fixed_typo
Comment 15 Gwang Yoon Hwang 2015-04-28 21:48:10 PDT
View in context: https://bugs.webkit.org/attachment.cgi?id=251900&action=review

It looks good for me, but it would be good to reduce change log before adding it to the commit queue.

> Source/WebCore/ChangeLog:43
> +        (WebCore::TiledBackingStore::TiledBackingStore):

You can remove methods from change log if you just moved a file to reduce redundant lines in the changeling.
Comment 16 Ryuan Choi 2015-04-28 21:52:11 PDT
Created attachment 251924 [details]
patch
Comment 17 Ryuan Choi 2015-04-28 21:52:46 PDT
(In reply to comment #15)
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=251900&action=review
> 
> It looks good for me, but it would be good to reduce change log before
> adding it to the commit queue.
> 
> > Source/WebCore/ChangeLog:43
> > +        (WebCore::TiledBackingStore::TiledBackingStore):
> 
> You can remove methods from change log if you just moved a file to reduce
> redundant lines in the changeling.

OK, done
Comment 18 Ryuan Choi 2015-04-28 22:07:38 PDT
Comment on attachment 251924 [details]
patch

Clearing flags on attachment: 251924

Committed r183529: <http://trac.webkit.org/changeset/183529>
Comment 19 Ryuan Choi 2015-04-28 22:08:01 PDT
All reviewed patches have been landed.  Closing bug.