summaryrefslogtreecommitdiff
path: root/src/intel/genxml/README
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2017-04-24 01:51:51 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2017-05-04 19:07:54 -0700
commitf82d3d38b62048246c4df999a1789b5cb60184c6 (patch)
treea2ebc05fe825f8149e87edcbca1ef10f9f927d7f /src/intel/genxml/README
parent8c079b566e59df2f6d0e0deb951078aba862991d (diff)
anv/allocator: Allow state pools to allocate large states
Previously, the maximum size of a state that could be allocated from a state pool was a block. However, this has caused us various issues particularly with shaders which are potentially very large. We've also hit issues with render passes with a large number of attachments when we go to allocate the block of surface state. This effectively removes the restriction on the maximum size of a single state. (There's still a limit of 1MB imposed by a fixed-length bucket array.) For states larger than the block size, we just grab a large block off of the block pool rather than sub-allocating. When we go to allocate some chunk of state and the current bucket does not have state, we try to pull a chunk from some larger bucket and split it up. This should improve memory usage if a client occasionally allocates a large block of state. This commit is inspired by some similar work done by Juan A. Suarez Romero <jasuarez@igalia.com>. Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Diffstat (limited to 'src/intel/genxml/README')
0 files changed, 0 insertions, 0 deletions