diff options
author | ccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-18 20:29:09 +0000 |
---|---|---|
committer | ccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-18 20:29:09 +0000 |
commit | e1fc8b3c053214d096b90bc54a582226e04f7f57 (patch) | |
tree | 5e947ddc21d619670f8d751243c2e5d7cbc94d27 /ppapi/proxy/ppb_file_system_proxy.cc | |
parent | 8bc80280056bf0c21ddd6d63b34c785f83208599 (diff) | |
download | chromium_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