vkd3d: Remove vkd3d_allocate_resource_memory.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
parent
a1e5b78bc4
commit
be080edc7f
|
@ -329,12 +329,6 @@ static HRESULT vkd3d_memory_allocation_init(struct vkd3d_memory_allocation *allo
|
|||
memory_requirements = info->memory_requirements;
|
||||
}
|
||||
|
||||
/* For dedicated buffer allocations we should assign the existing
|
||||
* buffer for address lookup purposes, but take care not to destroy
|
||||
* it when freeing the allocation. */
|
||||
if (allocation->flags & VKD3D_ALLOCATION_FLAG_DEDICATED_BUFFER)
|
||||
allocation->resource.vk_buffer = info->vk_buffer;
|
||||
|
||||
type_mask = vkd3d_select_memory_types(device, &info->heap_properties,
|
||||
info->heap_flags) & memory_requirements.memoryTypeBits;
|
||||
|
||||
|
@ -1198,55 +1192,6 @@ HRESULT vkd3d_allocate_heap_memory(struct d3d12_device *device, struct vkd3d_mem
|
|||
return vkd3d_allocate_memory(device, allocator, &alloc_info, allocation);
|
||||
}
|
||||
|
||||
HRESULT vkd3d_allocate_resource_memory(struct d3d12_device *device, struct vkd3d_memory_allocator *allocator,
|
||||
const struct vkd3d_allocate_resource_memory_info *info, struct vkd3d_memory_allocation *allocation)
|
||||
{
|
||||
const struct vkd3d_vk_device_procs *vk_procs = &device->vk_procs;
|
||||
struct vkd3d_allocate_memory_info alloc_info;
|
||||
VkMemoryDedicatedAllocateInfo dedicated_info;
|
||||
VkResult vr;
|
||||
HRESULT hr;
|
||||
|
||||
assert((!info->vk_image) != (!info->vk_buffer));
|
||||
|
||||
dedicated_info.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
|
||||
dedicated_info.pNext = NULL;
|
||||
dedicated_info.buffer = info->vk_buffer;
|
||||
dedicated_info.image = info->vk_image;
|
||||
|
||||
memset(&alloc_info, 0, sizeof(alloc_info));
|
||||
if (info->vk_image)
|
||||
VK_CALL(vkGetImageMemoryRequirements(device->vk_device, info->vk_image, &alloc_info.memory_requirements));
|
||||
else /* if (info->vk_buffer) */
|
||||
VK_CALL(vkGetBufferMemoryRequirements(device->vk_device, info->vk_buffer, &alloc_info.memory_requirements));
|
||||
alloc_info.heap_properties = info->heap_properties;
|
||||
alloc_info.heap_flags = info->heap_flags;
|
||||
alloc_info.host_ptr = info->host_ptr;
|
||||
alloc_info.vk_buffer = info->vk_buffer;
|
||||
alloc_info.pNext = &dedicated_info;
|
||||
|
||||
if (info->vk_buffer)
|
||||
alloc_info.flags = VKD3D_ALLOCATION_FLAG_DEDICATED_BUFFER;
|
||||
|
||||
if (FAILED(hr = vkd3d_allocate_memory(device, allocator, &alloc_info, allocation)))
|
||||
return hr;
|
||||
|
||||
/* Buffer memory binds are handled in vkd3d_allocate_memory,
|
||||
* so we only need to handle image memory here */
|
||||
if (info->vk_image)
|
||||
{
|
||||
if ((vr = VK_CALL(vkBindImageMemory(device->vk_device,
|
||||
info->vk_image, allocation->vk_memory, allocation->offset))) < 0)
|
||||
{
|
||||
ERR("Failed to bind image memory, vr %d.\n", vr);
|
||||
vkd3d_free_memory(device, allocator, allocation);
|
||||
return hresult_from_vk_result(vr);
|
||||
}
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT vkd3d_allocate_buffer_memory(struct d3d12_device *device, VkBuffer vk_buffer,
|
||||
VkMemoryPropertyFlags type_flags, VkDeviceMemory *vk_memory)
|
||||
{
|
||||
|
|
|
@ -460,9 +460,8 @@ HRESULT d3d12_fence_create(struct d3d12_device *device,
|
|||
enum vkd3d_allocation_flag
|
||||
{
|
||||
VKD3D_ALLOCATION_FLAG_GLOBAL_BUFFER = (1u << 0),
|
||||
VKD3D_ALLOCATION_FLAG_DEDICATED_BUFFER = (1u << 1),
|
||||
VKD3D_ALLOCATION_FLAG_GPU_ADDRESS = (1u << 2),
|
||||
VKD3D_ALLOCATION_FLAG_CPU_ACCESS = (1u << 3),
|
||||
VKD3D_ALLOCATION_FLAG_GPU_ADDRESS = (1u << 1),
|
||||
VKD3D_ALLOCATION_FLAG_CPU_ACCESS = (1u << 2),
|
||||
};
|
||||
|
||||
#define VKD3D_MEMORY_CHUNK_SIZE (VKD3D_VA_BLOCK_SIZE * 16)
|
||||
|
@ -474,7 +473,6 @@ struct vkd3d_allocate_memory_info
|
|||
VkMemoryRequirements memory_requirements;
|
||||
D3D12_HEAP_PROPERTIES heap_properties;
|
||||
D3D12_HEAP_FLAGS heap_flags;
|
||||
VkBuffer vk_buffer;
|
||||
void *host_ptr;
|
||||
const void *pNext;
|
||||
uint32_t flags;
|
||||
|
@ -590,8 +588,6 @@ HRESULT vkd3d_allocate_memory(struct d3d12_device *device, struct vkd3d_memory_a
|
|||
const struct vkd3d_allocate_memory_info *info, struct vkd3d_memory_allocation *allocation);
|
||||
HRESULT vkd3d_allocate_heap_memory(struct d3d12_device *device, struct vkd3d_memory_allocator *allocator,
|
||||
const struct vkd3d_allocate_heap_memory_info *info, struct vkd3d_memory_allocation *allocation);
|
||||
HRESULT vkd3d_allocate_resource_memory(struct d3d12_device *device, struct vkd3d_memory_allocator *allocator,
|
||||
const struct vkd3d_allocate_resource_memory_info *info, struct vkd3d_memory_allocation *allocation);
|
||||
|
||||
HRESULT vkd3d_memory_allocator_init(struct vkd3d_memory_allocator *allocator, struct d3d12_device *device);
|
||||
void vkd3d_memory_allocator_cleanup(struct vkd3d_memory_allocator *allocator, struct d3d12_device *device);
|
||||
|
|
Loading…
Reference in New Issue