| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move RenderPass::Id out of RenderPass and make it an isolated class
called RenderPassId, so RenderPassDrawQuad and AppendQuadsData will not
need to depend on entire RenderPass class.
BUG=344962
Review URL: https://codereview.chromium.org/404563005
Cr-Commit-Position: refs/heads/master@{#291403}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291403 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The contents_changed_since_last_frame and is_replica fields are not
used. Also removes RenderSurfaceImpl's ContentsChanged() as this method
was only used in determining the value of
contents_changed_since_last_frame.
Unfortunately now RenderPassDrawQuad is only the largest quad type on
64-bit builds. So, adds kLargestQuadType to cc/quads/ and moves the
largest-quad-type unit test there verifying that kLargestQuadType is
the largest now, instead of RenderPassDrawQuad.
R=enne
BUG=401481
NOTRY=true
Review URL: https://codereview.chromium.org/448133002
Cr-Commit-Position: refs/heads/master@{#289091}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289091 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since QuadSink does not provide more functionatility than passing
through to RenderPass and OcclusionTracker, it can be torn down and
removed. Same is for MockQuadCuller.
This CL follows 302603006, 306683002, 309493002.
BUG=344962
TEST=cc_unittests
Review URL: https://codereview.chromium.org/308193003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279050 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LayerIterator takes 4 parameters. One is the FrontToBack ordering
but that is now the only option. The other 3 are for the type of layers,
render surfaces, and the render surface layer list. The latter two are
now already available as typedefs off of Layer and LayerImpl, so we
only need Layer/LayerImpl in the template arguments.
R=enne@chromium.org, enne
BUG=YAK
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=251238
Review URL: https://codereview.chromium.org/156603005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254156 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Speculative revert to see if this affects memory stomping behaviours.
BUG=345757
Review URL: https://codereview.chromium.org/180243014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253612 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Revert 251238 "cc: Clean up iterator template to only take 1 par..."
>
> Speculative revert to see if this affects memory stomping behaviours.
>
> > cc: Clean up iterator template to only take 1 parameter.
> >
> > LayerIterator takes 4 parameters. One is the FrontToBack ordering
> > but that is now the only option. The other 3 are for the type of layers,
> > render surfaces, and the render surface layer list. The latter two are
> > now already available as typedefs off of Layer and LayerImpl, so we
> > only need Layer/LayerImpl in the template arguments.
> >
> > R=enne
> > BUG=YAK
> >
> > Review URL: https://codereview.chromium.org/156603005
>
> TBR=danakj@chromium.org
>
> Review URL: https://codereview.chromium.org/181783004
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/182343002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253610 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Speculative revert to see if this affects memory stomping behaviours.
> cc: Clean up iterator template to only take 1 parameter.
>
> LayerIterator takes 4 parameters. One is the FrontToBack ordering
> but that is now the only option. The other 3 are for the type of layers,
> render surfaces, and the render surface layer list. The latter two are
> now already available as typedefs off of Layer and LayerImpl, so we
> only need Layer/LayerImpl in the template arguments.
>
> R=enne
> BUG=YAK
>
> Review URL: https://codereview.chromium.org/156603005
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/181783004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253606 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LayerIterator takes 4 parameters. One is the FrontToBack ordering
but that is now the only option. The other 3 are for the type of layers,
render surfaces, and the render surface layer list. The latter two are
now already available as typedefs off of Layer and LayerImpl, so we
only need Layer/LayerImpl in the template arguments.
R=enne
BUG=YAK
Review URL: https://codereview.chromium.org/156603005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251238 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There used to be a separate channel for plumbing back a layer's debug name. The
debug info object is more general, and we can just send the debug name through
it. This patch depends on https://codereview.chromium.org/135473002/
R=jamesr@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/135493002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244948 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid unneccessary copy of structures gfx::Rect & gfx::RectF
by passing them by const ref rather than value.
Any struct of size > 4 bytes should be passed by const ref.
Passing by ref for these structs is faster than passing
by value, especially when invoking function has multiple parameters.
Pass by value creates unneccessary overhead which should be avoided.
BUG=159273
Review URL: https://codereview.chromium.org/93663004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244224 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using bitfields we get the memory usage as follows
+-----+---------------------------+------------------------+---------+
|.No..|.Class/Structure/File......|.Size.of.object.(bytes).|.Memory..|
|.....|...........................+------------------------+.Reduced.|
|.....|...........................|...Before..|...After....|.........|
+-----+---------------------------+-----------+------------+---------+
|..1..|.cc::Layer.................|......840..|.....824....|......16.|
+-----+---------------------------+-----------+------------+---------+
|..2..|.cc::LayerImpl.............|......880..|.....864....|......16.|
+-----+---------------------------+-----------+------------+---------+
|..3..|.cc::RenderSurfaceImpl.....|......408..|.....400....|.......8.|
+-----+---------------------------+-----------+------------+---------+
Review URL: https://codereview.chromium.org/102733006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239682 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generalized RenderSurface::nearest_ancestor_that_moves_pixels
to nearest_occlusion_immune_ancestor. Used this flag to mark
render surfaces that have replica, copy-request, or filters
that move pixels.
BUG=307612
Review URL: https://codereview.chromium.org/40613004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235522 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a layer or any of its ancestors has hide_layer_and_subtree() set
to true, the layer will not be part of the compositor's output. But
if we want to service a CopyOutputRequest on a layer in the hidden
subtree, we need to draw it.
This CL tracks visibility recursively in CalcDropProperties, so that
when an output request exists in the subtree, we can avoid skipping
the subtree, but make note that the layers in it are not visible (at
least, until we recurse into the copy output requested layer).
If a layer with an output request can not be drawn (it is clipped
away/empty), then we abort the copy request and send an empty result.
This is done for any remaining copy requests in the layer tree after
we have taken requests that will be used and moved them onto
RenderPasses.
Tests:
LayerTreeHostCommonTest.SubtreeHiddenWithCopyRequest
LayerTreeHostCommonTest.ClippedOutCopyRequest
LayerTreeHostTestAsyncReadbackInHiddenSubtree.RunSingleThread_DirectRenderer
LayerTreeHostTestAsyncReadbackInHiddenSubtree.RunMultiThread_DirectRenderer_MainThreadPaint
LayerTreeHostTestAsyncReadbackInHiddenSubtree.RunMultiThread_DirectRenderer_ImplSidePaint
LayerTreeHostTestAsyncReadbackClippedOut.RunSingleThread_DirectRenderer
LayerTreeHostTestAsyncReadbackClippedOut.RunMultiThread_DirectRenderer_MainThreadPaint
LayerTreeHostTestAsyncReadbackClippedOut.RunMultiThread_DirectRenderer_ImplSidePaint
LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest.RunSingleThread_DirectRenderer
LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest.RunMultiThread_DirectRenderer_MainThreadPaint
LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest.RunMultiThread_DirectRenderer_ImplSidePaint
R=enne
BUG=242572
Review URL: https://chromiumcodereview.appspot.com/17619004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210090 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CC currently has three (3) ways to dump layers: LayerTreeAsText,
LayerTreeAsJSON, and AsValue.
LayerTreeAsText is the least useful due to the fact that if you have
more than a few layers it falls off the bottom of the screen. Its layer
printing abilities have been entirely replaced (in my opinion) with
TraceViewer's ability to capture frames.
R=nduca@chromium.org
BUG=none
Review URL: https://chromiumcodereview.appspot.com/17351009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207596 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We currently have Layer::LayerList, LayerImpl::LayerList,
LayerTreeHost::LayerList and LayerTreeHostImpl::LayerList,
as well as LayerTreeImpl::LayerList, LayerSorter::LayerList,
and I think some more.
This patch consolidates the list typedefs into three types:
LayerList, LayerImplList, and OwnedLayerImplList.
LayerList and LayerImplList are the output of
CalculateDrawProperties. While OwnedLayerImplList is a list
that owns the layer pointers in it, ie ScopedPtrVector.
R=jamesr
Review URL: https://codereview.chromium.org/13285002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191442 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes lint errors in everything except for the few stragglers (occlusion unit test, etc) that haven't been chromified.
BUG=144577
Review URL: https://chromiumcodereview.appspot.com/12965007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190767 0039d316-1c4b-4281-b951-d872f2087c98
|
|
Continuation of https://src.chromium.org/viewvc/chrome?view=rev&revision=188681
BUG=190824
TBR=enne@chromium.org, piman@chromium.org, jschuh@chromium.org, joth@chromium.org
Review URL: https://codereview.chromium.org/12916002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188703 0039d316-1c4b-4281-b951-d872f2087c98
|