Commit eff2bdbd authored by Andres Rodriguez's avatar Andres Rodriguez Committed by Bas Nieuwenhuizen

radv: factor out radv_alloc_memory

This allows us to pass extra parameters to the memory allocation
operation that are not defined in the vulkan spec. This is useful for
internal usage.
Signed-off-by: default avatarAndres Rodriguez <andresx7@gmail.com>
Reviewed-by: default avatarBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
parent 92724338
......@@ -2048,11 +2048,11 @@ bool radv_get_memory_fd(struct radv_device *device,
pFD);
}
VkResult radv_AllocateMemory(
VkDevice _device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
VkDeviceMemory* pMem)
VkResult radv_alloc_memory(VkDevice _device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
enum radv_mem_flags_bits mem_flags,
VkDeviceMemory* pMem)
{
RADV_FROM_HANDLE(radv_device, device, _device);
struct radv_device_memory *mem;
......@@ -2134,6 +2134,15 @@ fail:
return result;
}
VkResult radv_AllocateMemory(
VkDevice _device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
VkDeviceMemory* pMem)
{
return radv_alloc_memory(_device, pAllocateInfo, pAllocator, 0, pMem);
}
void radv_FreeMemory(
VkDevice _device,
VkDeviceMemory _mem,
......
......@@ -106,6 +106,11 @@ enum radv_mem_type {
RADV_MEM_TYPE_COUNT
};
enum radv_mem_flags_bits {
/* enable implicit synchronization when accessing the underlying bo */
RADV_MEM_IMPLICIT_SYNC = 1 << 0,
};
#define radv_printflike(a, b) __attribute__((__format__(__printf__, a, b)))
static inline uint32_t
......@@ -946,6 +951,12 @@ void radv_cmd_buffer_trace_emit(struct radv_cmd_buffer *cmd_buffer);
bool radv_get_memory_fd(struct radv_device *device,
struct radv_device_memory *memory,
int *pFD);
VkResult radv_alloc_memory(VkDevice _device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
enum radv_mem_flags_bits flags,
VkDeviceMemory* pMem);
/*
* Takes x,y,z as exact numbers of invocations, instead of blocks.
*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment