summaryrefslogtreecommitdiffstats
path: root/cc/cc_tests.gyp
Commit message (Collapse)AuthorAgeFilesLines
* cc: Apply occlusion before creating quads in IOSurfaceLayerImpl.danakj@chromium.org2014-03-171-0/+1
| | | | | | | | | | | | | This makes the AppendQuads method query occlusion directly and subtract it from the quads it would create before they are created, skipping quads that are completely occluded and avoiding a malloc/free for them. R=enne BUG=344962 Review URL: https://codereview.chromium.org/200423005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257520 0039d316-1c4b-4281-b951-d872f2087c98
* Add a GPU rasterization hint to cc::PictureLayerajuma@chromium.org2014-03-111-0/+2
| | | | | | | | | | | | | | This adds a GPU rasterization hint to PictureLayer and PictureLayerImpl. When using hybrid rasterization (that is, when running with --enable-gpu-rasterization), only layers with a GPU rasterization hint are rasterized on the GPU. BUG=329722 Review URL: https://codereview.chromium.org/192973002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256304 0039d316-1c4b-4281-b951-d872f2087c98
* Add use_allocator instead of linux_use_tcmalloc to switch the allocator.dmikurube@chromium.org2014-03-051-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is to add a new build option 'use_allocator' which will replace 'linux_use_tcmalloc' in the future. It doesn't change the behavior immediately. The migration plan is as follows: 1) (this change) ... Add 'use_allocator' and set its default to "see_use_tcmalloc". ... Change allocator conditions to check use_allocator firstly. ... Use linux_use_tcmalloc if use_allocator=="see_use_tcmalloc". ... NO IMPACT without specifying use_allocator explicitly. 2) Change Blink to accept use_allocator. http://crrev.com/177053003/ 3) Change gyp to accept use_allocator. http://crrev.com/178643004/ 4) PSA the transition period to chromium-dev@. 5) (after the PSA-ed transition period) ... Make 'use_allocator' to "tcmalloc" or "none" (it depends) by default. ... Remove all linux_use_tcmalloc. ... Assert in gyp_chromium to check if linux_use_tcmalloc is not specified. At the point of this change (1), linux_use_tcmalloc is still used by default because 'use_allocator%': "see_use_tcmalloc". As written in http://crbug.com/345554, linux_use_tcmalloc would be confusing to have more options about allocators. We plan to: A) enable gperftools' heap-profiler with non-tcmalloc allocator, B) add a new memory allocator instead of tcmalloc. BUG=345554, 339604, 341349 R=agl@chromium.org, brettw@chromium.org, dgarrett@chromium.org, jam@chromium.org, jamesr@chromium.org, joi@chromium.org, miket@chromium.org, nick@chromium.org, rsleevi@chromium.org, scherkus@chromium.org, sergeyu@chromium.org, shess@chromium.org, sievers@chromium.org, sky@chromium.org, vitalybuka@chromium.org, willchan@chromium.org Review URL: https://codereview.chromium.org/177353002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255129 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Clean up OcclusionTracker template parameters.danakj@chromium.org2014-03-051-1/+1
| | | | | | | | | | | | | | | | | Currently it takes LayerType and RenderSurfaceType, but the latter is derivable from the former, so just pass the former. Since there's only one parameter, it's clearer to use OcclusionTracker<Layer(Impl)> directly instead of using typedefs. Also rename the TestOcclusionTracker file from occlusion_tracker_test_common.h to test_occlusion_tracker.h. R=enne BUG=344962 Review URL: https://codereview.chromium.org/183563003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254965 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Simplify picture layer tiling update tile priorities.vmpstr@chromium.org2014-02-131-1/+0
| | | | | | | | | | | | | | | | | This patch simplifies the priority math calculation and moves it into layers space. This makes the priority to be less correct, since we're inverse transforming the viewport into layer space instead of forward transforming tiles into screen space in all cases. In particular, with perspective and rotated layers, we will be marking more tiles as visible than before. This should be OK, since the amount of those layers in practice is limited. BUG=339142 Review URL: https://codereview.chromium.org/140513006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251064 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid int->float->int conversion in OcclusionTracker for int translates.danakj@chromium.org2014-02-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Pixel tests and some shared quad state fixupsjamesr@chromium.org2014-02-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds some pixel tests for the output of SurfaceAggregator and fixes several issues related to shared quad state management. This also concatenates the transform for the surface draw quad with the quads aggregated into the root draw pass of the referenced surface. Shared quad state mapping is a little bit nontrivial when doing aggregation since we copy the shared quad state entries from the aggregated frame's root pass into the shared quad state list of the pass containing the surface quad. When doing multiple levels of aggregation the relationship between the shared quad list offset from the aggregated pass to the destination pass gets tricky. Here's how this patch handles things: Root surface root pass: shared_quad_state_list: [A], [B] quad_list: [Quad using (A)], [Quad using (A)], [Surface 1], [Quad using (B)] Surface 1 root pass: shared_quad_state_list: [C], [D] quad_list: [Quad using (C)], [Surface 2], [Surface 3], [Quad using (D)] Surface 2 root pass: shared_quad_state_list: [E] quad_list: [Quad using (E)] Surface 3 root pass: shared_quad_state_list: [F] quad_list: [Quad using (F)] We append the shared quad stats to the aggregated pass' list as we encounter the quads that reference them, so the final aggregated frame looks like this: Aggregated frame root pass: shared_quad_state_list: [A], [C], [E], [F], [D], [B] quad_list: [Quad using (A)], [Quad using (A)], [Quad using (C)], [Quad using (E)], [Quad using (F)], [Quad using (D)], [Quad using (B)] Note that there's no shared quad state for the surface quads in the final shared quad state list. We use the transform and other properties from the surface quad's shared quad state when aggregating, but don't need them beyond aggregation. BUG=334876 Review URL: https://codereview.chromium.org/142863015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250484 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unnecessary cc::FakeWebGraphicsContext3D interfacejamesr@chromium.org2014-02-071-2/+0
| | | | | | | | | | | | | TestGLES2Interface forwards to TestWebGraphicsContext3D, so this base class is never actually used in tests. This copies the stubs we use to TWGC3D and deletes the rest of the class. The next step is to start folding TWGC3D in to TestGLES2Interface. 5 files changed, 280 insertions(+), 972 deletions(-) Review URL: https://codereview.chromium.org/137463013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249760 0039d316-1c4b-4281-b951-d872f2087c98
* Clamp inner viewport offset while distributing to layer_tree_hostbokan@chromium.org2014-02-051-0/+1
| | | | | | | | | | | | | | | | This ensures the inner viewport's scroll offset is appropriately clamped to its bounds when the main thread distributes any scrolls to the layer tree. This was causing a bug where pinch zooming out at the extents of the page would leave the inner viewport outside the outer viewport. Also, with https://codereview.chromium.org/151633002/ the DCHECK can be put back in. BUG= Review URL: https://codereview.chromium.org/143623003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249167 0039d316-1c4b-4281-b951-d872f2087c98
* Add two new gfx::Tween::Types and use one of them for the timing function ↵pkotwicz@chromium.org2014-02-051-1/+0
| | | | | | | | | | | for the overview mode animation BUG=334428 TEST=None Review URL: https://codereview.chromium.org/143413020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248967 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] cleanup: re-arrange some file locations in cc/schedulersimonhong@chromium.org2014-02-041-2/+2
| | | | | | | | | | | | | * 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
* Initial surface aggregator implementationjamesr@chromium.org2014-01-291-0/+3
| | | | | | | | BUG=334876 Review URL: https://codereview.chromium.org/139763003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247598 0039d316-1c4b-4281-b951-d872f2087c98
* Compile cc/surfaces unit tests in cc_unittestsjamesr@chromium.org2014-01-251-49/+5
| | | | | | | | | | | | | Setting up a separate unit test target is nice in order to manage dependencies but infeasible to get up and running on our bots. The buildbot configs currently mention 'cc_unittests' 226 times, adding a new target for a small number of tests isn't practical. BUG=334090 Review URL: https://codereview.chromium.org/147003003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247032 0039d316-1c4b-4281-b951-d872f2087c98
* Compute accurate screen space bounds for animated layers.avallee@chromium.org2014-01-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This walks up the layer tree transforming a layer's bounds as a box through the different layer transforms and uses the LayerAnimationController::AnimationBoundsForBox to transform the box at layers which are animated. Expansion of the box is included for filters which change the bounds, however, the LayerAnimationController implementation is currently stubbed. + Added computation of animation bounds of layers in the screen space. - Removed invalid assertion in LayerAnimationControllerTest.AnimatedBounds. ~ Renamed methods to use the uniform naming AnimationBounds. ~ Extracted LTHC::ApplySublayerTransformAboutAnchor from LTHC::CalculateDrawPropertiesInternal. ~ Fixed LayerImpl::AsValueInto to correctly calculate bounds. ! Did not substitute implementation of ApplySublayerTransformAboutAnchor inside CalculateDrawPropertiesInternal due to performance regression. BUG=280375 Review URL: https://codereview.chromium.org/109193002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246767 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: cc: Remove WorkerPool class and instead use TaskGraphRunner directly.reveman@chromium.org2014-01-231-2/+2
| | | | | | | | | | | | | | | | | 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
* Revert of cc: Remove WorkerPool class and instead use TaskGraphRunner ↵mnissler@chromium.org2014-01-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* cc: Remove WorkerPool class and instead use TaskGraphRunner directly.reveman@chromium.org2014-01-221-2/+2
| | | | | | | | | | | | | | | | | 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
* Skeleton surface interfaces in cc/surfacesjamesr@chromium.org2014-01-161-0/+49
| | | | | | | | | | | | This adds a very basic surface class with tests under cc/surfaces to establish gyp and DEPS rules. While this system is under early development it shouldn't be used by anything outside of unit tests. BUG=334090 Review URL: https://codereview.chromium.org/131893003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245137 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WebString refs from cc/, they are all dead codejamesr@chromium.org2014-01-141-1/+0
| | | | | | | | | | | These are all dead code - production code never calls any functions that would deal with a WebString. BUG=181120 Review URL: https://codereview.chromium.org/134383004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244777 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new target to build gfx test support files.tfarina@chromium.org2013-12-201-1/+1
| | | | | | | | | | BUG=299841 TEST=cc_unittests, ui_unittests R=ben@chromium.org, danakj@chromium.org Review URL: https://codereview.chromium.org/119473004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242213 0039d316-1c4b-4281-b951-d872f2087c98
* Use the GL in process bindings directly in cc_unittestsjamesr@chromium.org2013-12-201-1/+5
| | | | | | | | | | | This binds cc_unittests to the GL in process command buffer bindings directly instead of relying on the setup in webkit/common/gpu. BUG=181120 Review URL: https://codereview.chromium.org/105303003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242005 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "cc: Added tile bundles"vmpstr@chromium.org2013-12-201-1/+0
| | | | | | | | | | | | | | | This reverts commit 24835e9056711da23091ce0116e7ca41d1bdf279. Revert "cc: Reset tiling size upon destruction." This reverts commit 86b1819ea0f9e1ff666b89835957ab1ad68ef706. BUG=329682 R=enne Review URL: https://codereview.chromium.org/98113005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241994 0039d316-1c4b-4281-b951-d872f2087c98
* Move geometric types to a separate, more lightweight target.ben@chromium.org2013-12-181-0/+3
| | | | | | | | | R=sky@chromium.org http://crbug.com/327489 Review URL: https://codereview.chromium.org/109433013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241649 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Layer::PushPropertiesTo perf testvmpstr@chromium.org2013-12-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds a push properties to perf test. Sample run on z620: $ ./out/Release/cc_perftests --gtest_filter="LayerPerf*" Note: Google Test filter = LayerPerf* [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from LayerPerfTest [ RUN ] LayerPerfTest.PushPropertiesTo *RESULT push_properties_to: props_changed= 4428753.5 runs/s *RESULT push_properties_to: props_didnt_change= 6691176.5 runs/s [ OK ] LayerPerfTest.PushPropertiesTo (6001 ms) [----------] 1 test from LayerPerfTest (6001 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (6001 ms total) [ PASSED ] 1 test. R=enne, danakj Review URL: https://codereview.chromium.org/110453003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240617 0039d316-1c4b-4281-b951-d872f2087c98
* Use GLES2Interface for shaders and programsjamesr@chromium.org2013-12-081-0/+4
| | | | | | | | | | | | | | | | This uses the gpu::gles2::GLES2Interface type in the gl renderer's shader and program code instead of WebGraphicsContext3D. For production code, the GLES2Interface is a direct interface to the real command buffer in use. For cc_unittests, the GLES2Interface is a stub that wraps TestWebGraphicsContext3D so we can continue to use the same stubs/mocks for now. Once we port all of the production code over to using GLES2Interface we should port the test context classes over to the new base interface. BUG=181120 Review URL: https://codereview.chromium.org/93433004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239405 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Added tile bundlesvmpstr@chromium.org2013-12-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds TileBundles to cc. Currently, in impl side painting we work with Tiles. A PictureLayerTiling creates enough tiles to cover its rect (and registers them with the tile manager), then it updates the priorities of each of the tile, and finally informs TileManager to do its work. TileManager sorts and assigns memory to tiles, and begins rasterization. With TileBundles, the tiling creates TileBundles (initially 2x2 tiles) to contain tiles. Update tile priorities now only happens on a per bundle basis. In the initial patch, TileManager still pulls out each individual tile for processing. **** Note to Perf Sheriffs **** This patch affects performance of several of cc_perftests: - PictureLayerTilingPerfTest.Invalidate This test is expected to regress slightly, but not too much. - PictureLayerTilingPerfTest.UpdateTilePriorities This test's performance should improve greatly. - TileManagerPerfTest.ManageTiles This test _should_ remain roughly the same, but there might be some up or down as the result of the patch. Review URL: https://codereview.chromium.org/62283012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239074 0039d316-1c4b-4281-b951-d872f2087c98
* Expose GLES2Interface to ccjamesr@chromium.org2013-12-041-0/+1
| | | | | | | | | | This exposes a gpu::gles2::GLES2Interface pointer to cc through the ContextProvider. This is a way for the compositor to talk to the client side of the command buffer more directly, bypassing the blink::WebGraphicsContext3D indirection. See the bug for the plan for using this new interface and deprecating WGC3D. BUG=181120 Review URL: https://codereview.chromium.org/54463007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238809 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Allow copy requests to provide a texture.danakj@chromium.org2013-12-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When many readbacks will be occuring in a row, we don't want to have texture create/delete calls constantly churning through GPU memory. In particular, this has been a severe performance bottleneck on some intel drivers. Instead provide a way for the copy request client to provide a texture to the compositor that it will use, and then the texture can be reused for as long as the client wishes. In the case of tab capture, the client (in RenderWidgetHostViewAura) wants to use the GLHelper to act on the given texture. Since the GLHelper lives on the main thread, and the compositor draws on the compositor thread, we provide the texture from the client through the main thread CopyOutputRequest API rather than hooking directly into the compositor thread. I moved the async readback unit tests out to their own file as there are now quite a few. Tests: LayerTreeHostCopyRequestTestCreatesTexture LayerTreeHostCopyRequestTestProvideTexture R=piman@chromium.org BUG=312497 Review URL: https://codereview.chromium.org/99253004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238324 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 237857 "Revert 237848 "Use LatencyInfoSwapPromise to trac..."dbeam@chromium.org2013-11-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert 237848 "Use LatencyInfoSwapPromise to track LatencyInfo t..."dbeam@chromium.org2013-11-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use LatencyInfoSwapPromise to track LatencyInfo through compositormiletus@chromium.org2013-11-291-0/+1
| | | | | | | | | | | | | | 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
* The blink part of this implementation is uploaded at ↵rosca@adobe.com2013-11-261-0/+1
| | | | | | | | | | | | https://codereview.chromium.org/23511004/ The spec for mix-blend-mode is http://dev.w3.org/fxtf/compositing-1/#mix-blend-mode BUG=243223 Review URL: https://codereview.chromium.org/23455060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237295 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Define ScrollOffsetAnimationCurveajuma@chromium.org2013-11-251-0/+1
| | | | | | | | | | | This defines ScrollOffsetAnimationCurve, which will be used by the implementation of the CSSOM View smooth scroll API. BUG=243871 Review URL: https://codereview.chromium.org/60113007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237121 0039d316-1c4b-4281-b951-d872f2087c98
* Make TestWebGraphicsContext3D capable of tracking texture parameters via ↵mvujovic@adobe.com2013-11-211-0/+1
| | | | | | | | | | texParameteri and getTexParameteriv This makes bugs like http://crbug.com/274753 unit-testable. Review URL: https://codereview.chromium.org/57993005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236400 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate test contexts and remove unused onesjamesr@chromium.org2013-11-051-1/+0
| | | | | | | | | | | | | This folds several simple TestWebGraphicsContext3D subclasses into the base class and removes several unused TestWebGraphicsContext3D subclasses. The goal is to remove dead code and make it easier to convert over to a GLES2Interface-based test base. R=danakj Review URL: https://codereview.chromium.org/46163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232876 0039d316-1c4b-4281-b951-d872f2087c98
* Move test-only stuff from cc/debug/ to cc/testjamesr@chromium.org2013-10-311-34/+34
| | | | | | | | | | | | This moves the test/fake context implementations from cc/debug/ to cc/test and stops linking them into production targets. Test targets elsewhere in the tree can link against cc_test_support to use these. R=danakj,piman Review URL: https://codereview.chromium.org/50303007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232025 0039d316-1c4b-4281-b951-d872f2087c98
* Fix DelegatedFrameResourceCollection thread safetypiman@chromium.org2013-10-301-0/+1
| | | | | | | | | | | | Don't keep a ref to DelegatedFrameResourceCollection inside the return resources callback, because it is called from a thread. BUG=None R=danakj@chromium.org Review URL: https://codereview.chromium.org/47703005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231915 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: always run perf tests seriallyphajdan.jr@chromium.org2013-10-301-1/+1
| | | | | | | | | BUG=236893 R=hubbe@chromium.org, jamesr@chromium.org Review URL: https://codereview.chromium.org/47023009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231680 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Include wheel/touch event handling in the JSON output for the layer tree.sadrul@chromium.org2013-10-291-0/+1
| | | | | | | | | | | | | This also adds a test with a small touch-handling region (TouchRegionLight), and another test with a large number of touch-handling regions (TouchRegionHeavy) for CalcDrawProps perf-test. BUG=none R=enne@chromium.org Review URL: https://codereview.chromium.org/49913004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231634 0039d316-1c4b-4281-b951-d872f2087c98
* ui: Have shell_dialogs into its own gyp file under its shell_dialogs/ directory.tfarina@chromium.org2013-10-291-1/+1
| | | | | | | | | | | | | | | This is the pattern we follow for projects under ui/, each top-level directory (app_list, aura, compositor, events) have its own gyp file for its main target (library). BUG=299841 TEST=build/gyp_chromium, ninja -C out/Debug shell_dialogs, and other targets still build. R=ben@chromium.org Review URL: https://codereview.chromium.org/47323002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231478 0039d316-1c4b-4281-b951-d872f2087c98
* Add Color animation curves.avallee@chromium.org2013-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Implement animation curves for colors. This is the first step towards accelerating background-color animations. + Add ColorValueBetween to gfx::Tween. + Add test/color_utils which gives EXPECT_COLOR_EQ to check SkColors and print in a sane format. ~ Fixed discrepancy between two methods of interpolating ints. ~ Factored out GetProgress into template function to simplify code in the implementations of GetValue(double), there was a lot of duplication there. TESTED: Added tests for the new KeyframedColorAnimations and AnimatedColor classes. Added tests to tweening. R=ajuma BUG=290234 Review URL: https://codereview.chromium.org/25901002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230856 0039d316-1c4b-4281-b951-d872f2087c98
* cc: PictureLayerImpl with empty bounds should not have tilesboliu@chromium.org2013-10-231-0/+1
| | | | | | | | | | | | | | | | If a PictureLayer bounds is set to from non-empty to empty, PictureLayer::Update is skipped so the picture pile is not updated. In this case, the PictureLayerImpl should not have tilings. Internal bug b/11288267 BUG=276988 TEST=PictureLayerImplTest.EmptyBoundNonEmptyPile Review URL: https://codereview.chromium.org/32513003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230368 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add CalcDrawProps perf testenne@chromium.org2013-10-231-0/+1
| | | | | | | | | R=danakj@chromium.org BUG=308245 Review URL: https://codereview.chromium.org/32543004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230362 0039d316-1c4b-4281-b951-d872f2087c98
* Add a dense impl painted layer tree perf test.clholgat@chromium.org2013-10-181-0/+1
| | | | | | | | | | Layer tree was taken from a tablet with ~15 tabs. And is meant to simulate a browser compositor with an updating tab contents. Review URL: https://codereview.chromium.org/26694004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229299 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add MicroBenchmarkController plumbing.vmpstr@chromium.org2013-10-121-0/+3
| | | | | | | | | | | | | | | | | This patch adds the necessary plumbing for micro benchmark controller. The plan is as follows: - MicroBenchmarkController will live on LayerTreeHost - The schedule functionality will be exposed to gpu benchmarking extension - Javascript bindings will allow external code to schedule certain benchmarks (specified by name) to be run right after Layer::Update. R=enne@chromium.org,nduca@chromium.org Review URL: https://codereview.chromium.org/26593002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228299 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix HeadsUpDisplayLayerImpl NPE after resource lossboliu@chromium.org2013-10-111-0/+1
| | | | | | | | | | | | | | | | | | Currently will NPE in HeadsUpDisplayLayerImpl::UpdateHudTexture immediately after a DidLoseOutputSurface call that throws away the resource. Resource loss can happen quite frequently under normal usage in Android WebView. Also fixed a condition WillDraw as writing the test for issue above. Fix for internal bug b/11164012. TEST=HeadsUpDisplayLayerImplTest.UpdateAfterResourceLoss BUG= Review URL: https://codereview.chromium.org/26277008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228222 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Use ApplyImageFilter for all filters in GLRendererajuma@chromium.org2013-10-091-1/+0
| | | | | | | | | | | This makes GLRenderer always use ApplyImageFilter for filters, and removes the now-unused ApplyFilters. BUG=181613 Review URL: https://codereview.chromium.org/26133002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227815 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Allow delegated frames to be used by more than one impl layer.danakj@chromium.org2013-10-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delegated frames can be used by multiple impl layers within a single compositor if they are given to different DelegatedRendererLayers which each send the frame to their impl layer. Also, they can be given to different DelegatedRendererLayers that live in different compositors. So we need something that outlives any DelegatedRendererLayer and will receive returned resources from the impl side of multiple compositors and know when to release resoures back to the child compositor, and how many resources to release. This patch introduces two new classes: DelegatedFrameProvider. This class holds a delegated frame and notifies a single DelegatedRendererLayer (the latest one to attach to it) about new frames so that it can grab them and display them. If a new DelegatedRendererLayer steals a DelegatedFrameProvider it will receive notifications in the future and the first layer will stop updating. DelegatedFrameResourceCollection. This class holds resources and ref counts on them to keep track of how many refs are being used by compositor instances, and how many refs have been received from the child compositor. Once a resource is not in use anymore by any compositors, all references passed from the child compositor will be made available via TakeUnusedResourcesForChildCompositor(). Tests: LayerTreeHostDelegatedTestTwoImplLayers LayerTreeHostDelegatedTestRemoveAndAddToTree LayerTreeHostDelegatedTestRemoveAndChangeResources R=piman,alexst@chromium.org BUG=263069 Review URL: https://codereview.chromium.org/26023004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227807 0039d316-1c4b-4281-b951-d872f2087c98
* Generic UIResourceLayer for shared resources.clholgat@chromium.org2013-10-041-0/+4
| | | | | | | | | | | | Separated the UIResource management from the NinePatchLayer because we need it for other things as well. BUG=235290 Review URL: https://codereview.chromium.org/24716003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226908 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove dependency on ui now that gfx and events are separate components.sadrul@chromium.org2013-10-011-4/+3
| | | | | | | | | BUG=302505 R=danakj@chromium.org Review URL: https://codereview.chromium.org/25535003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226260 0039d316-1c4b-4281-b951-d872f2087c98