diff options
author | Jason Ekstrand <[email protected]> | 2016-06-16 14:43:41 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-06-22 12:39:20 -0700 |
commit | 966bed17c1a04854b4a422d90de81744556204b6 (patch) | |
tree | dd6906e59a2b51895cae54825eab9e12a1636c6c /src/intel/vulkan/anv_private.h | |
parent | 89ded099f840275d278c408e132ad5db39fdf5af (diff) |
anv: Add an allocator for scratch buffers
Signed-off-by: Jason Ekstrand <[email protected]>
Cc: "12.0" <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_private.h')
-rw-r--r-- | src/intel/vulkan/anv_private.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 7e550008d8d..ebbf2bc4832 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -475,6 +475,19 @@ VkResult anv_bo_pool_alloc(struct anv_bo_pool *pool, struct anv_bo *bo, uint32_t size); void anv_bo_pool_free(struct anv_bo_pool *pool, const struct anv_bo *bo); +struct anv_scratch_pool { + /* Indexed by Per-Thread Scratch Space number (the hardware value) and stage */ + struct anv_bo bos[16][MESA_SHADER_STAGES]; +}; + +void anv_scratch_pool_init(struct anv_device *device, + struct anv_scratch_pool *pool); +void anv_scratch_pool_finish(struct anv_device *device, + struct anv_scratch_pool *pool); +struct anv_bo *anv_scratch_pool_alloc(struct anv_device *device, + struct anv_scratch_pool *pool, + gl_shader_stage stage, + unsigned per_thread_scratch); void *anv_resolve_entrypoint(uint32_t index); |