summaryrefslogtreecommitdiffstats
path: root/cc
Commit message (Collapse)AuthorAgeFilesLines
* cc: Add BeginFrameArgs brianderson@chromium.org2013-06-1928-108/+252
| | | | | | | | | | | | In addition to the frame_time, include a deadline and interval with BeginFrame. Values used are placeholders for now, but will be used in the near future. BUG=240945 Review URL: https://chromiumcodereview.appspot.com/17391006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207166 0039d316-1c4b-4281-b951-d872f2087c98
* Create resource for alpha plane if it existsvigneshv@chromium.org2013-06-191-2/+4
| | | | | | | | | | | Changing video_resource_updater to create a resource for the alpha plane (if it exists). BUG=147355 Review URL: https://chromiumcodereview.appspot.com/17379014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207163 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Deprioritize low res when not in smoothness modeenne@chromium.org2013-06-191-9/+20
| | | | | | | | | R=reveman@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/16973010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207148 0039d316-1c4b-4281-b951-d872f2087c98
* cc: simplify mailbox management in ResourceProviderpiman@chromium.org2013-06-192-47/+44
| | | | | | | | | | With shared mailboxes, we don't need to consume before deleting, and we only need to produce once. BUG=None Review URL: https://chromiumcodereview.appspot.com/16879011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207147 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r206537 - cc: Don't return mailboxes if the TextureLayer is removed ↵piman@chromium.org2013-06-184-44/+167
| | | | | | | | | | | | | | | | | | | | | | | | from the tree. When the TextureLayer is removed from the tree, the TextureLayerImpl is destroyed, so it will return the mailbox to the main thread. Prior to this patch we would return the mailbox to the client. When re-attaching the TextureLayer, we would then not push the mailbox to the new TextureLayerImpl, and stop drawing the layer. Instead, keep the mailbox on the TextureLayer. If the TextureLayer is re-attached to the tree, we push the mailbox again (which is ok to do now). Only after the impl side has returned the mailbox *and* the mailbox is replaced on the TextureLayer (or it is destroyed), will we call the callback. To do that we add a refcounted MailboxHolder whose job is to call the callback when it's destroyed. It's referenced by the TextureLayer itself, while being the current mailbox, and the closures we give to the impl thread. BUG=249535 Review URL: https://chromiumcodereview.appspot.com/16888015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207081 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix to image decode in tile manager.vmpstr@chromium.org2013-06-185-8/+52
| | | | | | | | | | | | If an image decode task is canceled, we need to recreate it. Otherwise it will become a dependency that is never run, which prevents a raster task from running as well. BUG=250616 Review URL: https://chromiumcodereview.appspot.com/17298003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207063 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Prevent raster tasks from completing twice.reveman@chromium.org2013-06-184-13/+38
| | | | | | | | | | | | This adds a |was_canceled_| member to internal::RaterWorkerPool so we can mark canceled raster tasks as "has finished running" and avoid adding them to |completed_tasks_| twice. BUG=245366 Review URL: https://chromiumcodereview.appspot.com/17393002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207061 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add ability to request copy of compositor output as a texture.danakj@chromium.org2013-06-1821-192/+858
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the ability to request the compositor's output as a texture instead of requiring a readback to a SkBitmap on the cpu. This will allow the embedder to make a request for a texture and then scale or sample it without reading back the entire full-sized texture to the cpu. To readback successive frames will require constant commits at this time, but the mechanism could be extended to allow one main thread request to result in multiple copy result callbacks. This is tested by the LayerTreeHostPixelTestReadback tests. I've added a viewport offset, and surface expansion size, to all of the LayerTreeTest based pixel tests. This exposed a bug in the math for background filters when a viewport offset/surface expansion size is present, so this is fixed as well to make the tests pass (one line in GLRenderer::ApplyBackgroundFilters). Instead of having the CopyOutputRequest return a SkBitmap directly, or return a TextureMailbox directly (sometimes backed by a software bitmap), I've added a CopyOutputResult class to return with a reply from the compositor. This reply may be a texture (via a TextureMailbox) or a bitmap (via an SkBitmap). The embedder should be able to handle either one when it makes a request, unless its request forces a software-bitmap reply. The tests verify GLRenderer+general request, GLRenderer+forced software request, and SoftwareRenderer+general request. Adding the offset/expansion to the viewport/surface causes the offaxis background blur pixel test to become off-by-one in 5 pixels, requiring a rebaseline. R=enne, jamesr, piman BUG=242571 Review URL: https://chromiumcodereview.appspot.com/17018002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207037 0039d316-1c4b-4281-b951-d872f2087c98
* cc: For LCD text, consider unready tiles as having textenne@chromium.org2013-06-184-6/+6
| | | | | | | | | R=reveman@chromium.org BUG=249061 Review URL: https://chromiumcodereview.appspot.com/16821006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207033 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove FakeThread, use SingleThreadTaskRunner in scheduling classes.danakj@chromium.org2013-06-1821-285/+288
| | | | | | | | | | | | | | | | | This changes from using cc::Thread to base::SingleThreadTaskRunner in FrameRateController, DelayBasedTimeSource, and ResourceUpdateController. Then all unit tests for these classes are switched from using cc::FakeThread to base::TestSimpleTaskRunner. This is a step toward deleting cc::Thread and moving to using MessageLoopProxy directly in cc. R=piman BUG=251134 Review URL: https://chromiumcodereview.appspot.com/17362002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207027 0039d316-1c4b-4281-b951-d872f2087c98
* Link cc, cc_unittests, and compositor against blink_minimaljamesr@chromium.org2013-06-182-2/+2
| | | | | | | | | | | | The compositor targets only need WebString, WebCString and WebFilterOperation(s) They can just link against the blink_minimal target. This cuts the number of edges needed to build cc_unittests / compositor_unittests by almost 2000. BUG=237267 Review URL: https://chromiumcodereview.appspot.com/17139002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206999 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Emulate BeginFrame in OutputSurfaces that don't support it nativelybrianderson@chromium.org2013-06-1837-833/+756
| | | | | | | | | | | | | | | | | | | | | | | | | | Relanding again. This time, the proactive SetNeedsBeginFrame is broken out explicitly with logic to workaround crbug 249806 and to avoid expensive redraws with the synchronous renderer. This includes two small fixes for the original version of this patch that broke software compositing and WebView. This will allow us to avoid having two different code paths in the Scheduler. It also allows us to more easily remove the VSyncTimeSource and FrameRateController from the Scheduler. This patch instantiates the FrameRateController inside of OutputSurface for now, but the FrameRateController could be removed in future patches. BUG=245920 BUG=243497 BUG=249806 TBR=nduca@chromium.org,sievers@chromium.org,kbr@chromium.org Review URL: https://chromiumcodereview.appspot.com/17353002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206955 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Use run count instead of linear scan through dependencies to detect ↵reveman@chromium.org2013-06-182-61/+82
| | | | | | | | | | | | | | ready to run tasks. This improves SetTaskGraph() and general task execution performance. It's also a critical step towards implementing more efficient graph construction in derived RasterWorkerPool class. BUG=247677 Review URL: https://chromiumcodereview.appspot.com/17269002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206927 0039d316-1c4b-4281-b951-d872f2087c98
* Skip raster if MapImage failsboliu@chromium.org2013-06-175-57/+114
| | | | | | | | | | | | | | | | | MapImage should never fail with proper memory management. Android WebView currently lacks memory management and this patch avoids a crash in production (with DCHECK turned off) when MapImage fails. Also add a test for this case for both pixel buffer and image worker pools. BUG=247983 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/16093038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206831 0039d316-1c4b-4281-b951-d872f2087c98
* Revert impl-side painting setting for GoogleTVjinsukkim@chromium.org2013-06-171-6/+1
| | | | | | | | | | Disabling impl-side painting in general on GoogleTV (https://codereview.chromium.org/14190008) is causing a problem loading pages. This CL reverts the change. Review URL: https://chromiumcodereview.appspot.com/16879005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206803 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix throttling of raster tasks.reveman@chromium.org2013-06-172-20/+29
| | | | | | | | | | | Make raster task throttling code handle the case when we're upload bound properly. BUG=250779 Review URL: https://chromiumcodereview.appspot.com/16914004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206755 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Pixel rebaselines for https://chromiumcodereview.appspot.com/17018002/danakj@chromium.org2013-06-172-1/+1
| | | | | | | | | TBR=piman BUG=242571 Review URL: https://codereview.chromium.org/17140004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206744 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 206020 "cc: Emulate BeginFrame in OutputSurfaces that don..."reveman@google.com2013-06-1737-693/+805
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is causing pre-rendered pages to not load on android: crbug.com/249806 > cc: Emulate BeginFrame in OutputSurfaces that don't support it natively > > This includes two small fixes for the original version of this > patch that broke software compositing and WebView. > > This will allow us to avoid having two different code paths > in the Scheduler. It also allows us to more easily remove the > VSyncTimeSource and FrameRateController from the Scheduler. > > This patch instantiates the FrameRateController inside of > OutputSurface for now, but the FrameRateController could be > removed in future patches. > > BUG=245920 > BUG=243497 > TBR=nduca@chromium.org,sievers@chromium.org,kbr@chromium.org > > Review URL: https://chromiumcodereview.appspot.com/16833003 TBR=brianderson@chromium.org Review URL: https://codereview.chromium.org/17204002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206655 0039d316-1c4b-4281-b951-d872f2087c98
* Estimate draw duration in SchedulerClientajuma@chromium.org2013-06-164-2/+51
| | | | | | | | | | | | | | | | This adds a DrawDurationEstimate method to SchedulerClient. The implementation of this method (in ThreadProxy) produces an estimate based on recent draw times. This also adds UMA stats measuring the duration of each draw and the amount by which this duration is underestimated or overestimated. BUG=243459 Review URL: https://chromiumcodereview.appspot.com/16574002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206624 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Throttle raster tasks based on check interval and max upload rate.reveman@chromium.org2013-06-151-14/+17
| | | | | | | | | | | | | This removes the kMaxPendingUploads constant and throttles raster tasks based on max upload rate. The result is that fewer tasks are scheduled at a time and fewer resources need to be prepared for raster. BUG=248283 Review URL: https://chromiumcodereview.appspot.com/16871015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206581 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "cc: Don't return mailboxes if the TextureLayer is removed from the ↵senorblanco@chromium.org2013-06-154-78/+22
| | | | | | | | | | | | | tree." It's causing asserts on GPU layout tests, e.g., virtual/gpu/fast/canvas/canvas-currentColor.html. BUG=249535 TBR=piman Review URL: https://codereview.chromium.org/17143002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206559 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Decode images once in tile managervmpstr@chromium.org2013-06-154-56/+45
| | | | | | | | | | | | Decode images only once while the layer still exists. If the pixel ref was already decoded, then we don't decode it again while the layer is still active BUG=247067 Review URL: https://chromiumcodereview.appspot.com/16977006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206557 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Don't return mailboxes if the TextureLayer is removed from the tree.piman@chromium.org2013-06-154-22/+78
| | | | | | | | | | | | | | | | | | | | | | When the TextureLayer is removed from the tree, the TextureLayerImpl is destroyed, so it will return the mailbox to the main thread. Prior to this patch we would return the mailbox to the client. When re-attaching the TextureLayer, we would then not push the mailbox to the new TextureLayerImpl, and stop drawing the layer. Instead, keep the mailbox on the TextureLayer. If the TextureLayer is re-attached to the tree, we push the mailbox again (which is ok to do now). Only after the impl side has returned the mailbox *and* the mailbox is replaced on the TextureLayer (or it is destroyed), will we call the callback. To do that we add a refcounted MailboxHolder whose job is to call the callback when it's destroyed. It's referenced by the TextureLayer itself, while being the current mailbox, and the closures we give to the impl thread. BUG=249535 Review URL: https://chromiumcodereview.appspot.com/16951008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206537 0039d316-1c4b-4281-b951-d872f2087c98
* Fix scrollbar fade animation scheduling.aelias@chromium.org2013-06-159-28/+168
| | | | | | | | | | | | | | | | | In r195531, most of the uses of base::TimeTicks::Now() were replaced by current frame time, but this is incorrect in the case of scrollbar fade scheduling. Although the fade itself is animated within draw frames, the delay until it starts is managed outside frames (intentionally so -- we want to avoid spamming animation frames before the fade has actually begun). Revert that part of r195531 and add more test coverage. NOTRY=true BUG=236351 Review URL: https://chromiumcodereview.appspot.com/16925007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206532 0039d316-1c4b-4281-b951-d872f2087c98
* Turn on lightweight image decode check.tomhudson@chromium.org2013-06-143-2/+6
| | | | | | | | | | | | | | | Depends on https://crrev.com/16432002. Activates cheaper test of whether or not an image is decoded, for a savings of 50-70% of CPU time and near-complete elimination of lock contention in ManageTiles() when loading the cnn.com homepage on an Android device. BUG=239632 R=bsalomon,reveman Review URL: https://chromiumcodereview.appspot.com/16332004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206401 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for LatencyInfo to software compositor.jbauman@chromium.org2013-06-141-1/+1
| | | | | | | | | | | It reports the LatencyInfo to the RenderWidgetHostImpl when the browser compositor swaps to the screen. Also, the LatencyInfo is now added to the CompositorFrameMetadata in all cases, not just when there's a RootScrollLayer. BUG=155367 R=nduca@chromium.org, piman@chromium.org, skaslev@chromium.org Review URL: https://codereview.chromium.org/16566005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206373 0039d316-1c4b-4281-b951-d872f2087c98
* Update CrOS to use scoped_refptr<T>::get() rather than implicit "operator T*"rsleevi@chromium.org2013-06-141-1/+1
| | | | | | | | | BUG=110610 TBR=darin Review URL: https://chromiumcodereview.appspot.com/16998003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206357 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Refactor force upload mechanism to allow proper resource ownership passing.reveman@chromium.org2013-06-1413-251/+182
| | | | | | | | | | | | | | | | | Makes ResourceProvider changes required to allow reuse of resources immediately after forcing "set pixels" to complete and removes AbortSetPixels() which is no longer needed. Improves the efficiency of forced uploads by issuing the "wait-for" command as soon as we know that the upload can be forced. It also provides a significant cleanup to RasterWorkerPool interface and tile management. BUG=245767 Review URL: https://chromiumcodereview.appspot.com/16926002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206352 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove unnecessary ref counting in WorkerPool.reveman@chromium.org2013-06-142-4/+6
| | | | | | | | | | | | | | | GraphNode instances can store dependents using raw pointers. All pending tasks are guaranteed to be valid as we keep a reference to the root task. Workers will keep a reference to running tasks and any completed tasks are referenced in the |completed_tasks_| queue. BUG=247677 TEST=cc_unittests --gtest_filter=WorkerPoolTest.* Review URL: https://chromiumcodereview.appspot.com/16420004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206290 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move WorkerPool from cc/base to cc/resources.reveman@chromium.org2013-06-147-12/+12
| | | | | | | | | R=jamesr BUG= Review URL: https://chromiumcodereview.appspot.com/17004002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206263 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused (as of r206108) kEnableCompositorFrameMessagesievers@chromium.org2013-06-142-4/+0
| | | | | | Review URL: https://chromiumcodereview.appspot.com/16844016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206232 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix and re-enable DrawRenderPassQuadShaderPermutations testdanakj@chromium.org2013-06-131-96/+20
| | | | | | | | | | | | | | | | | | | | The GLRendererShaderTest.DrawRenderPassQuadShaderPermutations test was not working correctly since it included solid color quads which would change the active program. They are not needed since there is not actual pixel output to look at, instead we should just add the RenderPassDrawQuad meant to trigger a behaviour and then test for that behaviour. Also some of the methods to test for use of a specific program with a mask instead tested for the program without a mask by mistake. R=enne BUG=241318 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/16799004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206201 0039d316-1c4b-4281-b951-d872f2087c98
* Update Android to use scoped_refptr<T>::get() rather than implicit "operator T*"rsleevi@chromium.org2013-06-131-2/+2
| | | | | | | | | | | Android fixes and post-Linux cleanup BUG=110610 TBR=darin@chromium.org Review URL: https://codereview.chromium.org/16907002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206179 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove analysis from tile managervmpstr@chromium.org2013-06-139-40/+35
| | | | | | | | | | | | | Analysis is only used by the raster task. It's the part that fills in the analysis, and it's also the part that consumes it. I think it makes sense moving it deeper in, instead of allocating it early and passing it around. BUG=248765 Review URL: https://chromiumcodereview.appspot.com/16341005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206134 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Reduce calls to WorkerPool::ScheduledTasks().reveman@chromium.org2013-06-132-27/+44
| | | | | | | | | | | | Only call ScheduleMoreTasks() from CheckForCompletedRasterTasks() and ScheduleTasks(). This reduces the number of calls to WorkerPool::ScheduleTasks() significantly. BUG=249090 Review URL: https://chromiumcodereview.appspot.com/16836005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206121 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move WorkerPool task graph construction to derived classes.reveman@chromium.org2013-06-136-153/+189
| | | | | | | | | | | | | This makes it easier to unit test the task graph construction code and gives derived worker pool classes the ability to more efficiently construct the graph. BUG=247922 TEST=cc_unittests --gtest_filter=WorkerPoolTest.* Review URL: https://chromiumcodereview.appspot.com/16378006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206070 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove unused ResourcePool::resource_provider() getter.reveman@chromium.org2013-06-131-2/+0
| | | | | | | | | | TBR=vmpstr BUG= NOTRY=true Review URL: https://chromiumcodereview.appspot.com/16863004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206037 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Emulate BeginFrame in OutputSurfaces that don't support it nativelybrianderson@chromium.org2013-06-1337-805/+693
| | | | | | | | | | | | | | | | | | | | | This includes two small fixes for the original version of this patch that broke software compositing and WebView. This will allow us to avoid having two different code paths in the Scheduler. It also allows us to more easily remove the VSyncTimeSource and FrameRateController from the Scheduler. This patch instantiates the FrameRateController inside of OutputSurface for now, but the FrameRateController could be removed in future patches. BUG=245920 BUG=243497 TBR=nduca@chromium.org,sievers@chromium.org,kbr@chromium.org Review URL: https://chromiumcodereview.appspot.com/16833003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206020 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Use RenderingCapabilities::best_texture_format with impl-side painting.reveman@chromium.org2013-06-126-21/+25
| | | | | | | | BUG=248750 Review URL: https://chromiumcodereview.appspot.com/16679009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205975 0039d316-1c4b-4281-b951-d872f2087c98
* CC: Call SwapBuffers instead of PostSubBuffer on full frame update.backer@chromium.org2013-06-125-23/+42
| | | | | | | | | | | This allows us to remove a driver workaround and send less information in the GLFrameData. TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/16509008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205932 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Make raster tasks separate objects.vmpstr@chromium.org2013-06-1210-303/+379
| | | | | | | | | | | Instead of using bind on tile manager static functions, this patch makes the tasks explicit objects that live in the raster worker pool. This should allow, among other things, to do different work for different raster worker pools. Review URL: https://chromiumcodereview.appspot.com/15766006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205916 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Don't flip render passes when rendering them.danakj@chromium.org2013-06-1210-107/+134
| | | | | | | | | | | | | Position all render passes with row 0 on the bottom consistently, not just the root. R=enne BUG=247789 Depends on: https://codereview.chromium.org/16634015/ Review URL: https://chromiumcodereview.appspot.com/16667004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205879 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 205750 "cc: Emulate BeginFrame in OutputSurfaces that don..."skaslev@chromium.org2013-06-1237-692/+805
| | | | | | | | | | | | | | | | | | | | | | | > cc: Emulate BeginFrame in OutputSurfaces that don't support it natively > > This will allow us to avoid having two different code paths > in the Scheduler. It also allows us to more easily remove the > VSyncTimeSource and FrameRateController from the Scheduler. > > This patch instantiates the FrameRateController inside of > OutputSurface for now, but the FrameRateController could be > removed in future patches. > > BUG=245920 > BUG=243497 > > Review URL: https://chromiumcodereview.appspot.com/15836005 TBR=brianderson@chromium.org Review URL: https://codereview.chromium.org/16679010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205838 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite scoped_ptr<T>(NULL) to use the default ctor in cc/.dcheng@chromium.org2013-06-1215-27/+23
| | | | | | | | | | | This is the result of running the rewrite_scoped_ptr_ctor_null tool across all files built on Linux in the cc/ directory. BUG=173286 Review URL: https://chromiumcodereview.appspot.com/16355009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205810 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Emulate BeginFrame in OutputSurfaces that don't support it nativelybrianderson@chromium.org2013-06-1237-805/+692
| | | | | | | | | | | | | | | | | This will allow us to avoid having two different code paths in the Scheduler. It also allows us to more easily remove the VSyncTimeSource and FrameRateController from the Scheduler. This patch instantiates the FrameRateController inside of OutputSurface for now, but the FrameRateController could be removed in future patches. BUG=245920 BUG=243497 Review URL: https://chromiumcodereview.appspot.com/15836005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205750 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Make activation happen as soon as possibleenne@chromium.org2013-06-1215-59/+99
| | | | | | | | | | | | | | | | | | | Rather than periodically trying to activate, allow the tile manager to send a notification that activation is ready. Additionally, activation can happen immediately during commit. If there are no animations and the LTHI is not in prefer smoothness mode, then the tree will activate immediately after rasterization as all the uploads will be forced. If uploads are not forced, the tile manager will periodically be polled via ActivatePendingTreeIfNeeded(). This can be improved in the future via scheduling changes. R=danakj@chromium.org BUG=236648 Review URL: https://chromiumcodereview.appspot.com/15777004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205746 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Don't add low res tilings for small layersenne@chromium.org2013-06-118-10/+62
| | | | | | | | | R=danakj@chromium.org BUG=247465 Review URL: https://chromiumcodereview.appspot.com/16671003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205657 0039d316-1c4b-4281-b951-d872f2087c98
* cc: PNG baseline for https://codereview.chromium.org/16667004/danakj@chromium.org2013-06-112-1/+1
| | | | | | | | | TBR=enne BUG=247782 Review URL: https://codereview.chromium.org/16783004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205632 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Clean up non-ideal low res tilings earlierenne@chromium.org2013-06-112-23/+12
| | | | | | | | | R=danakj@chromium.org BUG=247465 Review URL: https://chromiumcodereview.appspot.com/16667009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205628 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Enable AntiAliasing for sub-pixel translations in software rendererdanakj@chromium.org2013-06-113-32/+106
| | | | | | | | | | | | | | | While here, make the blue/yellow tests horizontal instead of vertical stripes, so that we can detect vertical flipping issues. Tests: RendererPixelTest.EnlargedRenderPassTextureWithAntiAliasing R=enne BUG=247782 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/16634015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205618 0039d316-1c4b-4281-b951-d872f2087c98