--- /dev/null
+#include <msp/graphics/vulkancontext_platform.h>
+#include "vulkan.h"
+
+namespace Msp {
+namespace GL {
+
+VulkanFunctions::VulkanFunctions(const Graphics::VulkanContext &c):
+ context(c),
+ device(context.get_private().device),
+ physicalDevice(context.get_private().physical_device),
+ graphicsQueue(context.get_private().graphics_queue),
+ // 5
+ vkGetPhysicalDeviceProperties(context.get_function<PFN_vkGetPhysicalDeviceProperties>("vkGetPhysicalDeviceProperties")),
+ // 6
+ vkCreateCommandPool(context.get_function<PFN_vkCreateCommandPool>("vkCreateCommandPool")),
+ vkResetCommandPool(context.get_function<PFN_vkResetCommandPool>("vkResetCommandPool")),
+ vkDestroyCommandPool(context.get_function<PFN_vkDestroyCommandPool>("vkDestroyCommandPool")),
+ vkAllocateCommandBuffers(context.get_function<PFN_vkAllocateCommandBuffers>("vkAllocateCommandBuffers")),
+ vkBeginCommandBuffer(context.get_function<PFN_vkBeginCommandBuffer>("vkBeginCommandBuffer")),
+ vkEndCommandBuffer(context.get_function<PFN_vkEndCommandBuffer>("vkEndCommandBuffer")),
+ vkQueueSubmit(context.get_function<PFN_vkQueueSubmit>("vkQueueSubmit")),
+ // 7
+ vkCreateFence(context.get_function<PFN_vkCreateFence>("vkCreateFence")),
+ vkDestroyFence(context.get_function<PFN_vkDestroyFence>("vkDestroyFence")),
+ vkGetFenceStatus(context.get_function<PFN_vkGetFenceStatus>("vkGetFenceStatus")),
+ vkResetFences(context.get_function<PFN_vkResetFences>("vkResetFences")),
+ vkWaitForFences(context.get_function<PFN_vkWaitForFences>("vkWaitForFences")),
+ vkCreateSemaphore(context.get_function<PFN_vkCreateSemaphore>("vkCreateSemaphore")),
+ vkDestroySemaphore(context.get_function<PFN_vkDestroySemaphore>("vkDestroySemaphore")),
+ vkCmdPipelineBarrier(context.get_function<PFN_vkCmdPipelineBarrier>("vkCmdPipelineBarrier")),
+ vkQueueWaitIdle(context.get_function<PFN_vkQueueWaitIdle>("vkQueueWaitIdle")),
+ // 8
+ vkCreateRenderPass(context.get_function<PFN_vkCreateRenderPass>("vkCreateRenderPass")),
+ vkDestroyRenderPass(context.get_function<PFN_vkDestroyRenderPass>("vkDestroyRenderPass")),
+ vkCreateFramebuffer(context.get_function<PFN_vkCreateFramebuffer>("vkCreateFramebuffer")),
+ vkDestroyFramebuffer(context.get_function<PFN_vkDestroyFramebuffer>("vkDestroyFramebuffer")),
+ vkCmdBeginRenderPass(context.get_function<PFN_vkCmdBeginRenderPass>("vkCmdBeginRenderPass")),
+ vkCmdEndRenderPass(context.get_function<PFN_vkCmdEndRenderPass>("vkCmdEndRenderPass")),
+ // 9
+ vkCreateShaderModule(context.get_function<PFN_vkCreateShaderModule>("vkCreateShaderModule")),
+ vkDestroyShaderModule(context.get_function<PFN_vkDestroyShaderModule>("vkDestroyShaderModule")),
+ // 10
+ vkCreateGraphicsPipelines(context.get_function<PFN_vkCreateGraphicsPipelines>("vkCreateGraphicsPipelines")),
+ vkDestroyPipeline(context.get_function<PFN_vkDestroyPipeline>("vkDestroyPipeline")),
+ vkCmdBindPipeline(context.get_function<PFN_vkCmdBindPipeline>("vkCmdBindPipeline")),
+ // 11
+ vkGetPhysicalDeviceMemoryProperties(context.get_function<PFN_vkGetPhysicalDeviceMemoryProperties>("vkGetPhysicalDeviceMemoryProperties")),
+ vkAllocateMemory(context.get_function<PFN_vkAllocateMemory>("vkAllocateMemory")),
+ vkFreeMemory(context.get_function<PFN_vkFreeMemory>("vkFreeMemory")),
+ vkMapMemory(context.get_function<PFN_vkMapMemory>("vkMapMemory")),
+ vkUnmapMemory(context.get_function<PFN_vkUnmapMemory>("vkUnmapMemory")),
+ // 12
+ vkCreateBuffer(context.get_function<PFN_vkCreateBuffer>("vkCreateBuffer")),
+ vkDestroyBuffer(context.get_function<PFN_vkDestroyBuffer>("vkDestroyBuffer")),
+ vkCreateImageView(context.get_function<PFN_vkCreateImageView>("vkCreateImageView")),
+ vkDestroyImageView(context.get_function<PFN_vkDestroyImageView>("vkDestroyImageView")),
+ vkGetBufferMemoryRequirements(context.get_function<PFN_vkGetBufferMemoryRequirements>("vkGetBufferMemoryRequirements")),
+ vkBindBufferMemory(context.get_function<PFN_vkBindBufferMemory>("vkBindBufferMemory")),
+ // 14
+ vkCreateDescriptorSetLayout(context.get_function<PFN_vkCreateDescriptorSetLayout>("vkCreateDescriptorSetLayout")),
+ vkDestroyDescriptorSetLayout(context.get_function<PFN_vkDestroyDescriptorSetLayout>("vkDestroyDescriptorSetLayout")),
+ vkCreatePipelineLayout(context.get_function<PFN_vkCreatePipelineLayout>("vkCreatePipelineLayout")),
+ vkDestroyPipelineLayout(context.get_function<PFN_vkDestroyPipelineLayout>("vkDestroyPipelineLayout")),
+ vkCreateDescriptorPool(context.get_function<PFN_vkCreateDescriptorPool>("vkCreateDescriptorPool")),
+ vkDestroyDescriptorPool(context.get_function<PFN_vkDestroyDescriptorPool>("vkDestroyDescriptorPool")),
+ vkAllocateDescriptorSets(context.get_function<PFN_vkAllocateDescriptorSets>("vkAllocateDescriptorSets")),
+ vkUpdateDescriptorSets(context.get_function<PFN_vkUpdateDescriptorSets>("vkUpdateDescriptorSets")),
+ vkCmdBindDescriptorSets(context.get_function<PFN_vkCmdBindDescriptorSets>("vkCmdBindDescriptorSets")),
+ vkCmdPushConstants(context.get_function<PFN_vkCmdPushConstants>("vkCmdPushConstants")),
+ // 19
+ vkCmdCopyBuffer(context.get_function<PFN_vkCmdCopyBuffer>("vkCmdCopyBuffer")),
+ // 20
+ vkCmdBindIndexBuffer(context.get_function<PFN_vkCmdBindIndexBuffer>("vkCmdBindIndexBuffer")),
+ vkCmdDrawIndexed(context.get_function<PFN_vkCmdDrawIndexed>("vkCmdDrawIndexed")),
+ // 21
+ vkCmdBindVertexBuffers(context.get_function<PFN_vkCmdBindVertexBuffers>("vkCmdBindVertexBuffers")),
+ // 24
+ vkCmdSetViewport(context.get_function<PFN_vkCmdSetViewport>("vkCmdSetViewport")),
+ // 26
+ vkCmdSetScissor(context.get_function<PFN_vkCmdSetScissor>("vkCmdSetScissor")),
+ // 30
+ vkGetPhysicalDeviceSurfaceCapabilities(context.get_function<PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR>("vkGetPhysicalDeviceSurfaceCapabilitiesKHR")),
+ vkGetPhysicalDeviceSurfaceFormats(context.get_function<PFN_vkGetPhysicalDeviceSurfaceFormatsKHR>("vkGetPhysicalDeviceSurfaceFormatsKHR")),
+ vkGetPhysicalDeviceSurfacePresentModes(context.get_function<PFN_vkGetPhysicalDeviceSurfacePresentModesKHR>("vkGetPhysicalDeviceSurfacePresentModesKHR")),
+ vkCreateSwapchain(context.get_function<PFN_vkCreateSwapchainKHR>("vkCreateSwapchainKHR")),
+ vkDestroySwapchain(context.get_function<PFN_vkDestroySwapchainKHR>("vkDestroySwapchainKHR")),
+ vkGetSwapchainImages(context.get_function<PFN_vkGetSwapchainImagesKHR>("vkGetSwapchainImagesKHR")),
+ vkAcquireNextImage(context.get_function<PFN_vkAcquireNextImageKHR>("vkAcquireNextImageKHR")),
+ vkQueuePresent(context.get_function<PFN_vkQueuePresentKHR>("vkQueuePresentKHR")),
+ // 39
+ vkGetPhysicalDeviceFormatProperties(context.get_function<PFN_vkGetPhysicalDeviceFormatProperties>("vkGetPhysicalDeviceFormatProperties")),
+ // 45
+ vkSetDebugUtilsObjectName(context.get_function<PFN_vkSetDebugUtilsObjectNameEXT>("vkSetDebugUtilsObjectNameEXT"))
+{ }
+
+} // namespace GL
+} // namespace Msp