mirror of
https://github.com/libretro/RetroArch
synced 2025-03-21 22:20:59 +00:00
(Vulkan) Add more funcptrs
This commit is contained in:
parent
0e60d20705
commit
4a1a623099
@ -894,7 +894,9 @@ struct vk_descriptor_manager vulkan_create_descriptor_manager(
|
||||
return manager;
|
||||
}
|
||||
|
||||
void vulkan_destroy_descriptor_manager(VkDevice device,
|
||||
void vulkan_destroy_descriptor_manager(
|
||||
struct vulkan_context_fp *vkcfp,
|
||||
VkDevice device,
|
||||
struct vk_descriptor_manager *manager)
|
||||
{
|
||||
struct vk_descriptor_pool *node = manager->head;
|
||||
@ -903,7 +905,7 @@ void vulkan_destroy_descriptor_manager(VkDevice device,
|
||||
{
|
||||
struct vk_descriptor_pool *next = node->next;
|
||||
|
||||
vkFreeDescriptorSets(device, node->pool,
|
||||
VKFUNC(vkFreeDescriptorSets)(device, node->pool,
|
||||
VULKAN_DESCRIPTOR_MANAGER_BLOCK_SETS, node->sets);
|
||||
vkDestroyDescriptorPool(device, node->pool, NULL);
|
||||
|
||||
@ -917,7 +919,7 @@ void vulkan_destroy_descriptor_manager(VkDevice device,
|
||||
static void vulkan_buffer_chain_step(struct vk_buffer_chain *chain)
|
||||
{
|
||||
chain->current = chain->current->next;
|
||||
chain->offset = 0;
|
||||
chain->offset = 0;
|
||||
}
|
||||
|
||||
static bool vulkan_buffer_chain_suballoc(struct vk_buffer_chain *chain,
|
||||
@ -953,7 +955,8 @@ static struct vk_buffer_node *vulkan_buffer_chain_alloc_node(
|
||||
return node;
|
||||
}
|
||||
|
||||
struct vk_buffer_chain vulkan_buffer_chain_init(VkDeviceSize block_size,
|
||||
struct vk_buffer_chain vulkan_buffer_chain_init(
|
||||
VkDeviceSize block_size,
|
||||
VkDeviceSize alignment,
|
||||
VkBufferUsageFlags usage)
|
||||
{
|
||||
@ -1161,6 +1164,7 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk,
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateDescriptorPool);
|
||||
|
||||
/* Descriptor sets */
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, FreeDescriptorSets);
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, UpdateDescriptorSets);
|
||||
|
||||
/* Descriptor Set Layout */
|
||||
|
@ -198,6 +198,7 @@ typedef struct vulkan_context
|
||||
PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
|
||||
|
||||
/* Descriptor sets */
|
||||
PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
|
||||
PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
|
||||
PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
|
||||
|
||||
@ -691,14 +692,18 @@ VkDescriptorSet vulkan_descriptor_manager_alloc(
|
||||
VkDevice device,
|
||||
struct vk_descriptor_manager *manager);
|
||||
|
||||
void vulkan_descriptor_manager_restart(struct vk_descriptor_manager *manager);
|
||||
void vulkan_descriptor_manager_restart(
|
||||
struct vk_descriptor_manager *manager);
|
||||
|
||||
struct vk_descriptor_manager vulkan_create_descriptor_manager(
|
||||
struct vulkan_context_fp *vkcfp,
|
||||
VkDevice device,
|
||||
const VkDescriptorPoolSize *sizes, unsigned num_sizes,
|
||||
VkDescriptorSetLayout set_layout);
|
||||
void vulkan_destroy_descriptor_manager(VkDevice device,
|
||||
|
||||
void vulkan_destroy_descriptor_manager(
|
||||
struct vulkan_context_fp *vkcfp,
|
||||
VkDevice device,
|
||||
struct vk_descriptor_manager *manager);
|
||||
|
||||
bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk,
|
||||
|
@ -480,7 +480,9 @@ static void vulkan_deinit_descriptor_pool(vk_t *vk)
|
||||
{
|
||||
unsigned i;
|
||||
for (i = 0; i < vk->num_swapchain_images; i++)
|
||||
vulkan_destroy_descriptor_manager(vk->context->device,
|
||||
vulkan_destroy_descriptor_manager(
|
||||
&vk->context->fp,
|
||||
vk->context->device,
|
||||
&vk->swapchain[i].descriptor_manager);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user