summaryrefslogtreecommitdiffstats
path: root/cc/CCThreadProxy.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [cc] Rename all cc/ filenames to Chromium styleenne@chromium.org2012-10-121-957/+0
| | | | | | | | BUG=155413 Review URL: https://codereview.chromium.org/11122003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161671 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove OwnPtr type from CCFrameRateController.tfarina@chromium.org2012-10-111-8/+8
| | | | | | | | | | BUG=154451 TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org Review URL: https://codereview.chromium.org/11094059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161408 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Remove all WTF #includes from CCLayerTreeHostenne@chromium.org2012-10-101-6/+8
| | | | | | | | | | | | | | This transitively involved cleaning up RateLimiter and the types that CCProxy, CCPrioritizedTextureManager, and CCPrioritizedTexture are stored in. This is a relanding of https://chromiumcodereview.appspot.com/11035071. BUG=154451 Review URL: https://chromiumcodereview.appspot.com/11091028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161002 0039d316-1c4b-4281-b951-d872f2087c98
* Pinch-zoom applied via compositor instead of CSS transformation.aelias@chromium.org2012-10-081-0/+2
| | | | | | | | | | | | | This is a rebased version of twiz's patch in 10916279. Corresponding WK change: https://bugs.webkit.org/show_bug.cgi?id=93292 BUG=148816 Review URL: https://chromiumcodereview.appspot.com/11094004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160730 0039d316-1c4b-4281-b951-d872f2087c98
* Remove resource instrumentation, now that the culprit has been apprehended.ccameron@chromium.org2012-10-081-14/+0
| | | | | | | | | BUG=151428 Review URL: https://chromiumcodereview.appspot.com/11070007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160722 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 160623 - [cc] Remove all WTF #includes from CCLayerTreeHostjochen@chromium.org2012-10-081-8/+6
| | | | | | | | | | | | | | | This transitively involved cleaning up RateLimiter and the types that CCProxy, CCPrioritizedTextureManager, and CCPrioritizedTexture are stored in. BUG=154451 Review URL: https://chromiumcodereview.appspot.com/11035071 TBR=enne@chromium.org Review URL: https://codereview.chromium.org/11047034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160636 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Remove all WTF #includes from CCLayerTreeHostenne@chromium.org2012-10-081-6/+8
| | | | | | | | | | | | This transitively involved cleaning up RateLimiter and the types that CCProxy, CCPrioritizedTextureManager, and CCPrioritizedTexture are stored in. BUG=154451 Review URL: https://chromiumcodereview.appspot.com/11035071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160623 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Use scoped_ptr for CCLayerTreeHost(Impl)enne@chromium.org2012-10-061-7/+7
| | | | | | | | BUG=154451 Review URL: https://chromiumcodereview.appspot.com/11031079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160589 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Remove WTF constructs from CCLayerTreeHostClientenne@chromium.org2012-10-061-16/+16
| | | | | | | | | | | | | Pulling on this string ends up touching a lot of code, but it's all fairly mechanical. The only unfortunate part of this patch that it's not easy to pass a scoped_ptr through CCThreadTask (so it just sends a raw pointer), but this can get fixed after CCThreadTask switches to using base/. BUG=154451 Review URL: https://chromiumcodereview.appspot.com/11065046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160580 0039d316-1c4b-4281-b951-d872f2087c98
* Add more extensive lifetime tracking.ccameron@chromium.org2012-10-021-2/+15
| | | | | | | | | BUG=151428 Review URL: https://chromiumcodereview.appspot.com/11047003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159786 0039d316-1c4b-4281-b951-d872f2087c98
* Add lifetime tracking instrumentation to Canary.ccameron@chromium.org2012-10-011-5/+2
| | | | | | | | BUG=151428 Review URL: https://chromiumcodereview.appspot.com/10987102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159546 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Only avoid resource updates at vsync time when redraw is needed.reveman@chromium.org2012-09-281-11/+12
| | | | | | | | | | | | | | | This improves resource update throughput while still maintaining minimal jank during impl side animations. Also allows us to remove resource update state from scheduler as vsync ticks are now only required when a redraw is pending. BUG=145825 TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/10990037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159173 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Convert texture update controller logic to use base::TimeTicks/Delta ↵reveman@chromium.org2012-09-271-2/+1
| | | | | | | | | | | | | | | instead of doubles. Instead of using double seconds, this converts the update controller logic to use base::TimeTicks and base::TimeDelta. BUG= TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/10982067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159094 0039d316-1c4b-4281-b951-d872f2087c98
* Add crash instrumentation to help diagnose issue 151428.ccameron@chromium.org2012-09-271-0/+6
| | | | | | | | | | | This data is preserved in minidumps. Once I have some samples, I will revert this checkin. BUG=151428 Review URL: https://chromiumcodereview.appspot.com/10993051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158980 0039d316-1c4b-4281-b951-d872f2087c98
* Add average commit time to texture upload scrolling testsbrianderson@chromium.org2012-09-271-5/+15
| | | | | | | | BUG=151456 Review URL: https://chromiumcodereview.appspot.com/10914304 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158950 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove TextureUploaderOption.reveman@chromium.org2012-09-221-9/+2
| | | | | | | | | | | After stopping to throttle partial uploads this option is no longer needed. BUG= TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/10961008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158192 0039d316-1c4b-4281-b951-d872f2087c98
* Fix remaining cc files to compile with Clangenne@chromium.org2012-09-211-0/+9
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/10947047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158005 0039d316-1c4b-4281-b951-d872f2087c98
* Convert CC scheduler logic to use base::TimeTicks/Delta instead of doublesjamesr@chromium.org2012-09-201-5/+7
| | | | | | | | | | | | | | Instead of using double seconds, this converts the scheduler and timer logic in libcc to use base::TimeTicks and base::TimeDelta. This puts the units in the type system instead of variable names and comments making second/millisecond confusion less likely and integrates better with the rest of chromium. BUG= Review URL: https://chromiumcodereview.appspot.com/10956006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157783 0039d316-1c4b-4281-b951-d872f2087c98
* Allow deletion of some (as opposed to all) textures on the impl thread. ccameron@chromium.org2012-09-191-6/+10
| | | | | | | | | | | | Enable removing uploads to evicted textures from texture upload queues. Track whether not a CCPrioritizedTexture::Backing has been evicted in the structure itself. Purge texture upload queues of evicted backings instead of clearing the entire queue. Added CCTextureUpdateControllerTest.ClearUploadsToEvictedResources to test the new eviction logic. BUG=134750 Review URL: https://chromiumcodereview.appspot.com/10947017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157662 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate r128344 and r128253 from WebKitccameron@chromium.org2012-09-181-20/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synopsis of changes below: [chromium] Evict textures through the texture manager instead of the resource provider https://bugs.webkit.org/show_bug.cgi?id=96463 Reviewed by NOBODY (OOPS!). When deleting contents textures' resources on the impl thread, do the deletion through the CCPrioritizedTextureManager instead of the CCResourceProvider. This requires traversing the backings list on the impl thread while the main thread is running, so remove the one remaining traversal of the backings list by the main thread. This traversal happens when unlinking textures that were evicted by the impl thread, so explicitly send the list of evicted backings from the impl thread to the main thread. Unify all resource deletion paths in the CCPrioritizedTextureManager. Always perform the sequence of eviction (deleting the GL resource) and then destruction of evicted backings (deleting the objects). Also, use the same function (evictBackingsToReduceMemory) to reduce memory consumption both during commit and when done by the impl thread in response to a request by the GPU memory manager. Note that destroying only some of the resources at a time during texture eviction (as opposed all resources) is still not supported because the texture upload queues cannot be only-partially invalidated yet. Updated tests to take this behavior into account. [chromium] Make prioritized texture manager not touch backings array on the main thread https://bugs.webkit.org/show_bug.cgi?id=96114 Reviewed by NOBODY (OOPS!). Take a snapshot of the textures' priorities from the main thread, and save it in their backings for access by the impl thread. Update functions that access the sorted backings array to use the snapshotted values instead of the values that the main thread may have computed for the next frame. Make the main thread not touch the m_backings array. Split prioritizeTextures into a updateBackingsPriorities function. In places where the main thread would have touched m_backings, set a flag specifying that m_backings needs to be re-sorted before any function that requires it be sorted by priority be executed. Update the two functions that require sorted order (acquireBacking and reduceMemory) to sort the backings array (if needed) before traversing it. Updated tests to set correct thread during asserts. Add a test to verify that requestLate is correctly incorporated into the backing sorting. Review URL: https://chromiumcodereview.appspot.com/10919320 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157412 0039d316-1c4b-4281-b951-d872f2087c98
* Move TextureCopier and TextureUploader from CCRenderer to CCResourceProviderpiman@chromium.org2012-09-181-1/+1
| | | | | | | | | | | These don't really belong to the CCRenderer, and this way we share a bit more between renderers. BUG=None Review URL: https://chromiumcodereview.appspot.com/10917251 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157289 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove partial texture updates from scheduler.reveman@google.com2012-09-171-5/+8
| | | | | | | | | | | | | The texture update controller now completes when all full size texture uploads are done and the texture uploader isn't busy. All partial texture updates are now done at the same time as commit. BUG=149194 TEST=cc_unittests Review URL: https://codereview.chromium.org/10917265 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157220 0039d316-1c4b-4281-b951-d872f2087c98
* Change cc files from namespace WebCore to ccenne@chromium.org2012-09-141-2/+2
| | | | | | | | | | | | | | | | | | These files no longer are part of WebCore, so it doesn't make any sense to keep that namespace. Due to being unable to forward declare typedefs in C++, the stubs files (like FloatSize) now define cc::FloatSize as being derived from WebCore::FloatSize. With enough constructors, this lets them be used interchangably in the short term until those geometry classes become real and not dependent on WebCore files. This allows (nearly) all the forward declarations and uses of these types in cc stay as-is with minimal churn. BUG=none Review URL: https://codereview.chromium.org/10914268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156905 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Scheduler will never process a commit until it receives a vsync tick.reveman@chromium.org2012-09-131-11/+10
| | | | | | | | | | | | | | | | Add updateResourcesComplete callback to CCScheduler and use this to indicate completion of texture updates instead of calling CCSchedulerClient::hasMoreResourceUpdates when receiving a vsync tick. WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=94721 BUG=123399,147651 TEST=Added CCTextureUpdateControllerTest.UpdateMoreTextures, CCTextureUpdateControllerTest.HasMoreUpdates and CCTextureUpdateControllerTest.UpdatesCompleteInFiniteTime to cc_unittests. Review URL: https://chromiumcodereview.appspot.com/10911262 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156669 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Avoid unnecessary destruction of texture update controller.reveman@chromium.org2012-09-131-1/+0
| | | | | | | | | | | | | GLES imlementation now handles this case properly and returns the correct value from glGetQueryObjectuivEXT when the context is lost. BUG= TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/10914236 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156623 0039d316-1c4b-4281-b951-d872f2087c98
* Roll in CC changes up to 128196jamesr@chromium.org2012-09-121-5/+10
| | | | | | | | | | | Specifically this brings in r128196 and 128005 BUG= Review URL: https://chromiumcodereview.appspot.com/10919227 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156412 0039d316-1c4b-4281-b951-d872f2087c98
* Enable cc_unittests in component buildjamesr@chromium.org2012-09-121-1/+0
| | | | | | | | | BUG=148610 Review URL: https://chromiumcodereview.appspot.com/10905231 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156410 0039d316-1c4b-4281-b951-d872f2087c98
* Update cc snapshot to r127918jamesr@chromium.org2012-09-081-12/+8
| | | | | | | | | TBR=nduca@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/10917153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155554 0039d316-1c4b-4281-b951-d872f2087c98
* Roll cc snapshot up to 127605jamesr@chromium.org2012-09-051-11/+13
| | | | | | | | | TBR=nduca@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/10907075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155034 0039d316-1c4b-4281-b951-d872f2087c98
* Rolls cc and webkit_compositor up to 127340jamesr@chromium.org2012-09-011-5/+19
| | | | | | | | | | | With this, webkit_compositor_unittests successfully runs+builds and it's possible to start implemented WebCompositorSupport BUG= Review URL: https://chromiumcodereview.appspot.com/10920059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154559 0039d316-1c4b-4281-b951-d872f2087c98
* Enable webkit_compositor_unittestsjamesr@chromium.org2012-08-301-19/+35
| | | | | | | | | | | | | | These are unit tests of the webkit compositor bindings that bind the WebKit Platform Web*Layer* family of APIs to cc. They currently depend on some test utilities in cc. Also updates snapshot to WebKit r127194 BUG= Review URL: https://chromiumcodereview.appspot.com/10909020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154307 0039d316-1c4b-4281-b951-d872f2087c98
* Roll CC snapshot up to WK r127064jamesr@chromium.org2012-08-301-13/+13
| | | | | | | | | | TBR=nduca@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/10889048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154239 0039d316-1c4b-4281-b951-d872f2087c98
* Update cc snapshot to WK r126941jamesr@chromium.org2012-08-291-2/+2
| | | | | | | | | BUG= TBR=nduca@chromium.org Review URL: https://chromiumcodereview.appspot.com/10898023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153839 0039d316-1c4b-4281-b951-d872f2087c98
* Here are gyp targets and stubs for compiling libcc and the webkit_compositor ↵jamesr@chromium.org2012-08-251-0/+892
bindings in chromium. Everything is guarded behind the off-by-default use_libcc_for_compositor gyp variable. I haven't included the actual code here, but there are scripts to sync. I plan to land + manually sync the code into place until we're ready to flip the gyp switch. Snapshot from r126652 BUG= Review URL: https://chromiumcodereview.appspot.com/10828381 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153354 0039d316-1c4b-4281-b951-d872f2087c98