Go through funcptr for vkCmdCopyImage

This commit is contained in:
twinaphex 2016-02-29 06:52:08 +01:00
parent 01f5a7ad84
commit 4248e244a8
3 changed files with 6 additions and 3 deletions

View File

@ -446,7 +446,8 @@ struct vk_texture vulkan_create_texture(vk_t *vk,
submit_info.pCommandBuffers = &staging;
slock_lock(vk->context->queue_lock);
vkQueueSubmit(vk->context->queue, 1, &submit_info, VK_NULL_HANDLE);
vk->context->fp.vkQueueSubmit(vk->context->queue,
1, &submit_info, VK_NULL_HANDLE);
/* TODO: Very crude, but texture uploads only happen
* during init, so waiting for GPU to complete transfer
@ -1041,6 +1042,7 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk,
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateDevice);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, GetDeviceQueue);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, QueueWaitIdle);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, QueueSubmit);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, DestroySemaphore);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateSemaphore);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, DestroyFence);

View File

@ -144,6 +144,7 @@ typedef struct vulkan_context
PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
PFN_vkQueueWaitIdle vkQueueWaitIdle;
PFN_vkQueueSubmit vkQueueSubmit;
PFN_vkCmdCopyImage vkCmdCopyImage;
PFN_vkCmdSetScissor vkCmdSetScissor;
PFN_vkCmdSetViewport vkCmdSetViewport;

View File

@ -1298,7 +1298,7 @@ static void vulkan_readback(vk_t *vk)
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT);
vkCmdCopyImage(vk->cmd, vk->chain->backbuffer.image,
vk->context->fp.vkCmdCopyImage(vk->cmd, vk->chain->backbuffer.image,
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
staging->image,
VK_IMAGE_LAYOUT_GENERAL,
@ -1615,7 +1615,7 @@ static bool vulkan_frame(void *data, const void *frame,
retro_perf_start(&queue_submit);
slock_lock(vk->context->queue_lock);
vkQueueSubmit(vk->context->queue, 1,
vk->context->fp.vkQueueSubmit(vk->context->queue, 1,
&submit_info, vk->context->swapchain_fences[frame_index]);
slock_unlock(vk->context->queue_lock);
retro_perf_stop(&queue_submit);