mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
swr: [rasterizer core] Reduce Arena blocksize to 128KB (from 1MB).
With global allocator this doesn't seem to affect performance at all. Overall memory consumption drops by up to 85%.
This commit is contained in:
parent
ed5b953919
commit
51549912d1
1 changed files with 7 additions and 3 deletions
|
|
@ -212,7 +212,7 @@ struct CachingAllocatorT : DefaultAllocator
|
|||
};
|
||||
typedef CachingAllocatorT<> CachingAllocator;
|
||||
|
||||
template<typename T = DefaultAllocator>
|
||||
template<typename T = DefaultAllocator, size_t BlockSizeT = (128 * 1024)>
|
||||
class TArena
|
||||
{
|
||||
public:
|
||||
|
|
@ -225,7 +225,11 @@ public:
|
|||
|
||||
void* AllocAligned(size_t size, size_t align)
|
||||
{
|
||||
SWR_ASSERT(size);
|
||||
if (0 == size)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
SWR_ASSERT(align <= ARENA_BLOCK_ALIGN);
|
||||
|
||||
if (m_pCurBlock)
|
||||
|
|
@ -244,7 +248,7 @@ public:
|
|||
// a new block
|
||||
}
|
||||
|
||||
static const size_t ArenaBlockSize = 1024 * 1024 - ARENA_BLOCK_ALIGN;
|
||||
static const size_t ArenaBlockSize = BlockSizeT - ARENA_BLOCK_ALIGN;
|
||||
size_t blockSize = std::max(size, ArenaBlockSize);
|
||||
|
||||
// Add in one BLOCK_ALIGN unit to store ArenaBlock in.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue