mirror of
https://github.com/seekrs/MacroLibX.git
synced 2026-01-11 22:53:34 +00:00
fixing vulkan loader, moving vulkan pfns to RenderCore
This commit is contained in:
@@ -51,7 +51,7 @@ namespace mlx
|
||||
public:
|
||||
inline void Init(std::uint32_t size, VkBufferUsageFlags additional_flags = 0) { GPUBuffer::Init(BufferType::LowDynamic, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | additional_flags, {}); }
|
||||
void SetData(CPUBuffer data);
|
||||
inline void Bind(VkCommandBuffer cmd) const noexcept { VkDeviceSize offset = 0; vkCmdBindVertexBuffers(cmd, 0, 1, &m_buffer, &offset); }
|
||||
inline void Bind(VkCommandBuffer cmd) const noexcept { VkDeviceSize offset = 0; RenderCore::Get().vkCmdBindVertexBuffers(cmd, 0, 1, &m_buffer, &offset); }
|
||||
};
|
||||
|
||||
class IndexBuffer : public GPUBuffer
|
||||
@@ -59,7 +59,7 @@ namespace mlx
|
||||
public:
|
||||
inline void Init(std::uint32_t size, VkBufferUsageFlags additional_flags = 0) { GPUBuffer::Init(BufferType::LowDynamic, size, VK_BUFFER_USAGE_INDEX_BUFFER_BIT | additional_flags, {}); }
|
||||
void SetData(CPUBuffer data);
|
||||
inline void Bind(VkCommandBuffer cmd) const noexcept { vkCmdBindIndexBuffer(cmd, m_buffer, 0, VK_INDEX_TYPE_UINT32); }
|
||||
inline void Bind(VkCommandBuffer cmd) const noexcept { RenderCore::Get().vkCmdBindIndexBuffer(cmd, m_buffer, 0, VK_INDEX_TYPE_UINT32); }
|
||||
};
|
||||
|
||||
class UniformBuffer
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include <Renderer/Enums.h>
|
||||
#include <Renderer/RenderCore.h>
|
||||
#include <Renderer/Pipelines/Shader.h>
|
||||
#include <Renderer/Vulkan/VulkanPrototypes.h>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace mlx
|
||||
kvfBeginCommandBuffer(cmd, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT);
|
||||
TransitionLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, cmd);
|
||||
kvfCopyBufferToImage(cmd, Image::Get(), staging_buffer.Get(), staging_buffer.GetOffset(), VK_IMAGE_ASPECT_COLOR_BIT, { width, height, 1 });
|
||||
vkEndCommandBuffer(cmd);
|
||||
RenderCore::Get().vkEndCommandBuffer(cmd);
|
||||
VkFence fence = kvfCreateFence(RenderCore::Get().GetDevice());
|
||||
kvfSubmitSingleTimeCommandBuffer(RenderCore::Get().GetDevice(), cmd, KVF_GRAPHICS_QUEUE, fence);
|
||||
kvfDestroyFence(RenderCore::Get().GetDevice(), fence);
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef __MLX_PIPELINE__
|
||||
#define __MLX_PIPELINE__
|
||||
|
||||
#include <Renderer/Vulkan/VulkanPrototypes.h>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
class Pipeline
|
||||
@@ -10,7 +8,7 @@ namespace mlx
|
||||
public:
|
||||
Pipeline() = default;
|
||||
|
||||
inline virtual bool BindPipeline(VkCommandBuffer command_buffer) noexcept { vkCmdBindPipeline(command_buffer, GetPipelineBindPoint(), GetPipeline()); return true; }
|
||||
inline virtual bool BindPipeline(VkCommandBuffer command_buffer) noexcept { RenderCore::Get().vkCmdBindPipeline(command_buffer, GetPipelineBindPoint(), GetPipeline()); return true; }
|
||||
inline virtual void EndPipeline([[maybe_unused]] VkCommandBuffer command_buffer) noexcept {}
|
||||
|
||||
virtual VkPipeline GetPipeline() const = 0;
|
||||
|
||||
@@ -1,21 +1,17 @@
|
||||
#ifndef __MLX_RENDER_CORE__
|
||||
#define __MLX_RENDER_CORE__
|
||||
|
||||
#include <Renderer/Vulkan/VulkanPrototypes.h>
|
||||
#include <Renderer/Memory.h>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
constexpr const int MAX_FRAMES_IN_FLIGHT = 3;
|
||||
|
||||
class RenderCore : public Singleton<RenderCore>
|
||||
class RenderCore
|
||||
{
|
||||
friend class Singleton<RenderCore>;
|
||||
friend class Application;
|
||||
|
||||
public:
|
||||
void Init() noexcept;
|
||||
void Destroy() noexcept;
|
||||
|
||||
[[nodiscard]] MLX_FORCEINLINE VkInstance GetInstance() const noexcept { return m_instance; }
|
||||
[[nodiscard]] MLX_FORCEINLINE VkInstance& GetInstanceRef() noexcept { return m_instance; }
|
||||
[[nodiscard]] MLX_FORCEINLINE VkDevice GetDevice() const noexcept { return m_device; }
|
||||
@@ -24,11 +20,27 @@ namespace mlx
|
||||
|
||||
inline void WaitDeviceIdle() const noexcept { vkDeviceWaitIdle(m_device); }
|
||||
|
||||
private:
|
||||
RenderCore() = default;
|
||||
~RenderCore() = default;
|
||||
inline static bool IsInit() noexcept { return s_instance != nullptr; }
|
||||
inline static RenderCore& Get() noexcept { return *s_instance; }
|
||||
|
||||
#define MLX_VULKAN_GLOBAL_FUNCTION(fn) PFN_##fn fn = nullptr;
|
||||
#define MLX_VULKAN_INSTANCE_FUNCTION(fn) PFN_##fn fn = nullptr;
|
||||
#define MLX_VULKAN_DEVICE_FUNCTION(fn) PFN_##fn fn = nullptr;
|
||||
#include <Renderer/Vulkan/VulkanDefs.h>
|
||||
#undef MLX_VULKAN_GLOBAL_FUNCTION
|
||||
#undef MLX_VULKAN_INSTANCE_FUNCTION
|
||||
#undef MLX_VULKAN_DEVICE_FUNCTION
|
||||
|
||||
private:
|
||||
RenderCore();
|
||||
void LoadKVFGlobalVulkanFunctionPointers() const noexcept;
|
||||
void LoadKVFInstanceVulkanFunctionPointers() const noexcept;
|
||||
void LoadKVFDeviceVulkanFunctionPointers() const noexcept;
|
||||
~RenderCore();
|
||||
|
||||
private:
|
||||
static RenderCore* s_instance;
|
||||
|
||||
GPUAllocator m_allocator;
|
||||
VkInstance m_instance = VK_NULL_HANDLE;
|
||||
VkDevice m_device = VK_NULL_HANDLE;
|
||||
|
||||
121
runtime/Includes/Renderer/Vulkan/VulkanDefs.h
git.filemode.normal_file
121
runtime/Includes/Renderer/Vulkan/VulkanDefs.h
git.filemode.normal_file
@@ -0,0 +1,121 @@
|
||||
// No header guard
|
||||
|
||||
#ifdef VK_VERSION_1_0
|
||||
#ifdef MLX_VULKAN_GLOBAL_FUNCTION
|
||||
MLX_VULKAN_GLOBAL_FUNCTION(vkCreateInstance)
|
||||
MLX_VULKAN_GLOBAL_FUNCTION(vkEnumerateInstanceExtensionProperties)
|
||||
MLX_VULKAN_GLOBAL_FUNCTION(vkEnumerateInstanceLayerProperties)
|
||||
MLX_VULKAN_GLOBAL_FUNCTION(vkGetInstanceProcAddr)
|
||||
#endif
|
||||
|
||||
#ifdef MLX_VULKAN_INSTANCE_FUNCTION
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkCreateDevice)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkDestroyInstance)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkEnumerateDeviceExtensionProperties)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkEnumeratePhysicalDevices)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetDeviceProcAddr)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceFeatures)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceFormatProperties)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceImageFormatProperties)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceMemoryProperties)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceProperties)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceQueueFamilyProperties)
|
||||
#endif
|
||||
|
||||
#ifdef MLX_VULKAN_DEVICE_FUNCTION
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkAllocateCommandBuffers)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkAllocateDescriptorSets)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkAllocateMemory)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkBeginCommandBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkBindBufferMemory)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkBindImageMemory)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdBeginRenderPass)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdBindDescriptorSets)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdBindIndexBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdBindPipeline)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdBindVertexBuffers)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdClearAttachments)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdClearColorImage)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdClearDepthStencilImage)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdCopyBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdCopyBufferToImage)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdCopyImage)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdCopyImageToBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdDraw)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdDrawIndexed)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdEndRenderPass)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdPipelineBarrier)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdPushConstants)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdSetScissor)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCmdSetViewport)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateCommandPool)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateDescriptorPool)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateDescriptorSetLayout)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateFence)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateFramebuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateGraphicsPipelines)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateImage)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateImageView)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreatePipelineLayout)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateRenderPass)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateSampler)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateSemaphore)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateShaderModule)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyCommandPool)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyDescriptorPool)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyDescriptorSetLayout)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyDevice)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyFence)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyFramebuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyImage)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyImageView)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyPipeline)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyPipelineLayout)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyRenderPass)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroySampler)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroySemaphore)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroyShaderModule)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDeviceWaitIdle)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkEndCommandBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkFlushMappedMemoryRanges)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkFreeCommandBuffers)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkFreeMemory)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkGetBufferMemoryRequirements)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkGetDeviceMemoryCommitment)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkGetDeviceQueue)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkGetFenceStatus)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkGetImageMemoryRequirements)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkGetImageSubresourceLayout)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkInvalidateMappedMemoryRanges)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkMapMemory)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkQueueSubmit)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkQueueWaitIdle)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkResetCommandBuffer)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkResetDescriptorPool)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkResetEvent)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkResetFences)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkUnmapMemory)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkUpdateDescriptorSets)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkWaitForFences)
|
||||
#endif
|
||||
#endif
|
||||
#ifdef VK_KHR_swapchain
|
||||
#ifdef MLX_VULKAN_DEVICE_FUNCTION
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkAcquireNextImageKHR)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkCreateSwapchainKHR)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkDestroySwapchainKHR)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkGetSwapchainImagesKHR)
|
||||
MLX_VULKAN_DEVICE_FUNCTION(vkQueuePresentKHR)
|
||||
#endif
|
||||
#endif
|
||||
#ifdef VK_KHR_surface
|
||||
#ifdef MLX_VULKAN_INSTANCE_FUNCTION
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkDestroySurfaceKHR)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfaceCapabilitiesKHR)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfaceFormatsKHR)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfacePresentModesKHR)
|
||||
MLX_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfaceSupportKHR)
|
||||
#endif
|
||||
#endif
|
||||
@@ -1,170 +0,0 @@
|
||||
#ifndef __MLX_VK_PROTOTYPES__
|
||||
#define __MLX_VK_PROTOTYPES__
|
||||
|
||||
#if defined(VULKAN_H_) && !defined(VK_NO_PROTOTYPES)
|
||||
#error "define VK_NO_PROTOTYPES needed"
|
||||
#endif
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
#define VK_NO_PROTOTYPES
|
||||
#endif
|
||||
|
||||
#ifndef VULKAN_H_
|
||||
#include <vulkan/vulkan.h>
|
||||
#endif
|
||||
|
||||
#ifdef VK_VERSION_1_0
|
||||
extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
|
||||
extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
|
||||
extern PFN_vkAllocateMemory vkAllocateMemory;
|
||||
extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
|
||||
extern PFN_vkBindBufferMemory vkBindBufferMemory;
|
||||
extern PFN_vkBindImageMemory vkBindImageMemory;
|
||||
extern PFN_vkCmdBeginQuery vkCmdBeginQuery;
|
||||
extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
|
||||
extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
|
||||
extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
|
||||
extern PFN_vkCmdBindPipeline vkCmdBindPipeline;
|
||||
extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
|
||||
extern PFN_vkCmdBlitImage vkCmdBlitImage;
|
||||
extern PFN_vkCmdClearAttachments vkCmdClearAttachments;
|
||||
extern PFN_vkCmdClearColorImage vkCmdClearColorImage;
|
||||
extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
|
||||
extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
|
||||
extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
|
||||
extern PFN_vkCmdCopyImage vkCmdCopyImage;
|
||||
extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
|
||||
extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
|
||||
extern PFN_vkCmdDispatch vkCmdDispatch;
|
||||
extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
|
||||
extern PFN_vkCmdDraw vkCmdDraw;
|
||||
extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
|
||||
extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
|
||||
extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
|
||||
extern PFN_vkCmdEndQuery vkCmdEndQuery;
|
||||
extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
|
||||
extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
|
||||
extern PFN_vkCmdFillBuffer vkCmdFillBuffer;
|
||||
extern PFN_vkCmdNextSubpass vkCmdNextSubpass;
|
||||
extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
|
||||
extern PFN_vkCmdPushConstants vkCmdPushConstants;
|
||||
extern PFN_vkCmdResetEvent vkCmdResetEvent;
|
||||
extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
|
||||
extern PFN_vkCmdResolveImage vkCmdResolveImage;
|
||||
extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
|
||||
extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
|
||||
extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
|
||||
extern PFN_vkCmdSetEvent vkCmdSetEvent;
|
||||
extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
|
||||
extern PFN_vkCmdSetScissor vkCmdSetScissor;
|
||||
extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
|
||||
extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
|
||||
extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
|
||||
extern PFN_vkCmdSetViewport vkCmdSetViewport;
|
||||
extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
|
||||
extern PFN_vkCmdWaitEvents vkCmdWaitEvents;
|
||||
extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
|
||||
extern PFN_vkCreateBuffer vkCreateBuffer;
|
||||
extern PFN_vkCreateBufferView vkCreateBufferView;
|
||||
extern PFN_vkCreateCommandPool vkCreateCommandPool;
|
||||
extern PFN_vkCreateComputePipelines vkCreateComputePipelines;
|
||||
extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
|
||||
extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
|
||||
extern PFN_vkCreateDevice vkCreateDevice;
|
||||
extern PFN_vkCreateEvent vkCreateEvent;
|
||||
extern PFN_vkCreateFence vkCreateFence;
|
||||
extern PFN_vkCreateFramebuffer vkCreateFramebuffer;
|
||||
extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
|
||||
extern PFN_vkCreateImage vkCreateImage;
|
||||
extern PFN_vkCreateImageView vkCreateImageView;
|
||||
extern PFN_vkCreateInstance vkCreateInstance;
|
||||
extern PFN_vkCreatePipelineCache vkCreatePipelineCache;
|
||||
extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
|
||||
extern PFN_vkCreateQueryPool vkCreateQueryPool;
|
||||
extern PFN_vkCreateRenderPass vkCreateRenderPass;
|
||||
extern PFN_vkCreateSampler vkCreateSampler;
|
||||
extern PFN_vkCreateSemaphore vkCreateSemaphore;
|
||||
extern PFN_vkCreateShaderModule vkCreateShaderModule;
|
||||
extern PFN_vkDestroyBuffer vkDestroyBuffer;
|
||||
extern PFN_vkDestroyBufferView vkDestroyBufferView;
|
||||
extern PFN_vkDestroyCommandPool vkDestroyCommandPool;
|
||||
extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
|
||||
extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
|
||||
extern PFN_vkDestroyDevice vkDestroyDevice;
|
||||
extern PFN_vkDestroyEvent vkDestroyEvent;
|
||||
extern PFN_vkDestroyFence vkDestroyFence;
|
||||
extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
|
||||
extern PFN_vkDestroyImage vkDestroyImage;
|
||||
extern PFN_vkDestroyImageView vkDestroyImageView;
|
||||
extern PFN_vkDestroyInstance vkDestroyInstance;
|
||||
extern PFN_vkDestroyPipeline vkDestroyPipeline;
|
||||
extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
|
||||
extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
|
||||
extern PFN_vkDestroyQueryPool vkDestroyQueryPool;
|
||||
extern PFN_vkDestroyRenderPass vkDestroyRenderPass;
|
||||
extern PFN_vkDestroySampler vkDestroySampler;
|
||||
extern PFN_vkDestroySemaphore vkDestroySemaphore;
|
||||
extern PFN_vkDestroyShaderModule vkDestroyShaderModule;
|
||||
extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
|
||||
extern PFN_vkEndCommandBuffer vkEndCommandBuffer;
|
||||
extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
|
||||
extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
|
||||
extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
|
||||
extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
|
||||
extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
|
||||
extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
|
||||
extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
|
||||
extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
|
||||
extern PFN_vkFreeMemory vkFreeMemory;
|
||||
extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
|
||||
extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
|
||||
extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
|
||||
extern PFN_vkGetDeviceQueue vkGetDeviceQueue;
|
||||
extern PFN_vkGetEventStatus vkGetEventStatus;
|
||||
extern PFN_vkGetFenceStatus vkGetFenceStatus;
|
||||
extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
|
||||
extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
|
||||
extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
|
||||
extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
|
||||
extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
|
||||
extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
|
||||
extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
|
||||
extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
|
||||
extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
|
||||
extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
|
||||
extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
|
||||
extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
|
||||
extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
|
||||
extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
|
||||
extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
|
||||
extern PFN_vkMapMemory vkMapMemory;
|
||||
extern PFN_vkMergePipelineCaches vkMergePipelineCaches;
|
||||
extern PFN_vkQueueBindSparse vkQueueBindSparse;
|
||||
extern PFN_vkQueueSubmit vkQueueSubmit;
|
||||
extern PFN_vkQueueWaitIdle vkQueueWaitIdle;
|
||||
extern PFN_vkResetCommandBuffer vkResetCommandBuffer;
|
||||
extern PFN_vkResetCommandPool vkResetCommandPool;
|
||||
extern PFN_vkResetDescriptorPool vkResetDescriptorPool;
|
||||
extern PFN_vkResetEvent vkResetEvent;
|
||||
extern PFN_vkResetFences vkResetFences;
|
||||
extern PFN_vkSetEvent vkSetEvent;
|
||||
extern PFN_vkUnmapMemory vkUnmapMemory;
|
||||
extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
|
||||
extern PFN_vkWaitForFences vkWaitForFences;
|
||||
#endif
|
||||
#ifdef VK_KHR_swapchain
|
||||
extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
|
||||
extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
|
||||
extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
|
||||
extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
|
||||
extern PFN_vkQueuePresentKHR vkQueuePresentKHR;
|
||||
#endif
|
||||
#ifdef VK_KHR_surface
|
||||
extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
|
||||
extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
|
||||
extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
|
||||
extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
|
||||
extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user