// vim:fileencoding=utf-8:foldmethod=marker

#ifndef PR_RHI_VK_ALIASES_H
#define PR_RHI_VK_ALIASES_H

#include "pr_rhi_vk.h"

#define prRhiCreateInstance                prRhiCreateInstanceVk
#define prRhiDestroyInstance               prRhiDestroyInstanceVk
#define prRhiGetPhysicalDevices            prRhiGetPhysicalDevicesVk
#define prRhiGetPhysicalDeviceName         prRhiGetPhysicalDeviceNameVk
#define prRhiGetPhysicalDeviceDriverInfo   prRhiGetPhysicalDeviceDriverInfoVk
#define prRhiGetPhysicalDeviceProperties   prRhiGetPhysicalDevicePropertiesVk
#define prRhiCreateSurfaceFromWindow       prRhiCreateSurfaceFromWindowVk
#define prRhiDestroySurface                prRhiDestroySurfaceVk
#define prRhiGetSurfaceCapabilities        prRhiGetSurfaceCapabilitiesVk
#define prRhiCreateDevice                  prRhiCreateDeviceVk
#define prRhiDestroyDevice                 prRhiDestroyDeviceVk
#define prRhiDeviceWaitIdle                prRhiDeviceWaitIdleVk
#define prRhiGetQueueFamilyIndex           prRhiGetQueueFamilyIndexVk
#define prRhiCreateSwapchain               prRhiCreateSwapchainVk
#define prRhiDestroySwapchain              prRhiDestroySwapchainVk
#define prRhiGetSwapchainImageCount        prRhiGetSwapchainImageCountVk
#define prRhiAcquireNextImage              prRhiAcquireNextImageVk
#define prRhiPresent                       prRhiPresentVk
#define prRhiRecreateSwapchain             prRhiRecreateSwapchainVk
#define prRhiGetSwapchainTexture           prRhiGetSwapchainTextureVk
#define prRhiGetSwapchainDepthTexture      prRhiGetSwapchainDepthTextureVk
#define prRhiGetSwapchainFormat            prRhiGetSwapchainFormatVk
#define prRhiCreateBuffer                  prRhiCreateBufferVk
#define prRhiDestroyBuffer                 prRhiDestroyBufferVk
#define prRhiBufferMap                     prRhiBufferMapVk
#define prRhiBufferUnmap                   prRhiBufferUnmapVk
#define prRhiGetBufferDeviceAddress        prRhiGetBufferDeviceAddressVk
#define prRhiCreateTexture                 prRhiCreateTextureVk
#define prRhiCreateTextureFromKtx          prRhiCreateTextureFromKtxVk
#define prRhiDestroyTexture                prRhiDestroyTextureVk
#define prRhiGetTextureSize                prRhiGetTextureSizeVk
#define prRhiCreateSampler                 prRhiCreateSamplerVk
#define prRhiDestroySampler                prRhiDestroySamplerVk
#define prRhiCreateShader                  prRhiCreateShaderVk
#define prRhiDestroyShader                 prRhiDestroyShaderVk
#define prRhiCreatePipelineLayout          prRhiCreatePipelineLayoutVk
#define prRhiDestroyPipelineLayout         prRhiDestroyPipelineLayoutVk
#define prRhiCreateGraphicsPipeline        prRhiCreateGraphicsPipelineVk
#define prRhiCreateComputePipeline         prRhiCreateComputePipelineVk
#define prRhiDestroyPipeline               prRhiDestroyPipelineVk
#define prRhiCreateDescriptorSetLayout     prRhiCreateDescriptorSetLayoutVk
#define prRhiDestroyDescriptorSetLayout    prRhiDestroyDescriptorSetLayoutVk
#define prRhiCreateDescriptorPool          prRhiCreateDescriptorPoolVk
#define prRhiDestroyDescriptorPool         prRhiDestroyDescriptorPoolVk
#define prRhiResetDescriptorPool           prRhiResetDescriptorPoolVk
#define prRhiAllocateDescriptorSet         prRhiAllocateDescriptorSetVk
#define prRhiFreeDescriptorSet             prRhiFreeDescriptorSetVk
#define prRhiUpdateDescriptorSet           prRhiUpdateDescriptorSetVk
#define prRhiCreateFence                   prRhiCreateFenceVk
#define prRhiDestroyFence                  prRhiDestroyFenceVk
#define prRhiWaitForFences                 prRhiWaitForFencesVk
#define prRhiResetFences                   prRhiResetFencesVk
#define prRhiCreateSemaphore               prRhiCreateSemaphoreVk
#define prRhiDestroySemaphore              prRhiDestroySemaphoreVk
#define prRhiCreateCommandPool             prRhiCreateCommandPoolVk
#define prRhiDestroyCommandPool            prRhiDestroyCommandPoolVk
#define prRhiAllocateCommandBuffers        prRhiAllocateCommandBuffersVk
#define prRhiFreeCommandBuffers            prRhiFreeCommandBuffersVk
#define prRhiBeginCommandBuffer            prRhiBeginCommandBufferVk
#define prRhiEndCommandBuffer              prRhiEndCommandBufferVk
#define prRhiResetCommandBuffer            prRhiResetCommandBufferVk
#define prRhiCmdPipelineBarrier            prRhiCmdPipelineBarrierVk
#define prRhiCmdBeginRendering             prRhiCmdBeginRenderingVk
#define prRhiCmdEndRendering               prRhiCmdEndRenderingVk
#define prRhiCmdSetViewport                prRhiCmdSetViewportVk
#define prRhiCmdSetScissor                 prRhiCmdSetScissorVk
#define prRhiCmdBindPipeline               prRhiCmdBindPipelineVk
#define prRhiCmdBindDescriptorSets         prRhiCmdBindDescriptorSetsVk
#define prRhiCmdPushConstants              prRhiCmdPushConstantsVk
#define prRhiCmdBindVertexBuffers          prRhiCmdBindVertexBuffersVk
#define prRhiCmdBindIndexBuffer            prRhiCmdBindIndexBufferVk
#define prRhiCmdDraw                       prRhiCmdDrawVk
#define prRhiCmdDrawIndexed                prRhiCmdDrawIndexedVk
#define prRhiCmdCopyBufferToImage          prRhiCmdCopyBufferToImageVk
#define prRhiQueueSubmit                   prRhiQueueSubmitVk

#endif
