Lines Matching defs:pool

134  * (1) the dynamic state pool is located within the same 4 GiB as the low
138 * (2) the binding table pool is located at lower addresses than the surface
139 * state pool, within a 4 GiB range. This allows surface state base addresses
634 * both the block pool and the state pools. Unfortunately, in order to
665 #define anv_block_pool_foreach_bo(bo, pool) \
666 for (struct anv_bo **_pp_bo = (pool)->bos, *bo; \
667 _pp_bo != &(pool)->bos[(pool)->nbos] && (bo = *_pp_bo, true); \
679 * around the actual BO so that we grow the pool after the wrapper BO has
691 /* The address where the start of the pool is pinned. The various bos that
692 * are created as the pool grows will have addresses in the range
698 * pool. Pointers to allocated blocks are given by
703 /* Current memory map of the block pool. This pointer may or may not
704 * point to the actual beginning of the block pool memory. If
707 * (negative or positive) given out by the block pool alloc functions
719 * Array of mmaps and gem handles owned by the block pool, reclaimed when
720 * the block pool is destroyed.
732 /* The center of the block pool is also the middle of the memfd. This may
738 anv_block_pool_size(struct anv_block_pool *pool)
740 return pool->state.end + pool->back_state.end;
779 /* Offset into the relevant state base address where the state pool starts
786 /* The size of blocks which will be allocated from the block pool */
796 struct anv_state_pool *pool;
804 /* The size of blocks to allocate from the state pool */
813 /* List of all blocks allocated from this pool */
817 /* The block_pool functions exported for testing only. The block pool should
818 * only be used via a state pool (see below).
820 VkResult anv_block_pool_init(struct anv_block_pool *pool,
825 void anv_block_pool_finish(struct anv_block_pool *pool);
826 int32_t anv_block_pool_alloc(struct anv_block_pool *pool,
828 int32_t anv_block_pool_alloc_back(struct anv_block_pool *pool,
830 void* anv_block_pool_map(struct anv_block_pool *pool, int32_t offset, uint32_t
833 VkResult anv_state_pool_init(struct anv_state_pool *pool,
839 void anv_state_pool_finish(struct anv_state_pool *pool);
840 struct anv_state anv_state_pool_alloc(struct anv_state_pool *pool,
842 struct anv_state anv_state_pool_alloc_back(struct anv_state_pool *pool);
843 void anv_state_pool_free(struct anv_state_pool *pool, struct anv_state state);
851 void anv_state_reserved_pool_init(struct anv_state_reserved_pool *pool,
855 void anv_state_reserved_pool_finish(struct anv_state_reserved_pool *pool);
856 struct anv_state anv_state_reserved_pool_alloc(struct anv_state_reserved_pool *pool);
857 void anv_state_reserved_pool_free(struct anv_state_reserved_pool *pool,
879 * Implements a pool of re-usable BOs. The interface is identical to that
890 void anv_bo_pool_init(struct anv_bo_pool *pool, struct anv_device *device,
892 void anv_bo_pool_finish(struct anv_bo_pool *pool);
893 VkResult anv_bo_pool_alloc(struct anv_bo_pool *pool, uint32_t size,
895 void anv_bo_pool_free(struct anv_bo_pool *pool, struct anv_bo *bo);
905 struct anv_scratch_pool *pool);
907 struct anv_scratch_pool *pool);
909 struct anv_scratch_pool *pool,
913 struct anv_scratch_pool *pool,
1950 struct anv_descriptor_pool *pool;
1953 /* Amount of space occupied in the the pool by this descriptor set. It can
1969 /* Link to descriptor pool's desc_sets list . */
1979 return set->pool == NULL;
2841 /** Last seen surface state block pool center bo offset */
4098 /** Number of slots in this query pool */
4112 static inline uint32_t khr_perf_query_preamble_offset(const struct anv_query_pool *pool,
4115 return pool->pass_size * pass + 8;
4175 struct anv_query_pool *pool, uint32_t pass,