summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppb_file_system_proxy.cc
diff options
context:
space:
mode:
authorccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-18 20:29:09 +0000
committerccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-18 20:29:09 +0000
commite1fc8b3c053214d096b90bc54a582226e04f7f57 (patch)
tree5e947ddc21d619670f8d751243c2e5d7cbc94d27 /ppapi/proxy/ppb_file_system_proxy.cc
parent8bc80280056bf0c21ddd6d63b34c785f83208599 (diff)
downloadchromium_src-e1fc8b3c053214d096b90bc54a582226e04f7f57.zip
chromium_src-e1fc8b3c053214d096b90bc54a582226e04f7f57.tar.gz
chromium_src-e1fc8b3c053214d096b90bc54a582226e04f7f57.tar.bz2
Integrate r128344 and r128253 from WebKit
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
Diffstat (limited to 'ppapi/proxy/ppb_file_system_proxy.cc')
0 files changed, 0 insertions, 0 deletions