aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrMemoryPool.h
Commit message (Collapse)AuthorAge
* Add debug helper for finding leaks in GrMemoryPool.hGravatar Brian Salomon2017-03-28
| | | | | | | Change-Id: I1d11769f9e99606af5e7752b3a6d055a5bf6a48d Reviewed-on: https://skia-review.googlesource.com/10289 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make GrMemoryPool play nice with bucketing allocators.Gravatar dskiba2016-11-29
| | | | | | | | | | | | | | | | | | | | | | | Some memory allocators have very coarse size buckets, so for example on Android (jemalloc) an attempt to allocate 32 KiB + 1 byte will end up allocating 40 KiB, wasting 8 KiB. GrMemoryPool ctor takes two arguments that specify prealloc / block sizes, and then inflates them to accommodate some bookkeeping structures. Since most places create GrMemoryPools with pow2 numbers (which have buckets in most allocators) the inflation causes allocator to select next size bucket, wasting memory. This CL makes GrMemoryPool to stop inflating sizes it was created with, and allocate specified amounts exactly. Part of allocated memory is then used for bookkeeping structures. Additionally, GrObjectMemoryPool template is provided, which takes prealloc / block object counts (instead of sizes) and guarantees that specified number of objects will fit in prealloc / block spaces. BUG=651872 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2525773002 Review-Url: https://codereview.chromium.org/2525773002
* Add sentinel to GrMemoryPool's block headerGravatar robertphillips2016-01-07
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1562813002 Review URL: https://codereview.chromium.org/1562813002
* Add debug sentinel to GrMemoryPool to check for memory stompingGravatar robertphillips2016-01-06
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1553233006 Review URL: https://codereview.chromium.org/1553233006
* Return 'correct' size from GrMemoryPoolGravatar joshualitt2016-01-05
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1552283002 Review URL: https://codereview.chromium.org/1552283002
* Adding a cache + memory pool for GPU TextBlobsGravatar joshualitt2015-04-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1055843002
* Replace uses of GR_DEBUG by SK_DEBUG.Gravatar commit-bot@chromium.org2013-08-28
| | | | | | | | | | | BUG=None R=bsalomon@google.com, robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/23137022 git-svn-id: http://skia.googlecode.com/svn/trunk@10978 2bbb7eff-a529-9590-31e7-b0007b416f81
* Mark GrMemoryPool methods as static.Gravatar commit-bot@chromium.org2013-08-01
| | | | | | | | | | R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/21553002 git-svn-id: http://skia.googlecode.com/svn/trunk@10481 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use GrMemoryPool to manage GrCustomStage allocations.Gravatar tomhudson@google.com2012-07-24
| | | | | | | | | | Improve memory reclamation of GrMemoryPool for new/delete/new/delete pattern. http://codereview.appspot.com/6438046/ git-svn-id: http://skia.googlecode.com/svn/trunk@4744 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GrMemoryPool as a helper to override operators new/deleteGravatar bsalomon@google.com2012-06-19
Review URL: http://codereview.appspot.com/6306090/ git-svn-id: http://skia.googlecode.com/svn/trunk@4282 2bbb7eff-a529-9590-31e7-b0007b416f81