| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
R=piman
BUG=
Review URL: https://codereview.chromium.org/167953003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251898 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--ui-enable-per-tile-painting. (https://codereview.chromium.org/164183012/)
Reason for revert:
Breaks compositor_unittests on ChromeOS.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%281%29/builds/39630
LayerWithRealCompositorTest.Delegate (run #1):
[ RUN ] LayerWithRealCompositorTest.Delegate
../../ui/compositor/layer_unittest.cc:527: Failure
Value of: l1->bounds().size()
Actual: 8-byte object \u003C90-01 00-00 90-01 00-00>
Expected: delegate.paint_size()
Which is: 8-byte object \u003C00-00 00-00 00-00 00-00>
...
LayerWithRealCompositorTest.NoScaleCanvas (run #1):
[ RUN ] LayerWithRealCompositorTest.NoScaleCanvas
../../ui/compositor/layer_unittest.cc:1311: Failure
Value of: l1_delegate.paint_size().ToString()
Actual: "0x0"
Expected: "280x360"
[ FAILED ] LayerWithRealCompositorTest.NoScaleCanvas (112 ms)
...
I can repro the failures on my dev box and revert this CL fixes the problem.
Original issue's description:
> Remove --enable-per-tile-painting and --ui-enable-per-tile-painting.
>
> The ui flag is always true on ChromeOS and off elsewhere. The other is
> never on and we're not planning to turn it on.
>
> R=piman
> BUG=
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=251538
TBR=piman@chromium.org,danakj@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/168423002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251553 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ui flag is always true on ChromeOS and off elsewhere. The other is
never on and we're not planning to turn it on.
R=piman
BUG=
Review URL: https://codereview.chromium.org/164183012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251538 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the transform on a layer is an integer translation, we can easily
avoid converting the query rectangle to floats just to convert them
back to integers again. This is super costly.
Added a perftest for this. On an N4 the results are
Before: 20.553817749023438 us
After: 13.440165519714355 us
For about 35% reduction in time in this scnario.
Also renames MapClippedRect(Rect) to MapEnclosingClippedRect(Rect) to
describe what it does better, and audit callsides of MapClippedRect
to change any others that then ToEnclosingRect to call the
MapEnclosingClippedRect instead. Similar for Project.
R=enne
BUG=342848
Review URL: https://codereview.chromium.org/143293005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250739 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves the kEnableGpuBenchmarking switch from
content switches to cc switches for it to be accessible from
ui/compositor/compositor.cc.
If the flag is set, the browser compositor enalbes recording of rendering
stats in its constructor. The recorded stats will be used by a follow-up patch
that switches smoothness benchmark to use time stamps from the browser
compositor when available.
R=piman@chromium.org,nduca@chromium.org
BUG=340747
Review URL: https://codereview.chromium.org/148983007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249307 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move rolling_time_delta_history.[cc|h] to cc/base
* Move texture_uploader.[cc|h] to cc/resources
R=enne@chromium.org
BUG=340190
TEST=cc_unittests
Review URL: https://codereview.chromium.org/130173007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248685 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 and some
other scenarios mentioned in the bug.
BUG=159273
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247426
Review URL: https://codereview.chromium.org/145313006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247769 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/145313006/)
Reason for revert:
Suspected of breaking the Linux ASAN tests ( http://build.chromium.org/p/chromium.memory/builders/Linux%20ASAN%20Tests%20%283%29/builds/22104 )
Original issue's description:
> [#7] Pass gfx::Size by const ref.
>
> 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 and some
> other scenarios mentioned in the bug.
>
> BUG=159273
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247426
TBR=danakj@chromium.org,enne@chromium.org,bulach@chromium.org,piman@chromium.org,prashant.n@samsung.com
NOTREECHECKS=true
NOTRY=true
BUG=159273
Review URL: https://codereview.chromium.org/142863008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247437 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 and some
other scenarios mentioned in the bug.
BUG=159273
Review URL: https://codereview.chromium.org/145313006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247426 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid unneccessary copy of structures gfx::Vector2dF
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 gfx structs by const ref (gfx::Vector2dF)
BUG=159273
Review URL: https://codereview.chromium.org/130443005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246563 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes the unnecessary WorkerPool layer. This makes the job
of the TaskGraphRunner more clear and will allow us to remove
some complexity and unnecessary heap allocations from the
RasterWorkerPool code in follow up patches.
Also moves the kNumRasterTasks switch to content/.
Refactor only, no changes in behavior.
BUG=331844
Review URL: https://codereview.chromium.org/141163019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246554 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
directly. (https://codereview.chromium.org/141163019/)
Reason for revert:
Bad file mode for task_graph_runner.h:
/b/build/slave/Linux_ChromiumOS/build/src/cc/resources/task_graph_runner.h: Must not have executable bit set
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Full/builds/31393/steps/check_perms/logs/stdio
Original issue's description:
> cc: Remove WorkerPool class and instead use TaskGraphRunner directly.
>
> Removes the unnecessary WorkerPool layer. This makes the job
> of the TaskGraphRunner more clear and will allow us to remove
> some complexity and unnecessary heap allocations from the
> RasterWorkerPool code in follow up patches.
>
> Also moves the kNumRasterTasks switch to content/.
>
> Refactor only, no changes in behavior.
>
> BUG=331844
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=246284
TBR=vmpstr@chromium.org,alokp@chromium.org,sohan.jyoti@samsung.com,jamesr@chromium.org,piman@chromium.org,reveman@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=331844
Review URL: https://codereview.chromium.org/143003012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246298 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes the unnecessary WorkerPool layer. This makes the job
of the TaskGraphRunner more clear and will allow us to remove
some complexity and unnecessary heap allocations from the
RasterWorkerPool code in follow up patches.
Also moves the kNumRasterTasks switch to content/.
Refactor only, no changes in behavior.
BUG=331844
Review URL: https://codereview.chromium.org/141163019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246284 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid unneccessary copy of structures gfx::PointF
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
R=danakj, enne, piman
Review URL: https://codereview.chromium.org/139233002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245467 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two benchmark variants of smoothness with key_silk_cases.
smoothness.disable_gpu_rasterization.key_silk_cases:
run with GPU rasterization explicitly diabled (but use impl-side painting)
smoothness.enable_gpu_rasterization.key_silk_cases:
run with GPU rasterization enabled (implies impl-side painting).
R=nduca@chromium.org
BUG=
Review URL: https://codereview.chromium.org/135223002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245440 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid unneccessary copy of structures gfx::SizeF
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
R=danakj, enne
Review URL: https://codereview.chromium.org/139173004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245297 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves all lazy initialization code out of cc/base/switches.cc. Code
that needs the value of these switches in a critical path should not rely
on lazy initialization in cc/switches.cc but instead handle this on its own.
Thread-safe lazy initialization code of impl-side painting status has
been added to WebLayerImpl.
This also removes the cc::switches::IsGPURasterizationEnabled() function,
which for consistency should not exist unless the logic to determine the
value is more complicated than HasSwitch(kEnableGPURasterization). This
function was never used in performance sensitive code so lazy initialization
was never necessary.
BUG=330937
TBR=jamesr
Review URL: https://codereview.chromium.org/122063002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243432 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL removes a few code paths that do LatencyInfo merging:
1. compositor -> output surface through CompositorFrameMetadata
2. gpu -> browser compositor through
GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params and
GpuHostMsg_AcceleratedSurfacePostSubBuffer_Param
A follow up CL will remove GPU side LatencyInfo merging (mainly in image
transport surface) so that we remove LatencyInfo merging entirely from
the code path renderer cc -> gpu -> browser cc -> gpu.
BUG=246034
TEST=unittests pass.
Review URL: https://codereview.chromium.org/100443006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242825 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also makes cc/ PRESUBMIT clean for the new check.
The most invasive changes were:
1. Moving the cc/test/paths.h enum into a CCPaths class (named with
CC prefix to clarify this path is for CC since the enum is extending
an enum from base/.
2. Merge ResourcePool::Resource up into ScopedResource which was the
same thing basically.
R=enne
BUG=
Review URL: https://codereview.chromium.org/109263003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239904 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the groundwork for showing a border around the
animation bounds of a layer. The animation bounds are the
bounds of the layer transformed to screen space where layers
that have an animation instead transform by an "inflate"
step.
To follow, compute the animation bounds of layers when
needed.
+ Add debug rect code to show a lime green border around
layers that have animation bounds.
+ Add --show-layer-animation-bounds that will enable the
drawing of the green box.
BUG=
Review URL: https://codereview.chromium.org/92853002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239863 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SetNeedsCommit, SetNeedsUpdateLayer or SetNeedsAnimate during
event processing, then it is considered to cause rendering and
its LatencyInfo is pushed into LayerTreeHost through
LatencyInfoSwapPromise.
For impl thread event handling, if event causes
SetNeedsRedraw or SetNeedsRedrawRect during event processing,
then it is considered to cause rendering and its LatencyInfo is
pushed into LayerTreeHostImpl through LatencyInfoSwapPromise.
BUG=246034, 271583
TEST=Manually tested on Pixel. The LatencyInfo for events that
causes impl/main thread scrolling are correctly passed to LTH/LTHI.
Review URL: https://codereview.chromium.org/55273003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239375 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The usage of the GrContext in GLRenderer is getting in the way of
cleaning up the WebGraphicsContext3D usage in cc.
This path was good for trying out the Ganesh path, but was never really
used, available on all platforms, or compatible with ubercompositor.
Ganesh-to-tile is almost landed and so it seems like this can be safely
removed for the present.
BUG=none
TBR=sky
Review URL: https://codereview.chromium.org/98463008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239261 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=316685
Review URL: https://codereview.chromium.org/98443005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238846 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This switch was used to control the scale of low resolution tiles on
specific Android devices, but since we do not do that anymore, we can
remove this switch.
BUG=177027
Review URL: https://codereview.chromium.org/95623002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237927 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Guess win8_aura is just really flaky...
> Revert 237848 "Use LatencyInfoSwapPromise to track LatencyInfo t..."
>
> Speculative revert to see if this broke views_unittests, event_unittests, and
> aura_unittests to be crashed or hung. Example:
>
> E:\b\build\slave\Win8_Aura\build\src\out\Debug\events_unittests.exe --brave-new-test-launcher --test-launcher-bot-mode --gtest_print_time --gtest_output=xml:E:\b\build\slave\Win8_Aura\build\gtest-results\events_unittests\events_unittests.xml
> IMPORTANT DEBUGGING NOTE: batches of tests are run inside their
> own process. For debugging a test inside a debugger, use the
> --gtest_filter=<your_test_name> flag along with
> --single-process-tests.
> Enabling defaults optimized for continuous integration bots.
> Using sharding settings from environment. This is shard 0/1
> Using 8 parallel jobs.
> [1128/165136:ERROR:launch_win.cc(166)] : Access is denied.
> [1128/165136:ERROR:launch_win.cc(166)] : Access is denied.
> Failed to get out-of-band test success data, dumping full stdio below:
>
> [1/29] EventDispatcherTest.EventDispatchOrder (UNKNOWN)
> [2/29] EventDispatcherTest.EventDispatchPhase (UNKNOWN)
> [3/29] EventDispatcherTest.EventDispatcherDestroyedDuringDispatch (UNKNOWN)
> [4/29] EventDispatcherTest.EventDispatcherInvalidateTarget (UNKNOWN)
> [5/29] EventDispatcherTest.EventHandlerDestroyedDuringDispatch (UNKNOWN)
> [6/29] EventDispatcherTest.EventHandlerAndDispatcherDestroyedDuringDispatch (UNKNOWN)
> [7/29] LatencyInfoTest.AddTwoSeparateEvent (UNKNOWN)
> [8/29] LatencyInfoTest.AddTwoSameEvent (UNKNOWN)
> [9/29] LatencyInfoTest.MergeTwoSeparateEvent (UNKNOWN)
> [10/29] LatencyInfoTest.MergeTwoSameEvent (UNKNOWN)
> Too many badly broken tests (10), exiting now.
> [1128/165136:ERROR:launch_win.cc(166)] : Access is denied.
> Error: no element found: line 1, column 0
> No data was available to update the JSON results
> exit code (as seen by runtest.py): 1
> @@@STEP_FAILURE@@@
> @@@STEP_TEXT@events_unittests@@@
> @@@STEP_TEXT@crashed or hung@@@
>
> > Use LatencyInfoSwapPromise to track LatencyInfo through compositor
> >
> > Originally we cache LatencyInfo directly in compositor. Now that
> > with the support of SwapPromise, we can use LatencyInfoSwapPromise
> > to track the LatencyInfo.
> >
> > BUG=246034
> > TEST=Input LatencyInfo are still correctly passed to output surface
> > through LatencyInfoSwapPromise.
> >
> > Review URL: https://codereview.chromium.org/81533002
>
> TBR=miletus@chromium.org
>
> Review URL: https://codereview.chromium.org/96073002
TBR=dbeam@chromium.org
Review URL: https://codereview.chromium.org/96363002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237887 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Speculative revert to see if this broke views_unittests, event_unittests, and
aura_unittests to be crashed or hung. Example:
E:\b\build\slave\Win8_Aura\build\src\out\Debug\events_unittests.exe --brave-new-test-launcher --test-launcher-bot-mode --gtest_print_time --gtest_output=xml:E:\b\build\slave\Win8_Aura\build\gtest-results\events_unittests\events_unittests.xml
IMPORTANT DEBUGGING NOTE: batches of tests are run inside their
own process. For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with
--single-process-tests.
Enabling defaults optimized for continuous integration bots.
Using sharding settings from environment. This is shard 0/1
Using 8 parallel jobs.
[1128/165136:ERROR:launch_win.cc(166)] : Access is denied.
[1128/165136:ERROR:launch_win.cc(166)] : Access is denied.
Failed to get out-of-band test success data, dumping full stdio below:
[1/29] EventDispatcherTest.EventDispatchOrder (UNKNOWN)
[2/29] EventDispatcherTest.EventDispatchPhase (UNKNOWN)
[3/29] EventDispatcherTest.EventDispatcherDestroyedDuringDispatch (UNKNOWN)
[4/29] EventDispatcherTest.EventDispatcherInvalidateTarget (UNKNOWN)
[5/29] EventDispatcherTest.EventHandlerDestroyedDuringDispatch (UNKNOWN)
[6/29] EventDispatcherTest.EventHandlerAndDispatcherDestroyedDuringDispatch (UNKNOWN)
[7/29] LatencyInfoTest.AddTwoSeparateEvent (UNKNOWN)
[8/29] LatencyInfoTest.AddTwoSameEvent (UNKNOWN)
[9/29] LatencyInfoTest.MergeTwoSeparateEvent (UNKNOWN)
[10/29] LatencyInfoTest.MergeTwoSameEvent (UNKNOWN)
Too many badly broken tests (10), exiting now.
[1128/165136:ERROR:launch_win.cc(166)] : Access is denied.
Error: no element found: line 1, column 0
No data was available to update the JSON results
exit code (as seen by runtest.py): 1
@@@STEP_FAILURE@@@
@@@STEP_TEXT@events_unittests@@@
@@@STEP_TEXT@crashed or hung@@@
> Use LatencyInfoSwapPromise to track LatencyInfo through compositor
>
> Originally we cache LatencyInfo directly in compositor. Now that
> with the support of SwapPromise, we can use LatencyInfoSwapPromise
> to track the LatencyInfo.
>
> BUG=246034
> TEST=Input LatencyInfo are still correctly passed to output surface
> through LatencyInfoSwapPromise.
>
> Review URL: https://codereview.chromium.org/81533002
TBR=miletus@chromium.org
Review URL: https://codereview.chromium.org/96073002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237857 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally we cache LatencyInfo directly in compositor. Now that
with the support of SwapPromise, we can use LatencyInfoSwapPromise
to track the LatencyInfo.
BUG=246034
TEST=Input LatencyInfo are still correctly passed to output surface
through LatencyInfoSwapPromise.
Review URL: https://codereview.chromium.org/81533002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237848 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://codereview.chromium.org/85813003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237482 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a change to the compositor's state/invalidation/whatever happens, a
Swap Promise can be inserted into LayerTreeHost/LayerTreeImpl, to track
whether the compositor's reply to the new state/invaliadtion/whatever is
completed in the compositor, i.e. the compositor knows it has been sent
to its output or not.
If the new compositor state is sent to the output, SwapPromise::DidSwap()
will be called, and if the compositor fails to send its new state to the
output, e.g. commit fails on main thread, new frame data has no actual
damage so LayerTreeHostImpl::SwapBuffers() bails out early, then
Promise::DidNotSwap() will be called.
BUG=246034, 271583
TEST=unittests pass.
Review URL: https://codereview.chromium.org/60513007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237444 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, early outs there were prevented to give the PicturePile a
chance to update its visibility or handle invalidations. However, this
can be handled a lot sooner than walking over all tiles. If the layer
size hasn't changed, there are no invalidations, and the visiblity is
the same as the last frame, then early out.
With 220 bunnies (from bug link) on an N4:
PictureLayer::Update average goes from 0.065ms to 0.023ms
LayerTreeHost::UpdateLayers average goes from 1.233ms to 0.877ms
BUG=322207
Review URL: https://codereview.chromium.org/81953004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237136 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reason for revert: This CL caused a regression in sizes bots, see https://chromeperf.appspot.com/report?masters=Chromium&bots=chromium-rel-linux&tests=sizes%2Fchrome-si&checked=all&start_rev=236784&end_rev=237073
TBR=enne@chromium.org,tomhudson@chromium.org,wiltzius@chromium.org,danakj@chromium.org,jamesr@chromium.org,vivekg@chromium.org,siva.gunturi@samsung.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/85753003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237075 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
each function call
CC functions like CheckImplSidePaintingStatus will cycle through all the switches
every time the function is called. Initial patch is avoiding it only for IsImplSidePaintingEnabled. So we need a generic way for all the switches, for future use.
This patch provides a one time initialization of all the switches in its first encounter (InitializeSwitchesIfRequired)
and later on will just read the updated data of the corresponding switches, when required.
Declared a seperate structure for holding the switch enable/disable data and saving memory by using bit fields.
BUG=313193
TEST=None; no behavior changes;
Review URL: https://codereview.chromium.org/69123002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237068 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=None
Review URL: https://codereview.chromium.org/64123007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234834 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When present, pixel tests write their output instead of reading it.
This allows rebaselining tests without requiring a recompile of the
code.
R=enne
BUG=
Review URL: https://codereview.chromium.org/48733009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231965 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method performed 2 sqrt calls for every layer during
CalcDrawProperties. In most cases, only the main diagonal has nonzero
values and the sqrt() call can be optimized out.
I measured a 20% win in CalcDrawPropsImplTest.TenTen on Nexus 4.
NOTRY=true
BUG=311472
Review URL: https://codereview.chromium.org/47403002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231339 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Command line arguments are constant at runtime, but the function
cc::switches::IsImplSidePaintingEnabled() does two searches through
the list of arguments every time it's called, and it's called every
time we record a SkPicture.
With this patch, the function remembers the value determined by the
first call and avoids repeating the searches on subsequent calls.
BUG=311248
R=nduca@chromium.org,skyostil@chromium.org
Review URL: https://codereview.chromium.org/43463003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231314 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
I suspect this cast/function call is the cause of the performance
issue in the associated bug. Keeping this in double precision is
unnecessary.
BUG=303811
Review URL: https://codereview.chromium.org/26594010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228330 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the equivalent of std::partition to ScopedPtrVector.
This can be used to achieve a similar idiom to the following.
v.erase(std::remove_if(v.begin(), v.end(), Predicate), v.end())
remove_if isn't appropriate for ScopedPtrVector, since it doesn't
guarantee that all of the elements will still be in the container,
but partition can do roughly the same thing (with the exception
that the predicate has to be the negative version of remove_if one).
If v is a ScopedPtrVector, usage would be
v.erase(v.partition(WhatToKeepPredicate), v.end());
R=enne@chromium.org
Review URL: https://codereview.chromium.org/26497005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227796 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Plumb the flag to blink and the compositor.
Disable by default in Android webview for now.
Depends on blink CL: https://src.chromium.org/viewvc/blink?view=rev&revision=158956
BUG=303945
Review URL: https://codereview.chromium.org/25904004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227511 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes the region simplification happen after each union,
to make sure that if there are a lot of invalidations, the performance
doesn't degrade too much.
BUG=303757
R=enne@chromium.org
Review URL: https://codereview.chromium.org/25828004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226853 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tiles are actually being correctly cleaned up at the end of
the test, but it seems that it accumulates quite a few of them
and times out at the end. This patch ensures that all of the tiles
are cleaned up after each invalidate run.
R=reveman@chromium.org
BUG=298999
Review URL: https://codereview.chromium.org/24487007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225666 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is somewhat proof-of-concept to make ManageTiles be the only
spot where tiles can be deleted. This allows all function calls between
two ManageTiles calls to assume that the state has not changed.
BUG=
Review URL: https://codereview.chromium.org/24331009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225389 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change also cleans up the use of gfx::Transform::get/setDouble
(in favor of get/set) at callsites to prepare for changing SkMScalar
from double to float.
BUG=269817
Originally Committed/Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=224725
Review URL: https://chromiumcodereview.appspot.com/23811009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225130 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reverting as caused perf regression because of new static
initializers.
> Fix compilation and ui_unittests with float transforms
>
> This change also cleans up the use of gfx::Transform::get/setDouble
> (in favor of get/set) at callsites to prepare for changing SkMScalar
> from double to float.
>
> BUG=269817
>
> Review URL: https://chromiumcodereview.appspot.com/23811009
TBR=enne@chromium.org
Review URL: https://codereview.chromium.org/23537065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224732 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change also cleans up the use of gfx::Transform::get/setDouble
(in favor of get/set) at callsites to prepare for changing SkMScalar
from double to float.
BUG=269817
Review URL: https://chromiumcodereview.appspot.com/23811009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224725 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
had a bug in async_pixel_transfer_manager_egl.cc that wasn't directly related to the 4444 support. This patch includes the rest of the files in r223830. Changes to async_pixel_transfer_manager_egl.cc have been moved to the separate patch after fixing the bug: https://codereview.chromium.org/23533067/
BUG=272539
Review URL: https://chromiumcodereview.appspot.com/23447048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224040 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8e6d15826280b9f11a28060b5b2d2bbef17d15bc (r223830; http://crrev.com/21159007).
Although the 4444 textures work on S4, they break on N7v2 and N10.
(We've got inconsistent reports about N4.)
Passing --disable-4444-textures isn't sufficient to fix the problems.
ilevy@ points out that the commit bot is using GN, so could easily have missed this breakage. We're hoping to switch to N4, but in this case there's no guarantee that that would have caught it either.
Perhaps the main patch can be landed in pieces next time?
From N7:
E/chromium(32513): [ERROR:gles2_cmd_decoder.cc(5770)] [.RenderCompositor-0x783c9880]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
From N10:
I/chromium( 2104): [INFO:CONSOLE(0)] "[.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'", source: file:///sdcard/clanktemp/index.html (0)
R=skyostil@chromium.org
TBR=kaanb@chromium.org
BUG=245774,272539
Review URL: https://codereview.chromium.org/24219002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223871 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=245774,272539
Review URL: https://chromiumcodereview.appspot.com/21159007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223830 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=287900
Review URL: https://chromiumcodereview.appspot.com/23578029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222903 0039d316-1c4b-4281-b951-d872f2087c98
|