Looking for some early feedback, if this approach is correct. With these changes, I see ...
5 years, 3 months ago
(2015-09-03 08:00:53 UTC)
#2
Looking for some early feedback, if this approach is correct. With these
changes, I see graphics artifacts when video is using Hardware Overlay and we
scroll the page.
On 2015/09/03 08:00:53, kalyank wrote: > Looking for some early feedback, if this approach is ...
5 years, 3 months ago
(2015-09-03 14:09:28 UTC)
#4
On 2015/09/03 08:00:53, kalyank wrote:
> Looking for some early feedback, if this approach is correct. With these
> changes, I see graphics artifacts when video is using Hardware Overlay and we
> scroll the page.
This is a popular topic these days.
We started it here https://codereview.chromium.org/1044093005/, and now
ccameron@ is trying to do more of this for OSX.
We really need a general solution for this and should combine everyone's
efforts.
kalyank
On 2015/09/03 14:09:28, alexst wrote: > On 2015/09/03 08:00:53, kalyank wrote: > > Looking for ...
5 years, 3 months ago
(2015-09-03 17:34:31 UTC)
#5
On 2015/09/03 14:09:28, alexst wrote:
> On 2015/09/03 08:00:53, kalyank wrote:
> > Looking for some early feedback, if this approach is correct. With these
> > changes, I see graphics artifacts when video is using Hardware Overlay and
we
> > scroll the page.
>
> This is a popular topic these days.
>
> We started it here https://codereview.chromium.org/1044093005/, and now
Thanks for sharing. Will go through the CL.
> ccameron@ is trying to do more of this for OSX.
>
> We really need a general solution for this and should combine everyone's
> efforts.
Ya, that would be good.
alexst (slow to review)
On 2015/09/03 17:34:31, kalyank wrote: > On 2015/09/03 14:09:28, alexst wrote: > > On 2015/09/03 ...
5 years, 3 months ago
(2015-09-03 18:35:47 UTC)
#6
On 2015/09/03 17:34:31, kalyank wrote:
> On 2015/09/03 14:09:28, alexst wrote:
> > On 2015/09/03 08:00:53, kalyank wrote:
> > > Looking for some early feedback, if this approach is correct. With these
> > > changes, I see graphics artifacts when video is using Hardware Overlay and
> we
> > > scroll the page.
> >
> > This is a popular topic these days.
> >
> > We started it here https://codereview.chromium.org/1044093005/, and now
>
> Thanks for sharing. Will go through the CL.
>
> > ccameron@ is trying to do more of this for OSX.
> >
> > We really need a general solution for this and should combine everyone's
> > efforts.
> Ya, that would be good.
I CC'd you on Chris's bug, let me know if you didn't get it.
kalyank
On 2015/09/03 18:35:47, alexst wrote: > On 2015/09/03 17:34:31, kalyank wrote: > > On 2015/09/03 ...
5 years, 3 months ago
(2015-09-03 18:49:11 UTC)
#7
On 2015/09/03 18:35:47, alexst wrote:
> On 2015/09/03 17:34:31, kalyank wrote:
> > On 2015/09/03 14:09:28, alexst wrote:
> > > On 2015/09/03 08:00:53, kalyank wrote:
> > > > Looking for some early feedback, if this approach is correct. With these
> > > > changes, I see graphics artifacts when video is using Hardware Overlay
and
> > we
> > > > scroll the page.
> > >
> > > This is a popular topic these days.
> > >
> > > We started it here https://codereview.chromium.org/1044093005/, and now
> >
> > Thanks for sharing. Will go through the CL.
> >
> > > ccameron@ is trying to do more of this for OSX.
> > >
> > > We really need a general solution for this and should combine everyone's
> > > efforts.
> > Ya, that would be good.
>
> I CC'd you on Chris's bug, let me know if you didn't get it.
Ya, got the notification.
@ccameron, I see that in ImageTransportSurfaceOverlayMac, we actually remove Overlay rect from Damage rect. We ...
5 years, 2 months ago
(2015-10-07 04:35:46 UTC)
#9
@ccameron, I see that in ImageTransportSurfaceOverlayMac, we actually
remove Overlay rect from Damage rect. We could do it in DirectRenderer
itself, so both ChromeOS and Mac could use this functionality.
WDYT?
kalyank
On 2015/10/07 04:35:46, kalyank wrote: > @ccameron, I see that in ImageTransportSurfaceOverlayMac, we actually > ...
5 years, 2 months ago
(2015-10-07 21:45:27 UTC)
#10
On 2015/10/07 04:35:46, kalyank wrote:
> @ccameron, I see that in ImageTransportSurfaceOverlayMac, we actually
> remove Overlay rect from Damage rect. We could do it in DirectRenderer
> itself, so both ChromeOS and Mac could use this functionality.
> WDYT?
Uploaded corresponding change. Now, the damage rect passed to
SwapBuffers is frame.root_damage_rect - Overaly Rect.
Can you PTAL.
ccameron
This lgtm
5 years, 2 months ago
(2015-10-07 21:53:32 UTC)
#11
This lgtm
kalyank
On 2015/10/07 21:53:32, ccameron wrote: > This lgtm @alexst, @piman ping
5 years, 2 months ago
(2015-10-07 22:04:23 UTC)
#12
On 2015/10/07 21:53:32, ccameron wrote:
> This lgtm
@alexst, @piman ping
piman
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_renderer.cc#newcode248 cc/output/direct_renderer.cc:248: frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect)); That's only true if the overlay is opaque. ...
5 years, 2 months ago
(2015-10-08 22:51:31 UTC)
#13
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
File cc/output/direct_renderer.cc (right):
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
cc/output/direct_renderer.cc:248:
frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect));
That's only true if the overlay is opaque. Also, ToNearestRect looks a bit
sloppy, could cause issues for non-screen-aligned rects. It seems like this
should really be handled by OverlayProcessor, or even the various
OverlayStrategy which have a clearer grasp on the exact intent. I'm comfortable
passing the damage rect down to there.
kalyank
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_renderer.cc#newcode248 cc/output/direct_renderer.cc:248: frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect)); On 2015/10/08 22:51:31, piman (slow to review) wrote: ...
5 years, 2 months ago
(2015-10-12 22:58:46 UTC)
#14
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
File cc/output/direct_renderer.cc (right):
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
cc/output/direct_renderer.cc:248:
frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect));
On 2015/10/08 22:51:31, piman (slow to review) wrote:
> That's only true if the overlay is opaque. Also, ToNearestRect looks a bit
> sloppy, could cause issues for non-screen-aligned rects. It seems like this
> should really be handled by OverlayProcessor, or even the various
> OverlayStrategy which have a clearer grasp on the exact intent. I'm
comfortable
> passing the damage rect down to there.
Acknowledged.
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
cc/output/direct_renderer.cc:248:
frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect));
On 2015/10/08 22:51:31, piman (slow to review) wrote:
> That's only true if the overlay is opaque. Also, ToNearestRect looks a bit
> sloppy, could cause issues for non-screen-aligned rects. It seems like this
> should really be handled by OverlayProcessor, or even the various
> OverlayStrategy which have a clearer grasp on the exact intent. I'm
comfortable
> passing the damage rect down to there.
Moved this to processor now. I have added a bool to candidate to know if it
needs blending. If blending is needed, we dont subtract the candidates display
rect from root damage rect.
Reg ToNearestRect, which should be the right conversion API ?
kalyank
@piman, @danakj ping
5 years, 2 months ago
(2015-10-19 17:14:22 UTC)
#15
@piman, @danakj ping
piman
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_renderer.cc#newcode248 cc/output/direct_renderer.cc:248: frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect)); On 2015/10/12 22:58:45, kalyank wrote: > On 2015/10/08 ...
5 years, 2 months ago
(2015-10-20 01:49:19 UTC)
#16
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
File cc/output/direct_renderer.cc (right):
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
cc/output/direct_renderer.cc:248:
frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect));
On 2015/10/12 22:58:45, kalyank wrote:
> On 2015/10/08 22:51:31, piman (slow to review) wrote:
> > That's only true if the overlay is opaque. Also, ToNearestRect looks a bit
> > sloppy, could cause issues for non-screen-aligned rects. It seems like this
> > should really be handled by OverlayProcessor, or even the various
> > OverlayStrategy which have a clearer grasp on the exact intent. I'm
> comfortable
> > passing the damage rect down to there.
>
> Moved this to processor now. I have added a bool to candidate to know if it
> needs blending. If blending is needed, we dont subtract the candidates display
> rect from root damage rect.
>
> Reg ToNearestRect, which should be the right conversion API ?
Whatever damage you remove must be fully covered by the opaque overlay. So that
means the opaque overlay rect must enclose the removed rect. So it seems like
ToEnclosedRect is the right conservative choice?
kalyank
On 2015/10/20 01:49:19, piman (slow to review) wrote: > https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_renderer.cc > File cc/output/direct_renderer.cc (right): > ...
5 years, 2 months ago
(2015-10-20 09:55:48 UTC)
#17
On 2015/10/20 01:49:19, piman (slow to review) wrote:
>
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
> File cc/output/direct_renderer.cc (right):
>
>
https://codereview.chromium.org/1330563004/diff/100001/cc/output/direct_rende...
> cc/output/direct_renderer.cc:248:
> frame.root_damage_rect.Subtract(ToNearestRect(overlay.display_rect));
> On 2015/10/12 22:58:45, kalyank wrote:
> > On 2015/10/08 22:51:31, piman (slow to review) wrote:
> > > That's only true if the overlay is opaque. Also, ToNearestRect looks a bit
> > > sloppy, could cause issues for non-screen-aligned rects. It seems like
this
> > > should really be handled by OverlayProcessor, or even the various
> > > OverlayStrategy which have a clearer grasp on the exact intent. I'm
> > comfortable
> > > passing the damage rect down to there.
> >
> > Moved this to processor now. I have added a bool to candidate to know if it
> > needs blending. If blending is needed, we dont subtract the candidates
display
> > rect from root damage rect.
> >
> > Reg ToNearestRect, which should be the right conversion API ?
>
> Whatever damage you remove must be fully covered by the opaque overlay. So
that
> means the opaque overlay rect must enclose the removed rect. So it seems like
> ToEnclosedRect is the right conservative choice?
Done,also added a test. PTAL
kalyank
@piman ping
5 years, 2 months ago
(2015-10-23 17:50:49 UTC)
#18
@piman ping
piman
lgtm
5 years, 2 months ago
(2015-10-23 17:59:43 UTC)
#19
lgtm
kalyank
On 2015/10/23 17:59:43, piman (slow to review) wrote: > lgtm @ccameron can you PTAL as ...
5 years, 2 months ago
(2015-10-23 18:03:50 UTC)
#20
On 2015/10/23 17:59:43, piman (slow to review) wrote:
> lgtm
@ccameron can you PTAL as things have changed a bit.
kalyank
On 2015/10/23 18:03:50, kalyank wrote: > On 2015/10/23 17:59:43, piman (slow to review) wrote: > ...
5 years, 1 month ago
(2015-10-27 16:11:41 UTC)
#21
On 2015/10/23 18:03:50, kalyank wrote:
> On 2015/10/23 17:59:43, piman (slow to review) wrote:
> > lgtm
>
> @ccameron can you PTAL as things have changed a bit.
@ccameron ping
ccameron
On 2015/10/27 16:11:41, kalyank wrote: > On 2015/10/23 18:03:50, kalyank wrote: > > On 2015/10/23 ...
5 years, 1 month ago
(2015-10-27 16:15:20 UTC)
#22
On 2015/10/27 16:11:41, kalyank wrote:
> On 2015/10/23 18:03:50, kalyank wrote:
> > On 2015/10/23 17:59:43, piman (slow to review) wrote:
> > > lgtm
> >
> > @ccameron can you PTAL as things have changed a bit.
>
> @ccameron ping
lgtm
kalyank
The CQ bit was checked by kalyan.kondapally@intel.com
5 years, 1 month ago
(2015-10-27 17:16:07 UTC)
#23
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1330563004/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1330563004/220001
5 years, 1 month ago
(2015-10-27 17:17:37 UTC)
#24
A revert of this CL (patchset #12 id:220001) has been created in https://codereview.chromium.org/1414923006/ by oshima@chromium.org. ...
5 years, 1 month ago
(2015-10-27 23:12:41 UTC)
#27
Message was sent while issue was closed.
A revert of this CL (patchset #12 id:220001) has been created in
https://codereview.chromium.org/1414923006/ by oshima@chromium.org.
The reason for reverting is: The reason for revert:
use-of-uninitiailzed value is reported on msan bot.
Filed crbug.com/548452
[ RUN ] SandwichTest.MultiQuadOverlay
==7008==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x7f1d2774a400 in
cc::OverlayProcessor::ProcessForOverlays(cc::ResourceProvider*,
cc::ScopedPtrVector\u003Ccc::RenderPass>*,
std::__1::vector\u003Ccc::OverlayCandidate,
std::__1::allocator\u003Ccc::OverlayCandidate> >*, gfx::Rect*)
cc/output/overlay_processor.cc:45:13
#1 0x7f1d259f6e5e in cc::(anonymous
namespace)::SandwichTest_MultiQuadOverlay_Test::TestBody()
cc/output/overlay_unittest.cc:617:3
#2 0x7f1d274a3922 in HandleExceptionsInMethodIfSupported\u003Ctesting::Test,
void> testing/gtest/src/gtest.cc:2458:12.
kalyank
Description was changed from ========== Avoid Copying damage rect when using Overlays When using Overlays, ...
5 years, 1 month ago
(2015-10-28 09:40:43 UTC)
#28
Message was sent while issue was closed.
Description was changed from
==========
Avoid Copying damage rect when using Overlays
When using Overlays, the damage rect can be completely covered by
the layer being composited by Overlay. We still copy damage rect
on to the current surface(Primary frame buffer) in BufferQueue. This
should be un-necessary.
BUG=370522
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/2904998edff0cfcaab43eeb3b1db013d6169bd17
Cr-Commit-Position: refs/heads/master@{#356352}
==========
to
==========
Avoid Copying damage rect when using Overlays
When using Overlays, the damage rect can be completely covered by
the layer being composited by Overlay. We still copy damage rect
on to the current surface(Primary frame buffer) in BufferQueue. This
should be un-necessary.
BUG=370522
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/2904998edff0cfcaab43eeb3b1db013d6169bd17
Cr-Commit-Position: refs/heads/master@{#356352}
==========
kalyank
Description was changed from ========== Avoid Copying damage rect when using Overlays When using Overlays, ...
5 years, 1 month ago
(2015-10-28 09:42:11 UTC)
#29
Description was changed from
==========
Avoid Copying damage rect when using Overlays
When using Overlays, the damage rect can be completely covered by
the layer being composited by Overlay. We still copy damage rect
on to the current surface(Primary frame buffer) in BufferQueue. This
should be un-necessary.
BUG=370522
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/2904998edff0cfcaab43eeb3b1db013d6169bd17
Cr-Commit-Position: refs/heads/master@{#356352}
==========
to
==========
Avoid Copying damage rect when using Overlays
When using Overlays, the damage rect can be completely covered by
the layer being composited by Overlay. We still copy damage rect
on to the current surface(Primary frame buffer) in BufferQueue. This
should be un-necessary.
BUG=370522,548452
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/2904998edff0cfcaab43eeb3b1db013d6169bd17
Cr-Commit-Position: refs/heads/master@{#356352}
==========
kalyank
On 2015/10/27 23:12:41, oshima wrote: > A revert of this CL (patchset #12 id:220001) has ...
5 years, 1 month ago
(2015-10-28 16:36:15 UTC)
#30
On 2015/10/27 23:12:41, oshima wrote:
> A revert of this CL (patchset #12 id:220001) has been created in
> https://codereview.chromium.org/1414923006/ by mailto:oshima@chromium.org.
>
> The reason for reverting is: The reason for revert:
>
> use-of-uninitiailzed value is reported on msan bot.
>
> Filed crbug.com/548452
>
>
> [ RUN ] SandwichTest.MultiQuadOverlay
> ==7008==WARNING: MemorySanitizer: use-of-uninitialized-value
> #0 0x7f1d2774a400 in
> cc::OverlayProcessor::ProcessForOverlays(cc::ResourceProvider*,
> cc::ScopedPtrVector\u003Ccc::RenderPass>*,
> std::__1::vector\u003Ccc::OverlayCandidate,
> std::__1::allocator\u003Ccc::OverlayCandidate> >*, gfx::Rect*)
> cc/output/overlay_processor.cc:45:13
> #1 0x7f1d259f6e5e in cc::(anonymous
> namespace)::SandwichTest_MultiQuadOverlay_Test::TestBody()
> cc/output/overlay_unittest.cc:617:3
> #2 0x7f1d274a3922 in
HandleExceptionsInMethodIfSupported\u003Ctesting::Test,
> void> testing/gtest/src/gtest.cc:2458:12.
@oshima, was missing a member variable initialization and this issue is fixed
with
the updated patch. There seem to be UI and Browser test failures but unrelated
to this
patch.
piman
lgtm
5 years, 1 month ago
(2015-10-28 16:55:31 UTC)
#31
lgtm
kalyank
The CQ bit was checked by kalyan.kondapally@intel.com
5 years, 1 month ago
(2015-10-28 17:01:31 UTC)
#32
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1330563004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1330563004/240001
5 years, 1 month ago
(2015-10-28 17:03:09 UTC)
#34
Description was changed from ========== Avoid Copying damage rect when using Overlays When using Overlays, ...
5 years, 1 month ago
(2015-10-30 23:51:04 UTC)
#39
Message was sent while issue was closed.
Description was changed from
==========
Avoid Copying damage rect when using Overlays
When using Overlays, the damage rect can be completely covered by
the layer being composited by Overlay. We still copy damage rect
on to the current surface(Primary frame buffer) in BufferQueue. This
should be un-necessary.
BUG=370522,548452
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/2904998edff0cfcaab43eeb3b1db013d6169bd17
Cr-Commit-Position: refs/heads/master@{#356352}
Committed: https://crrev.com/5ee13b006abdf74d0f6b3fbdde2d936c00ad97e7
Cr-Commit-Position: refs/heads/master@{#356570}
==========
to
==========
Avoid Copying damage rect when using Overlays
When using Overlays, the damage rect can be completely covered by
the layer being composited by Overlay. We still copy damage rect
on to the current surface(Primary frame buffer) in BufferQueue. This
should be un-necessary.
BUG=370522,548452
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/2904998edff0cfcaab43eeb3b1db013d6169bd17
Cr-Commit-Position: refs/heads/master@{#356352}
Committed: https://crrev.com/5ee13b006abdf74d0f6b3fbdde2d936c00ad97e7
Cr-Commit-Position: refs/heads/master@{#356570}
==========
kalyank
On 2015/10/30 23:30:28, ccameron wrote: > A revert of this CL (patchset #13 id:240001) has ...
5 years, 1 month ago
(2015-11-02 16:55:23 UTC)
#40
On 2015/10/30 23:30:28, ccameron wrote:
> A revert of this CL (patchset #13 id:240001) has been created in
> https://codereview.chromium.org/1408953005/ by mailto:ccameron@chromium.org.
>
> The reason for reverting is: This broke YouTube on Mac, in particular the
> sandwich overlay strategy.
> BUG=549350.
I have changed it so that damage_rect is passed down to strategy, which should
have definitive picture of how the quads are composited by overlays. It's upto
each strategy as to how it wants to deal with it. Also, removed needs_blending
boolean as FromDrawQuad(in OverlayCandidate) already rejects quads which need
blending
support.
@piman @ccameron can you PTAL
piman
lgtm
5 years, 1 month ago
(2015-11-03 03:42:43 UTC)
#41
lgtm
kalyank
On 2015/11/03 03:42:43, piman (slow to review) wrote: > lgtm @ccameron ping
5 years, 1 month ago
(2015-11-04 18:11:21 UTC)
#42
On 2015/11/03 03:42:43, piman (slow to review) wrote:
> lgtm
@ccameron ping
ccameron
On 2015/11/04 18:11:21, kalyank wrote: > On 2015/11/03 03:42:43, piman (slow to review) wrote: > ...
5 years, 1 month ago
(2015-11-04 19:33:11 UTC)
#43
On 2015/11/04 18:11:21, kalyank wrote:
> On 2015/11/03 03:42:43, piman (slow to review) wrote:
> > lgtm
>
> @ccameron ping
I don't feel confident in this -- I'd rather that this be pushed down to the
output surface, the way it is done on Mac (which, IIRC, was the original patch
to do this) -- changing with the damage rect can have unexpected consequences,
and makes the system harder to reason about.
If we *are* going to adjust the damage rect, we should do a full recalculation
of it, with the replaced quads taken into account.
kalyank
On 2015/11/04 19:33:11, ccameron wrote: > On 2015/11/04 18:11:21, kalyank wrote: > > On 2015/11/03 ...
5 years, 1 month ago
(2015-11-04 21:03:33 UTC)
#44
On 2015/11/04 19:33:11, ccameron wrote:
> On 2015/11/04 18:11:21, kalyank wrote:
> > On 2015/11/03 03:42:43, piman (slow to review) wrote:
> > > lgtm
> >
> > @ccameron ping
>
> I don't feel confident in this -- I'd rather that this be pushed down to the
> output surface, the way it is done on Mac (which, IIRC, was the original patch
> to do this) -- changing with the damage rect can have unexpected consequences,
> and makes the system harder to reason about.
The way Mac does it, we will still be doing some unnecessary gl rendering of
primary
buffer equal to damage rect ?
> If we *are* going to adjust the damage rect, we should do a full recalculation
> of it, with the replaced quads taken into account.
K. This was the very reason, I changed so that strategy can adjust the damage
rect
depending on how they promote quads to overlays. If I understand it correct you
think
we should re-calculated the whole damage rect after the quads promoted to
Overlays are
removed from the pass.
piman
On Wed, Nov 4, 2015 at 11:33 AM, <ccameron@chromium.org> wrote: > On 2015/11/04 18:11:21, kalyank ...
5 years, 1 month ago
(2015-11-04 23:00:48 UTC)
#45
On Wed, Nov 4, 2015 at 11:33 AM, <ccameron@chromium.org> wrote:
> On 2015/11/04 18:11:21, kalyank wrote:
>
>> On 2015/11/03 03:42:43, piman (slow to review) wrote:
>> > lgtm
>>
>
> @ccameron ping
>>
>
> I don't feel confident in this -- I'd rather that this be pushed down to
> the
> output surface, the way it is done on Mac (which, IIRC, was the original
> patch
> to do this) -- changing with the damage rect can have unexpected
> consequences,
> and makes the system harder to reason about.
>
> If we *are* going to adjust the damage rect, we should do a full
> recalculation
> of it, with the replaced quads taken into account.
>
We don't have per-quad damage information (and indeed, maintaining it is
costly when you may skip frames).
I think of this in terms of damage culling in the same way we do in the
compositor, so it doesn't bother me outright.
>
> https://codereview.chromium.org/1330563004/
>
To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.
kalyank
On 2015/11/04 23:00:48, piman (slow to review) wrote: > On Wed, Nov 4, 2015 at ...
5 years, 1 month ago
(2015-11-05 20:33:00 UTC)
#46
On 2015/11/04 23:00:48, piman (slow to review) wrote:
> On Wed, Nov 4, 2015 at 11:33 AM, <mailto:ccameron@chromium.org> wrote:
>
> > On 2015/11/04 18:11:21, kalyank wrote:
> >
> >> On 2015/11/03 03:42:43, piman (slow to review) wrote:
> >> > lgtm
> >>
> >
> > @ccameron ping
> >>
> >
> > I don't feel confident in this -- I'd rather that this be pushed down to
> > the
> > output surface, the way it is done on Mac (which, IIRC, was the original
> > patch
> > to do this) -- changing with the damage rect can have unexpected
> > consequences,
> > and makes the system harder to reason about.
> >
> > If we *are* going to adjust the damage rect, we should do a full
> > recalculation
> > of it, with the replaced quads taken into account.
> >
>
> We don't have per-quad damage information (and indeed, maintaining it is
> costly when you may skip frames).
Ya, also the calculations done here might be void depending on what the given
strategy is doing i.e. replacing existing quads or adding new transparent quads.
I would prefer the current approach and let individual strategy ensure the
damage
rect is correct (Taking into account any new quads it's adding or which get
promoted to overlays etc).
> I think of this in terms of damage culling in the same way we do in the
> compositor, so it doesn't bother me outright.
>
>
> >
> > https://codereview.chromium.org/1330563004/
> >
>
> To unsubscribe from this group and stop receiving emails from it, send an
email
> to mailto:chromium-reviews+unsubscribe@chromium.org.
kalyank
Ok to commit this ?
5 years, 1 month ago
(2015-11-06 16:57:49 UTC)
#47
Ok to commit this ?
ccameron
On 2015/11/06 16:57:49, kalyank wrote: > Ok to commit this ? Yes, OK by me
5 years, 1 month ago
(2015-11-06 16:59:07 UTC)
#48
On 2015/11/06 16:57:49, kalyank wrote:
> Ok to commit this ?
Yes, OK by me
ccameron
On 2015/11/04 23:00:48, piman (slow to review) wrote: > On Wed, Nov 4, 2015 at ...
5 years, 1 month ago
(2015-11-06 19:06:05 UTC)
#49
On 2015/11/04 23:00:48, piman (slow to review) wrote:
> On Wed, Nov 4, 2015 at 11:33 AM, <mailto:ccameron@chromium.org> wrote:
>
> > On 2015/11/04 18:11:21, kalyank wrote:
> >
> >> On 2015/11/03 03:42:43, piman (slow to review) wrote:
> >> > lgtm
> >>
> >
> > @ccameron ping
> >>
> >
> > I don't feel confident in this -- I'd rather that this be pushed down to
> > the
> > output surface, the way it is done on Mac (which, IIRC, was the original
> > patch
> > to do this) -- changing with the damage rect can have unexpected
> > consequences,
> > and makes the system harder to reason about.
> >
> > If we *are* going to adjust the damage rect, we should do a full
> > recalculation
> > of it, with the replaced quads taken into account.
> >
>
> We don't have per-quad damage information (and indeed, maintaining it is
> costly when you may skip frames).
>
> I think of this in terms of damage culling in the same way we do in the
> compositor, so it doesn't bother me outright.
I guess I feel strange about doing an empty PostSubBuffer -- I worry that it
will trigger various parts of the pipeline to elide it. In principle, this can
be protected by tests, but that seems to me to grow complexity. The
ImageTransportSurface layer seems safer in that it has a better picture of
everything, and can be more surgical about effects.
Anyway, still okay to commit by me, just want to register my "feels like we're
doing this the hard way" opinion, in case it causes any other second thoughts.
piman
On Fri, Nov 6, 2015 at 11:06 AM, <ccameron@chromium.org> wrote: > On 2015/11/04 23:00:48, piman ...
5 years, 1 month ago
(2015-11-06 19:28:21 UTC)
#50
On Fri, Nov 6, 2015 at 11:06 AM, <ccameron@chromium.org> wrote:
> On 2015/11/04 23:00:48, piman (slow to review) wrote:
>
>> On Wed, Nov 4, 2015 at 11:33 AM, <mailto:ccameron@chromium.org> wrote:
>>
>
> > On 2015/11/04 18:11:21, kalyank wrote:
>> >
>> >> On 2015/11/03 03:42:43, piman (slow to review) wrote:
>> >> > lgtm
>> >>
>> >
>> > @ccameron ping
>> >>
>> >
>> > I don't feel confident in this -- I'd rather that this be pushed down to
>> > the
>> > output surface, the way it is done on Mac (which, IIRC, was the original
>> > patch
>> > to do this) -- changing with the damage rect can have unexpected
>> > consequences,
>> > and makes the system harder to reason about.
>> >
>> > If we *are* going to adjust the damage rect, we should do a full
>> > recalculation
>> > of it, with the replaced quads taken into account.
>> >
>>
>
> We don't have per-quad damage information (and indeed, maintaining it is
>> costly when you may skip frames).
>>
>
> I think of this in terms of damage culling in the same way we do in the
>> compositor, so it doesn't bother me outright.
>>
>
> I guess I feel strange about doing an empty PostSubBuffer -- I worry that
> it
> will trigger various parts of the pipeline to elide it. In principle, this
> can
> be protected by tests, but that seems to me to grow complexity. The
> ImageTransportSurface layer seems safer in that it has a better picture of
> everything, and can be more surgical about effects.
>
ImageTransportSurface is essentially not used anymore on anything but mac.
One could argue that we could put the logic in the GLSurface
implementation, but that would mean a duplicate implementation on each
platform, whereas it seems to me that the logic isn't platform-specific,
and so doing it in cc lets us test it more easily (as evidenced by the new
unit test in this CL as opposed to the, ahem, lack of them at the
ImageTransportSurface/GLSurface level).
Fair point about empty PostSubBuffer, it might make sense to have a
separate CommitOverlayPlanes that makes no changes to the framebuffer.
>
> Anyway, still okay to commit by me, just want to register my "feels like
> we're
> doing this the hard way" opinion, in case it causes any other second
> thoughts.
>
> https://codereview.chromium.org/1330563004/
>
To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.
kalyank
The CQ bit was checked by kalyan.kondapally@intel.com
5 years, 1 month ago
(2015-11-06 22:43:54 UTC)
#51
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1330563004/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1330563004/280001
5 years, 1 month ago
(2015-11-06 22:44:27 UTC)
#53
Issue 1330563004: Avoid Copying damage rect when using Overlays
(Closed)
Created 5 years, 3 months ago by kalyank
Modified 5 years, 1 month ago
Reviewers: alexst (slow to review), achaulk, danakj, ccameron, piman
Base URL: https://chromium.googlesource.com/chromium/src.git@master
Comments: 4