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: Andres Rodriguez <andresx7@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
92724338ba
commit
eff2bdbd82
|
@ -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.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue