aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrMemoryPool.h
Commit message (Collapse)AuthorAge
* 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