| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Once gpu rasterization is disabled on a layer, it will stay disabled.
BUG=329722
Review URL: https://codereview.chromium.org/222903005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262994 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This lets us also remove LayerTreeHost::AcquireLayerTextures and related
scheduler things.
BUG=337922
Review URL: https://codereview.chromium.org/227413011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262878 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes IsHigherPriorityThan to return correct values. It
also adds a unittest.
R=enne
Review URL: https://codereview.chromium.org/230983004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262809 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This saves an extra memory copy, so we'll always want this enabled when using software.
BUG=
Review URL: https://codereview.chromium.org/195733010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262784 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After a lost context, it used to be the case that a tree wouldn't need
update draw properties (implying no ManageTilings prior to AppendQuads
or MarkVisibleResourcesAsRequired). This meant that if one layer added
a tiling and synced it to its twin, that the tiling state would not be
valid. This synced tiling would be the first tiling, but the resolution
wouldn't be set, causing the tiling state to be bogus.
The way to fix this is to simply set_needs_update_draw_properties when a
PictureLayerImpl loses its resources. This will force tilings to be
created and resolutions set correctly.
BUG=358350
Review URL: https://codereview.chromium.org/229283004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262756 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=N/A
Review URL: https://codereview.chromium.org/230543002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262745 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This re-rasterizes CPU-rasterized layers animating scale at the
maximum scale that will be applied during the animation, if this
maximum scale can be computed.
BUG=224913
Review URL: https://codereview.chromium.org/226283004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262737 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code has a bunch of DCHECKs, but that's not enough to understand
why a bug is happening in the wild. Add some temporary CHECKs to get
more information.
BUG=358350
Review URL: https://codereview.chromium.org/230983002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262719 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch changes the way we invalidate recycled tiles. Previously,
we would keep unshared tiles on the recycle tree until we create a new
pending tree. When we do that, we invalidate two frames worth of
invalidation. However, this relies on the tile manager to release
memory from these tiles and doesn't yield itself to changes.
The new approach invalidates the current invalidation on the recycle
tree as soon as the tilings are swapped, which ensures that in that
frame the tiles that are not shared are already released.
R=enne
Review URL: https://codereview.chromium.org/227673013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262670 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In ReclaimResources we return resources from the parent, which usually end up
deleted when we're invisible (since our allocation is supposed to be 0). In that
case we want to make sure that we flush the context so that the textures are
actually deleted in the GPU process (and free up memory for the rest of the
system).
BUG=349553
Review URL: https://codereview.chromium.org/229893003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262668 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This reduces the number of ways to allocate cross-process bitmaps.
BUG=
Review URL: https://codereview.chromium.org/227703009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262620 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes ownership more clear and avoids the need to have the
base class call virtual functions that need to be implemented by
derived classes. Also removes the need for the base class to
implement the WorkerPoolTaskClient interface.
No changes in behavior. Might have a small positive impact on
performance as it removes an unnecessary level of callback
redirection from the "raster finished" tasks.
BUG=269841
Review URL: https://codereview.chromium.org/221953003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262584 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although setting of start time was exposed via the WebAnimation interface
it was clobbered when starting impl side animations. This patch removes
the unused Animation::Clone method and makes Animation::CloneAndInitialize
always copy the specified start time, if any.
Start times are not currently specified outside tests but will soon be
used by blink for animations started through the Web Animations API.
BUG=360471
Review URL: https://codereview.chromium.org/228203004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262582 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, any scaling in LTHI::external_transform_ is
ignored by PictureLayerImpl when deciding to create
tilings at different scales. If the scaling in external
transform is not 1, then the scaling will just be done
at draw time without creating new tilings at the new
scale.
This CL takes out the scale from external transform and
apply it to the device scale. This way PictureLayerImpl
will notice the scale change and create new tilings as
necessary.
This does mean device scale can change each frame and lead
to creating a lot of unnecessary tilings. However there
is no good signal to know whether a the transform is part
of an animation. So there is no good point like "animation
end" to update tiling.
BUG=357441
Review URL: https://codereview.chromium.org/227153011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262571 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
R=enne@chromium.org
BUG=NONE
TEST=NONE(trivial change)
Review URL: https://codereview.chromium.org/227373009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262434 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
this change allows us to remove the deprecated code in SK_SUPPORT_LEGACY_LAYERRASTERIZER_API
BUG=
Review URL: https://codereview.chromium.org/227463005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262428 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds an eviction tile iterator to the layer. The iterator
returns tiles as provided by the tiling eviction tile iterator. It
returns all tiles in the following order:
1. Prepaint tiles from higher than high-res non-ideal tilings.
2. Prepaint tiles from lower than high-res non-ideal tilings.
3. Prepaint tiles from low res tiling.
4. Prepaint tiles from high res tiling.
5. Visible tiles from higher than high-res non-ideal tilings.
6. Visible tiles from lower than high-res non-ideal tilings.
7. Visible tiles from low res tiling.
8. Visible tiles from high res tiling.
R=enne
Review URL: https://codereview.chromium.org/221413005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262310 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Damage rects can become huge when layers clip the viewport, and in some
cases become so large that we reach inaccurate floating point
representation of the whole-number portion, which we fail to handle
correctly when doing gfx::ToEnclosingRect.
Int/float conversions are also slow, and the GL_SCISSOR wants integers
eventually anyway, so keeping track of partial-pixel damage is not
buying us much here. So convert the DamageTracker to use integer rects.
Also change cc::RenderSurfaceImpl to export a damage_rect that is
contained inside the output_rect for the RenderPass, and add DCHECKs
to cc::RenderPass to ensure we don't send pointlessly large damage_rects
to the cc::Renderer.
Tests:
DamageTrackerTest.HugeDamageRect
R=enne@chromium.org, piman@chromium.org
BUG=355514
Review URL: https://codereview.chromium.org/226183007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262160 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, ~GrContextForWebGraphicsContext3D() calls
GrContext::contextDestroyed() before destructing a context provider. It causes
gpu resource leak because contextDestroyed() abandons all gpu resources, so
GrContext destructor cannot have a chance to clean gpu resources.
chromium doesn't need to use GrContext::contextDestroyed() because chromium
controls the lifecycle of a context provider. However, when a context provider
is lost, chromium must call GrContext::contextLost().
In addition, TestInProcessContextProvider must destruct GrContext before
destructing gpu::GLInProcessContext.
BUG=360107
Review URL: https://codereview.chromium.org/226203004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262153 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r261817 falsely accused! Reverting the revert, sorry for the noise.
> Revert 261817 "cc: Remove all usage of GetArea() from production..."
>
> Suspected of causing failures on Linux CrOS ASan LSan:
>
> http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%2BLSan%20Tests%20%283%29/builds/702
>
> http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%2BLSan%20Tests%20%282%29/builds/664
>
> http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%2BLSan%20Tests%20%281%29/builds/702
>
>
> > cc: Remove all usage of GetArea() from production code in cc
> >
> > Consolidate the calls to turn gfx::Size into a number of bytes onto
> > the cc::SharedBitmap class. The class offers the following methods:
> > 1. Get a size_t bytes and bool saying if you overflowed or not.
> > 2. Get a size_t bytes and crash if you overflow.
> > 3. Get a size_t bytes and don't check for overflow.
> > 4. Tell me if the gfx::Size would overflow to create the size_t bytes.
> >
> > These were the use cases I found in the existing code, plus the
> > addition of case 2. A few places that were finding the size_t bytes
> > without looking for overflow (case 3), from a previously-unchecked
> > gfx::Size, were changed to crash on overflow instead (case 2).
> >
> > R=jbauman@chromium.org, piman@chromium.org
> > BUG=348332
> >
> > Review URL: https://codereview.chromium.org/221523003
>
> TBR=danakj@chromium.org
>
> Review URL: https://codereview.chromium.org/226693005
TBR=scottmg@chromium.org, danakj@chromium.org
Review URL: https://codereview.chromium.org/226693007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262022 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suspected of causing failures on Linux CrOS ASan LSan:
http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%2BLSan%20Tests%20%283%29/builds/702
http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%2BLSan%20Tests%20%282%29/builds/664
http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%2BLSan%20Tests%20%281%29/builds/702
> cc: Remove all usage of GetArea() from production code in cc
>
> Consolidate the calls to turn gfx::Size into a number of bytes onto
> the cc::SharedBitmap class. The class offers the following methods:
> 1. Get a size_t bytes and bool saying if you overflowed or not.
> 2. Get a size_t bytes and crash if you overflow.
> 3. Get a size_t bytes and don't check for overflow.
> 4. Tell me if the gfx::Size would overflow to create the size_t bytes.
>
> These were the use cases I found in the existing code, plus the
> addition of case 2. A few places that were finding the size_t bytes
> without looking for overflow (case 3), from a previously-unchecked
> gfx::Size, were changed to crash on overflow instead (case 2).
>
> R=jbauman@chromium.org, piman@chromium.org
> BUG=348332
>
> Review URL: https://codereview.chromium.org/221523003
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/226693005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261972 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Follow up to:
https://codereview.chromium.org/222823004/
BUG=357117
TBR=enne@chromium.org
Review URL: https://codereview.chromium.org/224883003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261968 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch ensures that when resources are released by the parent
compositor, we actually clean them up if needed to meet the memory
requirements.
R=reveman,
BUG=349553
Review URL: https://codereview.chromium.org/224483002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261939 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Shouldn't have been reverted, apologies for the noise.
> Revert 261906 "cc: Add picture recording modes for benchmarking"
>
> Suspected of causing gcm_unit_tests failures
>
> http://build.chromium.org/p/chromium.mac/buildstatus?builder=Mac10.7%20Tests%20%282%29&number=25118
>
> Will file a bug that gcm_unit_tests isn't in default tryjob set if this is actually the cause.
>
> > cc: Add picture recording modes for benchmarking
> >
> > This patch adds three different picture recording modes for benchmarking
> > purposes:
> >
> > 1. RECORD_NORMALLY. This is the default and produces a normal recording
> > as before.
> >
> > 2. RECORD_WITH_NULL_CANVAS. This mode uses SkNullCanvas to avoid (most
> > of) the Skia processing that happen during recording. Can be used to
> > estimate the recording workload inside Blink.
> >
> > 3. RECORD_WITH_PAINTING_DISABLED. Passes a NULL canvas to Blink, which
> > causes the GraphicsContext object to disable painting. This mode
> > gives an estimate of the recording workload of Blink excluding the
> > processing inside GraphicsContext.
> >
> > This patch also modifies the rasterize_and_record_micro benchmark to
> > report the recording time for each mode (record_time_ms,
> > record_time_null_canvas_ms and record_time_painting_disabled_ms
> > respectively).
> >
> > Anecdotally on a z600 and the key_silk_cases page set, SkNullCanvas cuts
> > recording time to 50% and disabling painting down to 19%.
> >
> > BUG=357572
> > TEST=PictureTest.RecordingModes
> > TEST=tools/perf/run_benchmark rasterize_and_record_micro.key_silk_cases --browser=release
> >
> > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261543
> >
> > Review URL: https://codereview.chromium.org/216933002
>
> TBR=skyostil@chromium.org
>
> Review URL: https://codereview.chromium.org/226083007
TBR=skyostil@chromium.org
Review URL: https://codereview.chromium.org/226293003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261915 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suspected of causing gcm_unit_tests failures
http://build.chromium.org/p/chromium.mac/buildstatus?builder=Mac10.7%20Tests%20%282%29&number=25118
Will file a bug that gcm_unit_tests isn't in default tryjob set if this is actually the cause.
> cc: Add picture recording modes for benchmarking
>
> This patch adds three different picture recording modes for benchmarking
> purposes:
>
> 1. RECORD_NORMALLY. This is the default and produces a normal recording
> as before.
>
> 2. RECORD_WITH_NULL_CANVAS. This mode uses SkNullCanvas to avoid (most
> of) the Skia processing that happen during recording. Can be used to
> estimate the recording workload inside Blink.
>
> 3. RECORD_WITH_PAINTING_DISABLED. Passes a NULL canvas to Blink, which
> causes the GraphicsContext object to disable painting. This mode
> gives an estimate of the recording workload of Blink excluding the
> processing inside GraphicsContext.
>
> This patch also modifies the rasterize_and_record_micro benchmark to
> report the recording time for each mode (record_time_ms,
> record_time_null_canvas_ms and record_time_painting_disabled_ms
> respectively).
>
> Anecdotally on a z600 and the key_silk_cases page set, SkNullCanvas cuts
> recording time to 50% and disabling painting down to 19%.
>
> BUG=357572
> TEST=PictureTest.RecordingModes
> TEST=tools/perf/run_benchmark rasterize_and_record_micro.key_silk_cases --browser=release
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261543
>
> Review URL: https://codereview.chromium.org/216933002
TBR=skyostil@chromium.org
Review URL: https://codereview.chromium.org/226083007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261914 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds three different picture recording modes for benchmarking
purposes:
1. RECORD_NORMALLY. This is the default and produces a normal recording
as before.
2. RECORD_WITH_NULL_CANVAS. This mode uses SkNullCanvas to avoid (most
of) the Skia processing that happen during recording. Can be used to
estimate the recording workload inside Blink.
3. RECORD_WITH_PAINTING_DISABLED. Passes a NULL canvas to Blink, which
causes the GraphicsContext object to disable painting. This mode
gives an estimate of the recording workload of Blink excluding the
processing inside GraphicsContext.
This patch also modifies the rasterize_and_record_micro benchmark to
report the recording time for each mode (record_time_ms,
record_time_null_canvas_ms and record_time_painting_disabled_ms
respectively).
Anecdotally on a z600 and the key_silk_cases page set, SkNullCanvas cuts
recording time to 50% and disabling painting down to 19%.
BUG=357572
TEST=PictureTest.RecordingModes
TEST=tools/perf/run_benchmark rasterize_and_record_micro.key_silk_cases --browser=release
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261543
Review URL: https://codereview.chromium.org/216933002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261906 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consolidate the calls to turn gfx::Size into a number of bytes onto
the cc::SharedBitmap class. The class offers the following methods:
1. Get a size_t bytes and bool saying if you overflowed or not.
2. Get a size_t bytes and crash if you overflow.
3. Get a size_t bytes and don't check for overflow.
4. Tell me if the gfx::Size would overflow to create the size_t bytes.
These were the use cases I found in the existing code, plus the
addition of case 2. A few places that were finding the size_t bytes
without looking for overflow (case 3), from a previously-unchecked
gfx::Size, were changed to crash on overflow instead (case 2).
R=jbauman@chromium.org, piman@chromium.org
BUG=348332
Review URL: https://codereview.chromium.org/221523003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261817 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch ensures that we skip analysis for narrow layers. These layers
are unlikely to have solid color, and we shouldn't spend time analyzing
them. Additionally, we need to be cautious and set has_text to be true
by default, since for tiles that skipped analysis, we have to assume
that they have text.
(original CL: https://codereview.chromium.org/213093003/)
R=reveman, alokp@chromium.org
Review URL: https://codereview.chromium.org/224333002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261794 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
We are showing unnecessary glow effect during the max scroll. As updated in the bug (https://code.google.com/p/chromium/issues/detail?id=359530) unused_root_delta most of the time it is 0.01 or 0.02 becuase of which glow effect is shown.
Review URL: https://codereview.chromium.org/223723002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261699 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=359245
Review URL: https://codereview.chromium.org/222743004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261668 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An optimization was made for completely filled contents in:
https://codereview.chromium.org/191453002
However we need to apply the same border filling logic on
content that touches the edges of the layer.
BUG=357117
Review URL: https://codereview.chromium.org/222823004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261650 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This function takes an extra argument that is being ignored. In order
for the API to be less confusing, this patch removes the argument.
R=reveman
Review URL: https://codereview.chromium.org/221413003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261648 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This adds MaximumScale and HasOnlyTranslationTransforms
methods to LayerAnimationController.
BUG=224913
Review URL: https://codereview.chromium.org/214003004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261583 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also makes testing more straightforward since
we can use a TestTaskRunner to query and run posted
tasks directly.
BUG=359245
Review URL: https://codereview.chromium.org/222003007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261582 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL allows forced commit request when readback state is in
READBACK_STATE_WAITING_FOR_REPLACEMENT_ACTIVATION.
R=brianderson@chromium.org
BUG=340514
TEST=SchedulerStateMachineTest_ForceCommitWhenReplacementActivationInProgress*
Review URL: https://codereview.chromium.org/195833002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261574 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously this uninitialized value was -1us. Using a totally invalid
interval lead to a busy loop when -1us is used as the delay to a post
task. Instead use DefaultInterval() in this case so there is always a
somewhat sane value for interval.
BUG=359171
Review URL: https://codereview.chromium.org/222653002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261569 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> cc: Add picture recording modes for benchmarking
>
> This patch adds three different picture recording modes for benchmarking
> purposes:
>
> 1. RECORD_NORMALLY. This is the default and produces a normal recording
> as before.
>
> 2. RECORD_WITH_NULL_CANVAS. This mode uses SkNullCanvas to avoid (most
> of) the Skia processing that happen during recording. Can be used to
> estimate the recording workload inside Blink.
>
> 3. RECORD_WITH_PAINTING_DISABLED. Passes a NULL canvas to Blink, which
> causes the GraphicsContext object to disable painting. This mode
> gives an estimate of the recording workload of Blink excluding the
> processing inside GraphicsContext.
>
> This patch also modifies the rasterize_and_record_micro benchmark to
> report the recording time for each mode (record_time_ms,
> record_time_null_canvas_ms and record_time_painting_disabled_ms
> respectively).
>
> Anecdotally on a z600 and the key_silk_cases page set, SkNullCanvas cuts
> recording time to 50% and disabling painting down to 19%.
>
> BUG=357572
> TEST=PictureTest.RecordingModes
> TEST=tools/perf/run_benchmark rasterize_and_record_micro.key_silk_cases --browser=release
>
> Review URL: https://codereview.chromium.org/216933002
TBR=skyostil@chromium.org
Review URL: https://codereview.chromium.org/224683002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261556 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds three different picture recording modes for benchmarking
purposes:
1. RECORD_NORMALLY. This is the default and produces a normal recording
as before.
2. RECORD_WITH_NULL_CANVAS. This mode uses SkNullCanvas to avoid (most
of) the Skia processing that happen during recording. Can be used to
estimate the recording workload inside Blink.
3. RECORD_WITH_PAINTING_DISABLED. Passes a NULL canvas to Blink, which
causes the GraphicsContext object to disable painting. This mode
gives an estimate of the recording workload of Blink excluding the
processing inside GraphicsContext.
This patch also modifies the rasterize_and_record_micro benchmark to
report the recording time for each mode (record_time_ms,
record_time_null_canvas_ms and record_time_painting_disabled_ms
respectively).
Anecdotally on a z600 and the key_silk_cases page set, SkNullCanvas cuts
recording time to 50% and disabling painting down to 19%.
BUG=357572
TEST=PictureTest.RecordingModes
TEST=tools/perf/run_benchmark rasterize_and_record_micro.key_silk_cases --browser=release
Review URL: https://codereview.chromium.org/216933002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261543 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
R=enne
CC=skyostil
Review URL: https://codereview.chromium.org/224153004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261533 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After making the canvas, ensure the size it reports is correct. Also
pass the full content_rect to ContentLayerUpdater::PaintContents
instead of deriving the size from the canvas, and double-check the
size matches the canvas there.
R=reveman@chromium.org
BUG=358470
Review URL: https://codereview.chromium.org/222573002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261526 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The I420 and YV12 formats both are almost identical except for the order
of U and V planes in memory. They are effectively the same for renderers
that access U and V plane data via MediaFrame::data(size_t plane).
BUG=341452
BUG=355763
TEST=trybot
R=danakj@chromium.org, dmichael@chromium.org, fischman@chromium.org, perkj@chromium.org, piman@chromium.org
Review URL: https://codereview.chromium.org/222563002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261497 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TextureLayer::WillModifyTexture"
Reason for re-land: Change was found not guilty; charges were dropped.
> Revert 261380 "cc: Remove TextureLayer::SetTextureId and Texture..."
>
> [Reason for revert: failure in WindowUtilTest.RecreateLayers
> in test suite wm_core_unittests
> on bot Linux ChromiumOS Tests (dbg)(1) Build]
>
> > cc: Remove TextureLayer::SetTextureId and TextureLayer::WillModifyTexture
> >
> > These are not used anymore except for clearing the client-provided texture, so
> > this removes 1 of 4 TextureLayer paths, and simplifies externally-exposed state.
> >
> > BUG=337922
> >
> > Review URL: https://codereview.chromium.org/213743005
>
> TBR=piman@chromium.org
>
> Review URL: https://codereview.chromium.org/224153003
TBR=nick@chromium.org
Review URL: https://codereview.chromium.org/224363003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261490 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Reason for revert: failure in WindowUtilTest.RecreateLayers
in test suite wm_core_unittests
on bot Linux ChromiumOS Tests (dbg)(1) Build]
> cc: Remove TextureLayer::SetTextureId and TextureLayer::WillModifyTexture
>
> These are not used anymore except for clearing the client-provided texture, so
> this removes 1 of 4 TextureLayer paths, and simplifies externally-exposed state.
>
> BUG=337922
>
> Review URL: https://codereview.chromium.org/213743005
TBR=piman@chromium.org
Review URL: https://codereview.chromium.org/224153003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261460 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
These are not used anymore except for clearing the client-provided texture, so
this removes 1 of 4 TextureLayer paths, and simplifies externally-exposed state.
BUG=337922
Review URL: https://codereview.chromium.org/213743005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261380 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=358409
Review URL: https://codereview.chromium.org/222413004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261346 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Request another commit after drawing layers if we're in continuous paint mode.
BUG=346886
Review URL: https://codereview.chromium.org/181393002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261340 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These tests exercise the PicturePile code that is used to analyze
or raster a tile. This includes all the clippingoperations but
none of the actual work to raster or analyze real contents as all
pictures used are empty.
BUG=358896
TEST=cc_perftests --gtest_filter=PicturePileImplPerfTest.*
Review URL: https://codereview.chromium.org/221903005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261302 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Plus refactor overlay transform into separate file to use the same type in cc, ozone and context_support.
BUG=
Review URL: https://codereview.chromium.org/220723006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261301 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r259729 fixed one bad overscroll glow, but introduced a regression in another
case. When a scroll amount fell between 0.01 and 0.1, the early break caused
the amount to fail to be subtracted from unused_scroll_delta at all, so all such
scrolls resulted in a glow.
BUG=358093
Review URL: https://codereview.chromium.org/218883005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261241 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/213743004/)
Reason for revert:
The broken fling layout test has been fixed in: https://codereview.chromium.org/219243010/
Original issue's description:
> Revert of Early terminate flings when scrolling impossible (https://codereview.chromium.org/136173004/)
>
> Reason for revert:
> Broke a layout test, fast/events/touch/gesture/pad-gesture-fling.html
>
> http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&tests=fast%2Fevents%2Ftouch%2Fgesture%2Fpad-gesture-fling.html
>
>
> Original issue's description:
> > Early terminate flings when scrolling impossible
> >
> > Previously, flings were terminated early only if the root layer overscrolled.
> > Now, flings will terminate if the fling target's |scrollBy()| method returns
> > false, providing consistency between layer types and saving battery on
> > sites with scrolling sublayers.
> >
> > Also move |DidOverscrollParams| into content/ in anticipation of using it
> > directly in the overscroll IPC message.
> >
> > Corresponding Blink patch:
> > https://codereview.chromium.org/139493003/
> >
> > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260631
>
> TBR=aelias@chromium.org,jochen@chromium.org,jdduke@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260773
TBR=aelias@chromium.org,jochen@chromium.org,tkent@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/222353002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261187 0039d316-1c4b-4281-b951-d872f2087c98
|