Merge pull request #348 from billhollings/master
Align MoltenVK with Vulkan SDK 1.1.92
diff --git a/.gitignore b/.gitignore
index beed184..a213433 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,14 @@
# MoltenVK specific
Package/
+# MoltenVK Dependencies
+External/cereal
+External/glslang
+External/SPIRV-Cross
+External/Vulkan-Headers
+External/Vulkan-Tools
+External/VulkanSamples
+
# Mac OS X Finder
.DS_Store
@@ -14,14 +22,6 @@
build/
*.[oa]
-# Dependencies
-External/cereal
-External/glslang
-External/SPIRV-Cross
-External/Vulkan-Headers
-External/Vulkan-Tools
-External/VulkanSamples
-
# Other source repository archive directories (protects when importing)
.hg
.svn
diff --git a/Demos/LunarG-VulkanSamples/Hologram/HelpersDispatchTable.cpp b/Demos/LunarG-VulkanSamples/Hologram/HelpersDispatchTable.cpp
deleted file mode 100644
index 96357d3..0000000
--- a/Demos/LunarG-VulkanSamples/Hologram/HelpersDispatchTable.cpp
+++ /dev/null
@@ -1,525 +0,0 @@
-// This file is generated.
-#include "HelpersDispatchTable.h"
-
-namespace vk {
-
-PFN_vkCreateInstance CreateInstance;
-PFN_vkDestroyInstance DestroyInstance;
-PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
-PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
-PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
-PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
-PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
-PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
-PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
-PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
-PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
-PFN_vkCreateDevice CreateDevice;
-PFN_vkDestroyDevice DestroyDevice;
-PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
-PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
-PFN_vkEnumerateInstanceLayerProperties EnumerateInstanceLayerProperties;
-PFN_vkGetDeviceQueue GetDeviceQueue;
-PFN_vkQueueSubmit QueueSubmit;
-PFN_vkQueueWaitIdle QueueWaitIdle;
-PFN_vkDeviceWaitIdle DeviceWaitIdle;
-PFN_vkAllocateMemory AllocateMemory;
-PFN_vkFreeMemory FreeMemory;
-PFN_vkMapMemory MapMemory;
-PFN_vkUnmapMemory UnmapMemory;
-PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
-PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
-PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
-PFN_vkBindBufferMemory BindBufferMemory;
-PFN_vkBindImageMemory BindImageMemory;
-PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
-PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
-PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
-PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
-PFN_vkQueueBindSparse QueueBindSparse;
-PFN_vkCreateFence CreateFence;
-PFN_vkDestroyFence DestroyFence;
-PFN_vkResetFences ResetFences;
-PFN_vkGetFenceStatus GetFenceStatus;
-PFN_vkWaitForFences WaitForFences;
-PFN_vkCreateSemaphore CreateSemaphore;
-PFN_vkDestroySemaphore DestroySemaphore;
-PFN_vkCreateEvent CreateEvent;
-PFN_vkDestroyEvent DestroyEvent;
-PFN_vkGetEventStatus GetEventStatus;
-PFN_vkSetEvent SetEvent;
-PFN_vkResetEvent ResetEvent;
-PFN_vkCreateQueryPool CreateQueryPool;
-PFN_vkDestroyQueryPool DestroyQueryPool;
-PFN_vkGetQueryPoolResults GetQueryPoolResults;
-PFN_vkCreateBuffer CreateBuffer;
-PFN_vkDestroyBuffer DestroyBuffer;
-PFN_vkCreateBufferView CreateBufferView;
-PFN_vkDestroyBufferView DestroyBufferView;
-PFN_vkCreateImage CreateImage;
-PFN_vkDestroyImage DestroyImage;
-PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
-PFN_vkCreateImageView CreateImageView;
-PFN_vkDestroyImageView DestroyImageView;
-PFN_vkCreateShaderModule CreateShaderModule;
-PFN_vkDestroyShaderModule DestroyShaderModule;
-PFN_vkCreatePipelineCache CreatePipelineCache;
-PFN_vkDestroyPipelineCache DestroyPipelineCache;
-PFN_vkGetPipelineCacheData GetPipelineCacheData;
-PFN_vkMergePipelineCaches MergePipelineCaches;
-PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
-PFN_vkCreateComputePipelines CreateComputePipelines;
-PFN_vkDestroyPipeline DestroyPipeline;
-PFN_vkCreatePipelineLayout CreatePipelineLayout;
-PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
-PFN_vkCreateSampler CreateSampler;
-PFN_vkDestroySampler DestroySampler;
-PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
-PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
-PFN_vkCreateDescriptorPool CreateDescriptorPool;
-PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
-PFN_vkResetDescriptorPool ResetDescriptorPool;
-PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
-PFN_vkFreeDescriptorSets FreeDescriptorSets;
-PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
-PFN_vkCreateFramebuffer CreateFramebuffer;
-PFN_vkDestroyFramebuffer DestroyFramebuffer;
-PFN_vkCreateRenderPass CreateRenderPass;
-PFN_vkDestroyRenderPass DestroyRenderPass;
-PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
-PFN_vkCreateCommandPool CreateCommandPool;
-PFN_vkDestroyCommandPool DestroyCommandPool;
-PFN_vkResetCommandPool ResetCommandPool;
-PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
-PFN_vkFreeCommandBuffers FreeCommandBuffers;
-PFN_vkBeginCommandBuffer BeginCommandBuffer;
-PFN_vkEndCommandBuffer EndCommandBuffer;
-PFN_vkResetCommandBuffer ResetCommandBuffer;
-PFN_vkCmdBindPipeline CmdBindPipeline;
-PFN_vkCmdSetViewport CmdSetViewport;
-PFN_vkCmdSetScissor CmdSetScissor;
-PFN_vkCmdSetLineWidth CmdSetLineWidth;
-PFN_vkCmdSetDepthBias CmdSetDepthBias;
-PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
-PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
-PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
-PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
-PFN_vkCmdSetStencilReference CmdSetStencilReference;
-PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
-PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
-PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
-PFN_vkCmdDraw CmdDraw;
-PFN_vkCmdDrawIndexed CmdDrawIndexed;
-PFN_vkCmdDrawIndirect CmdDrawIndirect;
-PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
-PFN_vkCmdDispatch CmdDispatch;
-PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
-PFN_vkCmdCopyBuffer CmdCopyBuffer;
-PFN_vkCmdCopyImage CmdCopyImage;
-PFN_vkCmdBlitImage CmdBlitImage;
-PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
-PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
-PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
-PFN_vkCmdFillBuffer CmdFillBuffer;
-PFN_vkCmdClearColorImage CmdClearColorImage;
-PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
-PFN_vkCmdClearAttachments CmdClearAttachments;
-PFN_vkCmdResolveImage CmdResolveImage;
-PFN_vkCmdSetEvent CmdSetEvent;
-PFN_vkCmdResetEvent CmdResetEvent;
-PFN_vkCmdWaitEvents CmdWaitEvents;
-PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
-PFN_vkCmdBeginQuery CmdBeginQuery;
-PFN_vkCmdEndQuery CmdEndQuery;
-PFN_vkCmdResetQueryPool CmdResetQueryPool;
-PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
-PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
-PFN_vkCmdPushConstants CmdPushConstants;
-PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
-PFN_vkCmdNextSubpass CmdNextSubpass;
-PFN_vkCmdEndRenderPass CmdEndRenderPass;
-PFN_vkCmdExecuteCommands CmdExecuteCommands;
-PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
-PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
-PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
-PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
-PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
-PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
-PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
-PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
-PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
-PFN_vkQueuePresentKHR QueuePresentKHR;
-PFN_vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR;
-PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR;
-PFN_vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR;
-PFN_vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR;
-PFN_vkCreateDisplayModeKHR CreateDisplayModeKHR;
-PFN_vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR;
-PFN_vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR;
-PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR;
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR;
-PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR;
-#endif
-#ifdef VK_USE_PLATFORM_XCB_KHR
-PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR;
-PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR;
-#endif
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR;
-PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR;
-#endif
-#ifdef VK_USE_PLATFORM_MIR_KHR
-PFN_vkCreateMirSurfaceKHR CreateMirSurfaceKHR;
-PFN_vkGetPhysicalDeviceMirPresentationSupportKHR GetPhysicalDeviceMirPresentationSupportKHR;
-#endif
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
-#endif
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR;
-PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR;
-#endif
-PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT;
-PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT;
-PFN_vkDebugReportMessageEXT DebugReportMessageEXT;
-
-void init_dispatch_table_top(PFN_vkGetInstanceProcAddr get_instance_proc_addr)
-{
- GetInstanceProcAddr = get_instance_proc_addr;
-
- CreateInstance = reinterpret_cast<PFN_vkCreateInstance>(GetInstanceProcAddr(VK_NULL_HANDLE, "vkCreateInstance"));
- EnumerateInstanceExtensionProperties = reinterpret_cast<PFN_vkEnumerateInstanceExtensionProperties>(GetInstanceProcAddr(VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties"));
- EnumerateInstanceLayerProperties = reinterpret_cast<PFN_vkEnumerateInstanceLayerProperties>(GetInstanceProcAddr(VK_NULL_HANDLE, "vkEnumerateInstanceLayerProperties"));
-}
-
-void init_dispatch_table_middle(VkInstance instance, bool include_bottom)
-{
- GetInstanceProcAddr = reinterpret_cast<PFN_vkGetInstanceProcAddr>(GetInstanceProcAddr(instance, "vkGetInstanceProcAddr"));
-
- DestroyInstance = reinterpret_cast<PFN_vkDestroyInstance>(GetInstanceProcAddr(instance, "vkDestroyInstance"));
- EnumeratePhysicalDevices = reinterpret_cast<PFN_vkEnumeratePhysicalDevices>(GetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices"));
- GetPhysicalDeviceFeatures = reinterpret_cast<PFN_vkGetPhysicalDeviceFeatures>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures"));
- GetPhysicalDeviceFormatProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceFormatProperties>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties"));
- GetPhysicalDeviceImageFormatProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceImageFormatProperties>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties"));
- GetPhysicalDeviceProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceProperties>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties"));
- GetPhysicalDeviceQueueFamilyProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceQueueFamilyProperties>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties"));
- GetPhysicalDeviceMemoryProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceMemoryProperties>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties"));
- CreateDevice = reinterpret_cast<PFN_vkCreateDevice>(GetInstanceProcAddr(instance, "vkCreateDevice"));
- EnumerateDeviceExtensionProperties = reinterpret_cast<PFN_vkEnumerateDeviceExtensionProperties>(GetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties"));
- GetPhysicalDeviceSparseImageFormatProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceSparseImageFormatProperties>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties"));
- DestroySurfaceKHR = reinterpret_cast<PFN_vkDestroySurfaceKHR>(GetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
- GetPhysicalDeviceSurfaceSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR"));
- GetPhysicalDeviceSurfaceCapabilitiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"));
- GetPhysicalDeviceSurfaceFormatsKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceFormatsKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR"));
- GetPhysicalDeviceSurfacePresentModesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfacePresentModesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR"));
- GetPhysicalDeviceDisplayPropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceDisplayPropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR"));
- GetPhysicalDeviceDisplayPlanePropertiesKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"));
- GetDisplayPlaneSupportedDisplaysKHR = reinterpret_cast<PFN_vkGetDisplayPlaneSupportedDisplaysKHR>(GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR"));
- GetDisplayModePropertiesKHR = reinterpret_cast<PFN_vkGetDisplayModePropertiesKHR>(GetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR"));
- CreateDisplayModeKHR = reinterpret_cast<PFN_vkCreateDisplayModeKHR>(GetInstanceProcAddr(instance, "vkCreateDisplayModeKHR"));
- GetDisplayPlaneCapabilitiesKHR = reinterpret_cast<PFN_vkGetDisplayPlaneCapabilitiesKHR>(GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR"));
- CreateDisplayPlaneSurfaceKHR = reinterpret_cast<PFN_vkCreateDisplayPlaneSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR"));
-#ifdef VK_USE_PLATFORM_XLIB_KHR
- CreateXlibSurfaceKHR = reinterpret_cast<PFN_vkCreateXlibSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateXlibSurfaceKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_XLIB_KHR
- GetPhysicalDeviceXlibPresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_XCB_KHR
- CreateXcbSurfaceKHR = reinterpret_cast<PFN_vkCreateXcbSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_XCB_KHR
- GetPhysicalDeviceXcbPresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
- CreateWaylandSurfaceKHR = reinterpret_cast<PFN_vkCreateWaylandSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
- GetPhysicalDeviceWaylandPresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_MIR_KHR
- CreateMirSurfaceKHR = reinterpret_cast<PFN_vkCreateMirSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateMirSurfaceKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_MIR_KHR
- GetPhysicalDeviceMirPresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceMirPresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMirPresentationSupportKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
- CreateAndroidSurfaceKHR = reinterpret_cast<PFN_vkCreateAndroidSurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_WIN32_KHR
- CreateWin32SurfaceKHR = reinterpret_cast<PFN_vkCreateWin32SurfaceKHR>(GetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR"));
-#endif
-#ifdef VK_USE_PLATFORM_WIN32_KHR
- GetPhysicalDeviceWin32PresentationSupportKHR = reinterpret_cast<PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR>(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR"));
-#endif
- CreateDebugReportCallbackEXT = reinterpret_cast<PFN_vkCreateDebugReportCallbackEXT>(GetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT"));
- DestroyDebugReportCallbackEXT = reinterpret_cast<PFN_vkDestroyDebugReportCallbackEXT>(GetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT"));
- DebugReportMessageEXT = reinterpret_cast<PFN_vkDebugReportMessageEXT>(GetInstanceProcAddr(instance, "vkDebugReportMessageEXT"));
-
- if (!include_bottom)
- return;
-
- GetDeviceProcAddr = reinterpret_cast<PFN_vkGetDeviceProcAddr>(GetInstanceProcAddr(instance, "vkGetDeviceProcAddr"));
- DestroyDevice = reinterpret_cast<PFN_vkDestroyDevice>(GetInstanceProcAddr(instance, "vkDestroyDevice"));
- GetDeviceQueue = reinterpret_cast<PFN_vkGetDeviceQueue>(GetInstanceProcAddr(instance, "vkGetDeviceQueue"));
- QueueSubmit = reinterpret_cast<PFN_vkQueueSubmit>(GetInstanceProcAddr(instance, "vkQueueSubmit"));
- QueueWaitIdle = reinterpret_cast<PFN_vkQueueWaitIdle>(GetInstanceProcAddr(instance, "vkQueueWaitIdle"));
- DeviceWaitIdle = reinterpret_cast<PFN_vkDeviceWaitIdle>(GetInstanceProcAddr(instance, "vkDeviceWaitIdle"));
- AllocateMemory = reinterpret_cast<PFN_vkAllocateMemory>(GetInstanceProcAddr(instance, "vkAllocateMemory"));
- FreeMemory = reinterpret_cast<PFN_vkFreeMemory>(GetInstanceProcAddr(instance, "vkFreeMemory"));
- MapMemory = reinterpret_cast<PFN_vkMapMemory>(GetInstanceProcAddr(instance, "vkMapMemory"));
- UnmapMemory = reinterpret_cast<PFN_vkUnmapMemory>(GetInstanceProcAddr(instance, "vkUnmapMemory"));
- FlushMappedMemoryRanges = reinterpret_cast<PFN_vkFlushMappedMemoryRanges>(GetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges"));
- InvalidateMappedMemoryRanges = reinterpret_cast<PFN_vkInvalidateMappedMemoryRanges>(GetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges"));
- GetDeviceMemoryCommitment = reinterpret_cast<PFN_vkGetDeviceMemoryCommitment>(GetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment"));
- BindBufferMemory = reinterpret_cast<PFN_vkBindBufferMemory>(GetInstanceProcAddr(instance, "vkBindBufferMemory"));
- BindImageMemory = reinterpret_cast<PFN_vkBindImageMemory>(GetInstanceProcAddr(instance, "vkBindImageMemory"));
- GetBufferMemoryRequirements = reinterpret_cast<PFN_vkGetBufferMemoryRequirements>(GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements"));
- GetImageMemoryRequirements = reinterpret_cast<PFN_vkGetImageMemoryRequirements>(GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements"));
- GetImageSparseMemoryRequirements = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements>(GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements"));
- QueueBindSparse = reinterpret_cast<PFN_vkQueueBindSparse>(GetInstanceProcAddr(instance, "vkQueueBindSparse"));
- CreateFence = reinterpret_cast<PFN_vkCreateFence>(GetInstanceProcAddr(instance, "vkCreateFence"));
- DestroyFence = reinterpret_cast<PFN_vkDestroyFence>(GetInstanceProcAddr(instance, "vkDestroyFence"));
- ResetFences = reinterpret_cast<PFN_vkResetFences>(GetInstanceProcAddr(instance, "vkResetFences"));
- GetFenceStatus = reinterpret_cast<PFN_vkGetFenceStatus>(GetInstanceProcAddr(instance, "vkGetFenceStatus"));
- WaitForFences = reinterpret_cast<PFN_vkWaitForFences>(GetInstanceProcAddr(instance, "vkWaitForFences"));
- CreateSemaphore = reinterpret_cast<PFN_vkCreateSemaphore>(GetInstanceProcAddr(instance, "vkCreateSemaphore"));
- DestroySemaphore = reinterpret_cast<PFN_vkDestroySemaphore>(GetInstanceProcAddr(instance, "vkDestroySemaphore"));
- CreateEvent = reinterpret_cast<PFN_vkCreateEvent>(GetInstanceProcAddr(instance, "vkCreateEvent"));
- DestroyEvent = reinterpret_cast<PFN_vkDestroyEvent>(GetInstanceProcAddr(instance, "vkDestroyEvent"));
- GetEventStatus = reinterpret_cast<PFN_vkGetEventStatus>(GetInstanceProcAddr(instance, "vkGetEventStatus"));
- SetEvent = reinterpret_cast<PFN_vkSetEvent>(GetInstanceProcAddr(instance, "vkSetEvent"));
- ResetEvent = reinterpret_cast<PFN_vkResetEvent>(GetInstanceProcAddr(instance, "vkResetEvent"));
- CreateQueryPool = reinterpret_cast<PFN_vkCreateQueryPool>(GetInstanceProcAddr(instance, "vkCreateQueryPool"));
- DestroyQueryPool = reinterpret_cast<PFN_vkDestroyQueryPool>(GetInstanceProcAddr(instance, "vkDestroyQueryPool"));
- GetQueryPoolResults = reinterpret_cast<PFN_vkGetQueryPoolResults>(GetInstanceProcAddr(instance, "vkGetQueryPoolResults"));
- CreateBuffer = reinterpret_cast<PFN_vkCreateBuffer>(GetInstanceProcAddr(instance, "vkCreateBuffer"));
- DestroyBuffer = reinterpret_cast<PFN_vkDestroyBuffer>(GetInstanceProcAddr(instance, "vkDestroyBuffer"));
- CreateBufferView = reinterpret_cast<PFN_vkCreateBufferView>(GetInstanceProcAddr(instance, "vkCreateBufferView"));
- DestroyBufferView = reinterpret_cast<PFN_vkDestroyBufferView>(GetInstanceProcAddr(instance, "vkDestroyBufferView"));
- CreateImage = reinterpret_cast<PFN_vkCreateImage>(GetInstanceProcAddr(instance, "vkCreateImage"));
- DestroyImage = reinterpret_cast<PFN_vkDestroyImage>(GetInstanceProcAddr(instance, "vkDestroyImage"));
- GetImageSubresourceLayout = reinterpret_cast<PFN_vkGetImageSubresourceLayout>(GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout"));
- CreateImageView = reinterpret_cast<PFN_vkCreateImageView>(GetInstanceProcAddr(instance, "vkCreateImageView"));
- DestroyImageView = reinterpret_cast<PFN_vkDestroyImageView>(GetInstanceProcAddr(instance, "vkDestroyImageView"));
- CreateShaderModule = reinterpret_cast<PFN_vkCreateShaderModule>(GetInstanceProcAddr(instance, "vkCreateShaderModule"));
- DestroyShaderModule = reinterpret_cast<PFN_vkDestroyShaderModule>(GetInstanceProcAddr(instance, "vkDestroyShaderModule"));
- CreatePipelineCache = reinterpret_cast<PFN_vkCreatePipelineCache>(GetInstanceProcAddr(instance, "vkCreatePipelineCache"));
- DestroyPipelineCache = reinterpret_cast<PFN_vkDestroyPipelineCache>(GetInstanceProcAddr(instance, "vkDestroyPipelineCache"));
- GetPipelineCacheData = reinterpret_cast<PFN_vkGetPipelineCacheData>(GetInstanceProcAddr(instance, "vkGetPipelineCacheData"));
- MergePipelineCaches = reinterpret_cast<PFN_vkMergePipelineCaches>(GetInstanceProcAddr(instance, "vkMergePipelineCaches"));
- CreateGraphicsPipelines = reinterpret_cast<PFN_vkCreateGraphicsPipelines>(GetInstanceProcAddr(instance, "vkCreateGraphicsPipelines"));
- CreateComputePipelines = reinterpret_cast<PFN_vkCreateComputePipelines>(GetInstanceProcAddr(instance, "vkCreateComputePipelines"));
- DestroyPipeline = reinterpret_cast<PFN_vkDestroyPipeline>(GetInstanceProcAddr(instance, "vkDestroyPipeline"));
- CreatePipelineLayout = reinterpret_cast<PFN_vkCreatePipelineLayout>(GetInstanceProcAddr(instance, "vkCreatePipelineLayout"));
- DestroyPipelineLayout = reinterpret_cast<PFN_vkDestroyPipelineLayout>(GetInstanceProcAddr(instance, "vkDestroyPipelineLayout"));
- CreateSampler = reinterpret_cast<PFN_vkCreateSampler>(GetInstanceProcAddr(instance, "vkCreateSampler"));
- DestroySampler = reinterpret_cast<PFN_vkDestroySampler>(GetInstanceProcAddr(instance, "vkDestroySampler"));
- CreateDescriptorSetLayout = reinterpret_cast<PFN_vkCreateDescriptorSetLayout>(GetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout"));
- DestroyDescriptorSetLayout = reinterpret_cast<PFN_vkDestroyDescriptorSetLayout>(GetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout"));
- CreateDescriptorPool = reinterpret_cast<PFN_vkCreateDescriptorPool>(GetInstanceProcAddr(instance, "vkCreateDescriptorPool"));
- DestroyDescriptorPool = reinterpret_cast<PFN_vkDestroyDescriptorPool>(GetInstanceProcAddr(instance, "vkDestroyDescriptorPool"));
- ResetDescriptorPool = reinterpret_cast<PFN_vkResetDescriptorPool>(GetInstanceProcAddr(instance, "vkResetDescriptorPool"));
- AllocateDescriptorSets = reinterpret_cast<PFN_vkAllocateDescriptorSets>(GetInstanceProcAddr(instance, "vkAllocateDescriptorSets"));
- FreeDescriptorSets = reinterpret_cast<PFN_vkFreeDescriptorSets>(GetInstanceProcAddr(instance, "vkFreeDescriptorSets"));
- UpdateDescriptorSets = reinterpret_cast<PFN_vkUpdateDescriptorSets>(GetInstanceProcAddr(instance, "vkUpdateDescriptorSets"));
- CreateFramebuffer = reinterpret_cast<PFN_vkCreateFramebuffer>(GetInstanceProcAddr(instance, "vkCreateFramebuffer"));
- DestroyFramebuffer = reinterpret_cast<PFN_vkDestroyFramebuffer>(GetInstanceProcAddr(instance, "vkDestroyFramebuffer"));
- CreateRenderPass = reinterpret_cast<PFN_vkCreateRenderPass>(GetInstanceProcAddr(instance, "vkCreateRenderPass"));
- DestroyRenderPass = reinterpret_cast<PFN_vkDestroyRenderPass>(GetInstanceProcAddr(instance, "vkDestroyRenderPass"));
- GetRenderAreaGranularity = reinterpret_cast<PFN_vkGetRenderAreaGranularity>(GetInstanceProcAddr(instance, "vkGetRenderAreaGranularity"));
- CreateCommandPool = reinterpret_cast<PFN_vkCreateCommandPool>(GetInstanceProcAddr(instance, "vkCreateCommandPool"));
- DestroyCommandPool = reinterpret_cast<PFN_vkDestroyCommandPool>(GetInstanceProcAddr(instance, "vkDestroyCommandPool"));
- ResetCommandPool = reinterpret_cast<PFN_vkResetCommandPool>(GetInstanceProcAddr(instance, "vkResetCommandPool"));
- AllocateCommandBuffers = reinterpret_cast<PFN_vkAllocateCommandBuffers>(GetInstanceProcAddr(instance, "vkAllocateCommandBuffers"));
- FreeCommandBuffers = reinterpret_cast<PFN_vkFreeCommandBuffers>(GetInstanceProcAddr(instance, "vkFreeCommandBuffers"));
- BeginCommandBuffer = reinterpret_cast<PFN_vkBeginCommandBuffer>(GetInstanceProcAddr(instance, "vkBeginCommandBuffer"));
- EndCommandBuffer = reinterpret_cast<PFN_vkEndCommandBuffer>(GetInstanceProcAddr(instance, "vkEndCommandBuffer"));
- ResetCommandBuffer = reinterpret_cast<PFN_vkResetCommandBuffer>(GetInstanceProcAddr(instance, "vkResetCommandBuffer"));
- CmdBindPipeline = reinterpret_cast<PFN_vkCmdBindPipeline>(GetInstanceProcAddr(instance, "vkCmdBindPipeline"));
- CmdSetViewport = reinterpret_cast<PFN_vkCmdSetViewport>(GetInstanceProcAddr(instance, "vkCmdSetViewport"));
- CmdSetScissor = reinterpret_cast<PFN_vkCmdSetScissor>(GetInstanceProcAddr(instance, "vkCmdSetScissor"));
- CmdSetLineWidth = reinterpret_cast<PFN_vkCmdSetLineWidth>(GetInstanceProcAddr(instance, "vkCmdSetLineWidth"));
- CmdSetDepthBias = reinterpret_cast<PFN_vkCmdSetDepthBias>(GetInstanceProcAddr(instance, "vkCmdSetDepthBias"));
- CmdSetBlendConstants = reinterpret_cast<PFN_vkCmdSetBlendConstants>(GetInstanceProcAddr(instance, "vkCmdSetBlendConstants"));
- CmdSetDepthBounds = reinterpret_cast<PFN_vkCmdSetDepthBounds>(GetInstanceProcAddr(instance, "vkCmdSetDepthBounds"));
- CmdSetStencilCompareMask = reinterpret_cast<PFN_vkCmdSetStencilCompareMask>(GetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask"));
- CmdSetStencilWriteMask = reinterpret_cast<PFN_vkCmdSetStencilWriteMask>(GetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask"));
- CmdSetStencilReference = reinterpret_cast<PFN_vkCmdSetStencilReference>(GetInstanceProcAddr(instance, "vkCmdSetStencilReference"));
- CmdBindDescriptorSets = reinterpret_cast<PFN_vkCmdBindDescriptorSets>(GetInstanceProcAddr(instance, "vkCmdBindDescriptorSets"));
- CmdBindIndexBuffer = reinterpret_cast<PFN_vkCmdBindIndexBuffer>(GetInstanceProcAddr(instance, "vkCmdBindIndexBuffer"));
- CmdBindVertexBuffers = reinterpret_cast<PFN_vkCmdBindVertexBuffers>(GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers"));
- CmdDraw = reinterpret_cast<PFN_vkCmdDraw>(GetInstanceProcAddr(instance, "vkCmdDraw"));
- CmdDrawIndexed = reinterpret_cast<PFN_vkCmdDrawIndexed>(GetInstanceProcAddr(instance, "vkCmdDrawIndexed"));
- CmdDrawIndirect = reinterpret_cast<PFN_vkCmdDrawIndirect>(GetInstanceProcAddr(instance, "vkCmdDrawIndirect"));
- CmdDrawIndexedIndirect = reinterpret_cast<PFN_vkCmdDrawIndexedIndirect>(GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect"));
- CmdDispatch = reinterpret_cast<PFN_vkCmdDispatch>(GetInstanceProcAddr(instance, "vkCmdDispatch"));
- CmdDispatchIndirect = reinterpret_cast<PFN_vkCmdDispatchIndirect>(GetInstanceProcAddr(instance, "vkCmdDispatchIndirect"));
- CmdCopyBuffer = reinterpret_cast<PFN_vkCmdCopyBuffer>(GetInstanceProcAddr(instance, "vkCmdCopyBuffer"));
- CmdCopyImage = reinterpret_cast<PFN_vkCmdCopyImage>(GetInstanceProcAddr(instance, "vkCmdCopyImage"));
- CmdBlitImage = reinterpret_cast<PFN_vkCmdBlitImage>(GetInstanceProcAddr(instance, "vkCmdBlitImage"));
- CmdCopyBufferToImage = reinterpret_cast<PFN_vkCmdCopyBufferToImage>(GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage"));
- CmdCopyImageToBuffer = reinterpret_cast<PFN_vkCmdCopyImageToBuffer>(GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer"));
- CmdUpdateBuffer = reinterpret_cast<PFN_vkCmdUpdateBuffer>(GetInstanceProcAddr(instance, "vkCmdUpdateBuffer"));
- CmdFillBuffer = reinterpret_cast<PFN_vkCmdFillBuffer>(GetInstanceProcAddr(instance, "vkCmdFillBuffer"));
- CmdClearColorImage = reinterpret_cast<PFN_vkCmdClearColorImage>(GetInstanceProcAddr(instance, "vkCmdClearColorImage"));
- CmdClearDepthStencilImage = reinterpret_cast<PFN_vkCmdClearDepthStencilImage>(GetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage"));
- CmdClearAttachments = reinterpret_cast<PFN_vkCmdClearAttachments>(GetInstanceProcAddr(instance, "vkCmdClearAttachments"));
- CmdResolveImage = reinterpret_cast<PFN_vkCmdResolveImage>(GetInstanceProcAddr(instance, "vkCmdResolveImage"));
- CmdSetEvent = reinterpret_cast<PFN_vkCmdSetEvent>(GetInstanceProcAddr(instance, "vkCmdSetEvent"));
- CmdResetEvent = reinterpret_cast<PFN_vkCmdResetEvent>(GetInstanceProcAddr(instance, "vkCmdResetEvent"));
- CmdWaitEvents = reinterpret_cast<PFN_vkCmdWaitEvents>(GetInstanceProcAddr(instance, "vkCmdWaitEvents"));
- CmdPipelineBarrier = reinterpret_cast<PFN_vkCmdPipelineBarrier>(GetInstanceProcAddr(instance, "vkCmdPipelineBarrier"));
- CmdBeginQuery = reinterpret_cast<PFN_vkCmdBeginQuery>(GetInstanceProcAddr(instance, "vkCmdBeginQuery"));
- CmdEndQuery = reinterpret_cast<PFN_vkCmdEndQuery>(GetInstanceProcAddr(instance, "vkCmdEndQuery"));
- CmdResetQueryPool = reinterpret_cast<PFN_vkCmdResetQueryPool>(GetInstanceProcAddr(instance, "vkCmdResetQueryPool"));
- CmdWriteTimestamp = reinterpret_cast<PFN_vkCmdWriteTimestamp>(GetInstanceProcAddr(instance, "vkCmdWriteTimestamp"));
- CmdCopyQueryPoolResults = reinterpret_cast<PFN_vkCmdCopyQueryPoolResults>(GetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults"));
- CmdPushConstants = reinterpret_cast<PFN_vkCmdPushConstants>(GetInstanceProcAddr(instance, "vkCmdPushConstants"));
- CmdBeginRenderPass = reinterpret_cast<PFN_vkCmdBeginRenderPass>(GetInstanceProcAddr(instance, "vkCmdBeginRenderPass"));
- CmdNextSubpass = reinterpret_cast<PFN_vkCmdNextSubpass>(GetInstanceProcAddr(instance, "vkCmdNextSubpass"));
- CmdEndRenderPass = reinterpret_cast<PFN_vkCmdEndRenderPass>(GetInstanceProcAddr(instance, "vkCmdEndRenderPass"));
- CmdExecuteCommands = reinterpret_cast<PFN_vkCmdExecuteCommands>(GetInstanceProcAddr(instance, "vkCmdExecuteCommands"));
- CreateSwapchainKHR = reinterpret_cast<PFN_vkCreateSwapchainKHR>(GetInstanceProcAddr(instance, "vkCreateSwapchainKHR"));
- DestroySwapchainKHR = reinterpret_cast<PFN_vkDestroySwapchainKHR>(GetInstanceProcAddr(instance, "vkDestroySwapchainKHR"));
- GetSwapchainImagesKHR = reinterpret_cast<PFN_vkGetSwapchainImagesKHR>(GetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR"));
- AcquireNextImageKHR = reinterpret_cast<PFN_vkAcquireNextImageKHR>(GetInstanceProcAddr(instance, "vkAcquireNextImageKHR"));
- QueuePresentKHR = reinterpret_cast<PFN_vkQueuePresentKHR>(GetInstanceProcAddr(instance, "vkQueuePresentKHR"));
- CreateSharedSwapchainsKHR = reinterpret_cast<PFN_vkCreateSharedSwapchainsKHR>(GetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR"));
-}
-
-void init_dispatch_table_bottom(VkInstance instance, VkDevice dev)
-{
- GetDeviceProcAddr = reinterpret_cast<PFN_vkGetDeviceProcAddr>(GetInstanceProcAddr(instance, "vkGetDeviceProcAddr"));
- GetDeviceProcAddr = reinterpret_cast<PFN_vkGetDeviceProcAddr>(GetDeviceProcAddr(dev, "vkGetDeviceProcAddr"));
-
- DestroyDevice = reinterpret_cast<PFN_vkDestroyDevice>(GetDeviceProcAddr(dev, "vkDestroyDevice"));
- GetDeviceQueue = reinterpret_cast<PFN_vkGetDeviceQueue>(GetDeviceProcAddr(dev, "vkGetDeviceQueue"));
- QueueSubmit = reinterpret_cast<PFN_vkQueueSubmit>(GetDeviceProcAddr(dev, "vkQueueSubmit"));
- QueueWaitIdle = reinterpret_cast<PFN_vkQueueWaitIdle>(GetDeviceProcAddr(dev, "vkQueueWaitIdle"));
- DeviceWaitIdle = reinterpret_cast<PFN_vkDeviceWaitIdle>(GetDeviceProcAddr(dev, "vkDeviceWaitIdle"));
- AllocateMemory = reinterpret_cast<PFN_vkAllocateMemory>(GetDeviceProcAddr(dev, "vkAllocateMemory"));
- FreeMemory = reinterpret_cast<PFN_vkFreeMemory>(GetDeviceProcAddr(dev, "vkFreeMemory"));
- MapMemory = reinterpret_cast<PFN_vkMapMemory>(GetDeviceProcAddr(dev, "vkMapMemory"));
- UnmapMemory = reinterpret_cast<PFN_vkUnmapMemory>(GetDeviceProcAddr(dev, "vkUnmapMemory"));
- FlushMappedMemoryRanges = reinterpret_cast<PFN_vkFlushMappedMemoryRanges>(GetDeviceProcAddr(dev, "vkFlushMappedMemoryRanges"));
- InvalidateMappedMemoryRanges = reinterpret_cast<PFN_vkInvalidateMappedMemoryRanges>(GetDeviceProcAddr(dev, "vkInvalidateMappedMemoryRanges"));
- GetDeviceMemoryCommitment = reinterpret_cast<PFN_vkGetDeviceMemoryCommitment>(GetDeviceProcAddr(dev, "vkGetDeviceMemoryCommitment"));
- BindBufferMemory = reinterpret_cast<PFN_vkBindBufferMemory>(GetDeviceProcAddr(dev, "vkBindBufferMemory"));
- BindImageMemory = reinterpret_cast<PFN_vkBindImageMemory>(GetDeviceProcAddr(dev, "vkBindImageMemory"));
- GetBufferMemoryRequirements = reinterpret_cast<PFN_vkGetBufferMemoryRequirements>(GetDeviceProcAddr(dev, "vkGetBufferMemoryRequirements"));
- GetImageMemoryRequirements = reinterpret_cast<PFN_vkGetImageMemoryRequirements>(GetDeviceProcAddr(dev, "vkGetImageMemoryRequirements"));
- GetImageSparseMemoryRequirements = reinterpret_cast<PFN_vkGetImageSparseMemoryRequirements>(GetDeviceProcAddr(dev, "vkGetImageSparseMemoryRequirements"));
- QueueBindSparse = reinterpret_cast<PFN_vkQueueBindSparse>(GetDeviceProcAddr(dev, "vkQueueBindSparse"));
- CreateFence = reinterpret_cast<PFN_vkCreateFence>(GetDeviceProcAddr(dev, "vkCreateFence"));
- DestroyFence = reinterpret_cast<PFN_vkDestroyFence>(GetDeviceProcAddr(dev, "vkDestroyFence"));
- ResetFences = reinterpret_cast<PFN_vkResetFences>(GetDeviceProcAddr(dev, "vkResetFences"));
- GetFenceStatus = reinterpret_cast<PFN_vkGetFenceStatus>(GetDeviceProcAddr(dev, "vkGetFenceStatus"));
- WaitForFences = reinterpret_cast<PFN_vkWaitForFences>(GetDeviceProcAddr(dev, "vkWaitForFences"));
- CreateSemaphore = reinterpret_cast<PFN_vkCreateSemaphore>(GetDeviceProcAddr(dev, "vkCreateSemaphore"));
- DestroySemaphore = reinterpret_cast<PFN_vkDestroySemaphore>(GetDeviceProcAddr(dev, "vkDestroySemaphore"));
- CreateEvent = reinterpret_cast<PFN_vkCreateEvent>(GetDeviceProcAddr(dev, "vkCreateEvent"));
- DestroyEvent = reinterpret_cast<PFN_vkDestroyEvent>(GetDeviceProcAddr(dev, "vkDestroyEvent"));
- GetEventStatus = reinterpret_cast<PFN_vkGetEventStatus>(GetDeviceProcAddr(dev, "vkGetEventStatus"));
- SetEvent = reinterpret_cast<PFN_vkSetEvent>(GetDeviceProcAddr(dev, "vkSetEvent"));
- ResetEvent = reinterpret_cast<PFN_vkResetEvent>(GetDeviceProcAddr(dev, "vkResetEvent"));
- CreateQueryPool = reinterpret_cast<PFN_vkCreateQueryPool>(GetDeviceProcAddr(dev, "vkCreateQueryPool"));
- DestroyQueryPool = reinterpret_cast<PFN_vkDestroyQueryPool>(GetDeviceProcAddr(dev, "vkDestroyQueryPool"));
- GetQueryPoolResults = reinterpret_cast<PFN_vkGetQueryPoolResults>(GetDeviceProcAddr(dev, "vkGetQueryPoolResults"));
- CreateBuffer = reinterpret_cast<PFN_vkCreateBuffer>(GetDeviceProcAddr(dev, "vkCreateBuffer"));
- DestroyBuffer = reinterpret_cast<PFN_vkDestroyBuffer>(GetDeviceProcAddr(dev, "vkDestroyBuffer"));
- CreateBufferView = reinterpret_cast<PFN_vkCreateBufferView>(GetDeviceProcAddr(dev, "vkCreateBufferView"));
- DestroyBufferView = reinterpret_cast<PFN_vkDestroyBufferView>(GetDeviceProcAddr(dev, "vkDestroyBufferView"));
- CreateImage = reinterpret_cast<PFN_vkCreateImage>(GetDeviceProcAddr(dev, "vkCreateImage"));
- DestroyImage = reinterpret_cast<PFN_vkDestroyImage>(GetDeviceProcAddr(dev, "vkDestroyImage"));
- GetImageSubresourceLayout = reinterpret_cast<PFN_vkGetImageSubresourceLayout>(GetDeviceProcAddr(dev, "vkGetImageSubresourceLayout"));
- CreateImageView = reinterpret_cast<PFN_vkCreateImageView>(GetDeviceProcAddr(dev, "vkCreateImageView"));
- DestroyImageView = reinterpret_cast<PFN_vkDestroyImageView>(GetDeviceProcAddr(dev, "vkDestroyImageView"));
- CreateShaderModule = reinterpret_cast<PFN_vkCreateShaderModule>(GetDeviceProcAddr(dev, "vkCreateShaderModule"));
- DestroyShaderModule = reinterpret_cast<PFN_vkDestroyShaderModule>(GetDeviceProcAddr(dev, "vkDestroyShaderModule"));
- CreatePipelineCache = reinterpret_cast<PFN_vkCreatePipelineCache>(GetDeviceProcAddr(dev, "vkCreatePipelineCache"));
- DestroyPipelineCache = reinterpret_cast<PFN_vkDestroyPipelineCache>(GetDeviceProcAddr(dev, "vkDestroyPipelineCache"));
- GetPipelineCacheData = reinterpret_cast<PFN_vkGetPipelineCacheData>(GetDeviceProcAddr(dev, "vkGetPipelineCacheData"));
- MergePipelineCaches = reinterpret_cast<PFN_vkMergePipelineCaches>(GetDeviceProcAddr(dev, "vkMergePipelineCaches"));
- CreateGraphicsPipelines = reinterpret_cast<PFN_vkCreateGraphicsPipelines>(GetDeviceProcAddr(dev, "vkCreateGraphicsPipelines"));
- CreateComputePipelines = reinterpret_cast<PFN_vkCreateComputePipelines>(GetDeviceProcAddr(dev, "vkCreateComputePipelines"));
- DestroyPipeline = reinterpret_cast<PFN_vkDestroyPipeline>(GetDeviceProcAddr(dev, "vkDestroyPipeline"));
- CreatePipelineLayout = reinterpret_cast<PFN_vkCreatePipelineLayout>(GetDeviceProcAddr(dev, "vkCreatePipelineLayout"));
- DestroyPipelineLayout = reinterpret_cast<PFN_vkDestroyPipelineLayout>(GetDeviceProcAddr(dev, "vkDestroyPipelineLayout"));
- CreateSampler = reinterpret_cast<PFN_vkCreateSampler>(GetDeviceProcAddr(dev, "vkCreateSampler"));
- DestroySampler = reinterpret_cast<PFN_vkDestroySampler>(GetDeviceProcAddr(dev, "vkDestroySampler"));
- CreateDescriptorSetLayout = reinterpret_cast<PFN_vkCreateDescriptorSetLayout>(GetDeviceProcAddr(dev, "vkCreateDescriptorSetLayout"));
- DestroyDescriptorSetLayout = reinterpret_cast<PFN_vkDestroyDescriptorSetLayout>(GetDeviceProcAddr(dev, "vkDestroyDescriptorSetLayout"));
- CreateDescriptorPool = reinterpret_cast<PFN_vkCreateDescriptorPool>(GetDeviceProcAddr(dev, "vkCreateDescriptorPool"));
- DestroyDescriptorPool = reinterpret_cast<PFN_vkDestroyDescriptorPool>(GetDeviceProcAddr(dev, "vkDestroyDescriptorPool"));
- ResetDescriptorPool = reinterpret_cast<PFN_vkResetDescriptorPool>(GetDeviceProcAddr(dev, "vkResetDescriptorPool"));
- AllocateDescriptorSets = reinterpret_cast<PFN_vkAllocateDescriptorSets>(GetDeviceProcAddr(dev, "vkAllocateDescriptorSets"));
- FreeDescriptorSets = reinterpret_cast<PFN_vkFreeDescriptorSets>(GetDeviceProcAddr(dev, "vkFreeDescriptorSets"));
- UpdateDescriptorSets = reinterpret_cast<PFN_vkUpdateDescriptorSets>(GetDeviceProcAddr(dev, "vkUpdateDescriptorSets"));
- CreateFramebuffer = reinterpret_cast<PFN_vkCreateFramebuffer>(GetDeviceProcAddr(dev, "vkCreateFramebuffer"));
- DestroyFramebuffer = reinterpret_cast<PFN_vkDestroyFramebuffer>(GetDeviceProcAddr(dev, "vkDestroyFramebuffer"));
- CreateRenderPass = reinterpret_cast<PFN_vkCreateRenderPass>(GetDeviceProcAddr(dev, "vkCreateRenderPass"));
- DestroyRenderPass = reinterpret_cast<PFN_vkDestroyRenderPass>(GetDeviceProcAddr(dev, "vkDestroyRenderPass"));
- GetRenderAreaGranularity = reinterpret_cast<PFN_vkGetRenderAreaGranularity>(GetDeviceProcAddr(dev, "vkGetRenderAreaGranularity"));
- CreateCommandPool = reinterpret_cast<PFN_vkCreateCommandPool>(GetDeviceProcAddr(dev, "vkCreateCommandPool"));
- DestroyCommandPool = reinterpret_cast<PFN_vkDestroyCommandPool>(GetDeviceProcAddr(dev, "vkDestroyCommandPool"));
- ResetCommandPool = reinterpret_cast<PFN_vkResetCommandPool>(GetDeviceProcAddr(dev, "vkResetCommandPool"));
- AllocateCommandBuffers = reinterpret_cast<PFN_vkAllocateCommandBuffers>(GetDeviceProcAddr(dev, "vkAllocateCommandBuffers"));
- FreeCommandBuffers = reinterpret_cast<PFN_vkFreeCommandBuffers>(GetDeviceProcAddr(dev, "vkFreeCommandBuffers"));
- BeginCommandBuffer = reinterpret_cast<PFN_vkBeginCommandBuffer>(GetDeviceProcAddr(dev, "vkBeginCommandBuffer"));
- EndCommandBuffer = reinterpret_cast<PFN_vkEndCommandBuffer>(GetDeviceProcAddr(dev, "vkEndCommandBuffer"));
- ResetCommandBuffer = reinterpret_cast<PFN_vkResetCommandBuffer>(GetDeviceProcAddr(dev, "vkResetCommandBuffer"));
- CmdBindPipeline = reinterpret_cast<PFN_vkCmdBindPipeline>(GetDeviceProcAddr(dev, "vkCmdBindPipeline"));
- CmdSetViewport = reinterpret_cast<PFN_vkCmdSetViewport>(GetDeviceProcAddr(dev, "vkCmdSetViewport"));
- CmdSetScissor = reinterpret_cast<PFN_vkCmdSetScissor>(GetDeviceProcAddr(dev, "vkCmdSetScissor"));
- CmdSetLineWidth = reinterpret_cast<PFN_vkCmdSetLineWidth>(GetDeviceProcAddr(dev, "vkCmdSetLineWidth"));
- CmdSetDepthBias = reinterpret_cast<PFN_vkCmdSetDepthBias>(GetDeviceProcAddr(dev, "vkCmdSetDepthBias"));
- CmdSetBlendConstants = reinterpret_cast<PFN_vkCmdSetBlendConstants>(GetDeviceProcAddr(dev, "vkCmdSetBlendConstants"));
- CmdSetDepthBounds = reinterpret_cast<PFN_vkCmdSetDepthBounds>(GetDeviceProcAddr(dev, "vkCmdSetDepthBounds"));
- CmdSetStencilCompareMask = reinterpret_cast<PFN_vkCmdSetStencilCompareMask>(GetDeviceProcAddr(dev, "vkCmdSetStencilCompareMask"));
- CmdSetStencilWriteMask = reinterpret_cast<PFN_vkCmdSetStencilWriteMask>(GetDeviceProcAddr(dev, "vkCmdSetStencilWriteMask"));
- CmdSetStencilReference = reinterpret_cast<PFN_vkCmdSetStencilReference>(GetDeviceProcAddr(dev, "vkCmdSetStencilReference"));
- CmdBindDescriptorSets = reinterpret_cast<PFN_vkCmdBindDescriptorSets>(GetDeviceProcAddr(dev, "vkCmdBindDescriptorSets"));
- CmdBindIndexBuffer = reinterpret_cast<PFN_vkCmdBindIndexBuffer>(GetDeviceProcAddr(dev, "vkCmdBindIndexBuffer"));
- CmdBindVertexBuffers = reinterpret_cast<PFN_vkCmdBindVertexBuffers>(GetDeviceProcAddr(dev, "vkCmdBindVertexBuffers"));
- CmdDraw = reinterpret_cast<PFN_vkCmdDraw>(GetDeviceProcAddr(dev, "vkCmdDraw"));
- CmdDrawIndexed = reinterpret_cast<PFN_vkCmdDrawIndexed>(GetDeviceProcAddr(dev, "vkCmdDrawIndexed"));
- CmdDrawIndirect = reinterpret_cast<PFN_vkCmdDrawIndirect>(GetDeviceProcAddr(dev, "vkCmdDrawIndirect"));
- CmdDrawIndexedIndirect = reinterpret_cast<PFN_vkCmdDrawIndexedIndirect>(GetDeviceProcAddr(dev, "vkCmdDrawIndexedIndirect"));
- CmdDispatch = reinterpret_cast<PFN_vkCmdDispatch>(GetDeviceProcAddr(dev, "vkCmdDispatch"));
- CmdDispatchIndirect = reinterpret_cast<PFN_vkCmdDispatchIndirect>(GetDeviceProcAddr(dev, "vkCmdDispatchIndirect"));
- CmdCopyBuffer = reinterpret_cast<PFN_vkCmdCopyBuffer>(GetDeviceProcAddr(dev, "vkCmdCopyBuffer"));
- CmdCopyImage = reinterpret_cast<PFN_vkCmdCopyImage>(GetDeviceProcAddr(dev, "vkCmdCopyImage"));
- CmdBlitImage = reinterpret_cast<PFN_vkCmdBlitImage>(GetDeviceProcAddr(dev, "vkCmdBlitImage"));
- CmdCopyBufferToImage = reinterpret_cast<PFN_vkCmdCopyBufferToImage>(GetDeviceProcAddr(dev, "vkCmdCopyBufferToImage"));
- CmdCopyImageToBuffer = reinterpret_cast<PFN_vkCmdCopyImageToBuffer>(GetDeviceProcAddr(dev, "vkCmdCopyImageToBuffer"));
- CmdUpdateBuffer = reinterpret_cast<PFN_vkCmdUpdateBuffer>(GetDeviceProcAddr(dev, "vkCmdUpdateBuffer"));
- CmdFillBuffer = reinterpret_cast<PFN_vkCmdFillBuffer>(GetDeviceProcAddr(dev, "vkCmdFillBuffer"));
- CmdClearColorImage = reinterpret_cast<PFN_vkCmdClearColorImage>(GetDeviceProcAddr(dev, "vkCmdClearColorImage"));
- CmdClearDepthStencilImage = reinterpret_cast<PFN_vkCmdClearDepthStencilImage>(GetDeviceProcAddr(dev, "vkCmdClearDepthStencilImage"));
- CmdClearAttachments = reinterpret_cast<PFN_vkCmdClearAttachments>(GetDeviceProcAddr(dev, "vkCmdClearAttachments"));
- CmdResolveImage = reinterpret_cast<PFN_vkCmdResolveImage>(GetDeviceProcAddr(dev, "vkCmdResolveImage"));
- CmdSetEvent = reinterpret_cast<PFN_vkCmdSetEvent>(GetDeviceProcAddr(dev, "vkCmdSetEvent"));
- CmdResetEvent = reinterpret_cast<PFN_vkCmdResetEvent>(GetDeviceProcAddr(dev, "vkCmdResetEvent"));
- CmdWaitEvents = reinterpret_cast<PFN_vkCmdWaitEvents>(GetDeviceProcAddr(dev, "vkCmdWaitEvents"));
- CmdPipelineBarrier = reinterpret_cast<PFN_vkCmdPipelineBarrier>(GetDeviceProcAddr(dev, "vkCmdPipelineBarrier"));
- CmdBeginQuery = reinterpret_cast<PFN_vkCmdBeginQuery>(GetDeviceProcAddr(dev, "vkCmdBeginQuery"));
- CmdEndQuery = reinterpret_cast<PFN_vkCmdEndQuery>(GetDeviceProcAddr(dev, "vkCmdEndQuery"));
- CmdResetQueryPool = reinterpret_cast<PFN_vkCmdResetQueryPool>(GetDeviceProcAddr(dev, "vkCmdResetQueryPool"));
- CmdWriteTimestamp = reinterpret_cast<PFN_vkCmdWriteTimestamp>(GetDeviceProcAddr(dev, "vkCmdWriteTimestamp"));
- CmdCopyQueryPoolResults = reinterpret_cast<PFN_vkCmdCopyQueryPoolResults>(GetDeviceProcAddr(dev, "vkCmdCopyQueryPoolResults"));
- CmdPushConstants = reinterpret_cast<PFN_vkCmdPushConstants>(GetDeviceProcAddr(dev, "vkCmdPushConstants"));
- CmdBeginRenderPass = reinterpret_cast<PFN_vkCmdBeginRenderPass>(GetDeviceProcAddr(dev, "vkCmdBeginRenderPass"));
- CmdNextSubpass = reinterpret_cast<PFN_vkCmdNextSubpass>(GetDeviceProcAddr(dev, "vkCmdNextSubpass"));
- CmdEndRenderPass = reinterpret_cast<PFN_vkCmdEndRenderPass>(GetDeviceProcAddr(dev, "vkCmdEndRenderPass"));
- CmdExecuteCommands = reinterpret_cast<PFN_vkCmdExecuteCommands>(GetDeviceProcAddr(dev, "vkCmdExecuteCommands"));
- CreateSwapchainKHR = reinterpret_cast<PFN_vkCreateSwapchainKHR>(GetDeviceProcAddr(dev, "vkCreateSwapchainKHR"));
- DestroySwapchainKHR = reinterpret_cast<PFN_vkDestroySwapchainKHR>(GetDeviceProcAddr(dev, "vkDestroySwapchainKHR"));
- GetSwapchainImagesKHR = reinterpret_cast<PFN_vkGetSwapchainImagesKHR>(GetDeviceProcAddr(dev, "vkGetSwapchainImagesKHR"));
- AcquireNextImageKHR = reinterpret_cast<PFN_vkAcquireNextImageKHR>(GetDeviceProcAddr(dev, "vkAcquireNextImageKHR"));
- QueuePresentKHR = reinterpret_cast<PFN_vkQueuePresentKHR>(GetDeviceProcAddr(dev, "vkQueuePresentKHR"));
- CreateSharedSwapchainsKHR = reinterpret_cast<PFN_vkCreateSharedSwapchainsKHR>(GetDeviceProcAddr(dev, "vkCreateSharedSwapchainsKHR"));
-}
-
-} // namespace vk
diff --git a/Demos/LunarG-VulkanSamples/Hologram/HelpersDispatchTable.h b/Demos/LunarG-VulkanSamples/Hologram/HelpersDispatchTable.h
deleted file mode 100644
index 78ef317..0000000
--- a/Demos/LunarG-VulkanSamples/Hologram/HelpersDispatchTable.h
+++ /dev/null
@@ -1,219 +0,0 @@
-// This file is generated.
-#ifndef HELPERSDISPATCHTABLE_H
-#define HELPERSDISPATCHTABLE_H
-
-#include <vulkan/vulkan.h>
-
-namespace vk {
-
-// VK_core
-extern PFN_vkCreateInstance CreateInstance;
-extern PFN_vkDestroyInstance DestroyInstance;
-extern PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
-extern PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
-extern PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
-extern PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
-extern PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
-extern PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
-extern PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
-extern PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
-extern PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
-extern PFN_vkCreateDevice CreateDevice;
-extern PFN_vkDestroyDevice DestroyDevice;
-extern PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
-extern PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
-extern PFN_vkEnumerateInstanceLayerProperties EnumerateInstanceLayerProperties;
-extern PFN_vkGetDeviceQueue GetDeviceQueue;
-extern PFN_vkQueueSubmit QueueSubmit;
-extern PFN_vkQueueWaitIdle QueueWaitIdle;
-extern PFN_vkDeviceWaitIdle DeviceWaitIdle;
-extern PFN_vkAllocateMemory AllocateMemory;
-extern PFN_vkFreeMemory FreeMemory;
-extern PFN_vkMapMemory MapMemory;
-extern PFN_vkUnmapMemory UnmapMemory;
-extern PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
-extern PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
-extern PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
-extern PFN_vkBindBufferMemory BindBufferMemory;
-extern PFN_vkBindImageMemory BindImageMemory;
-extern PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
-extern PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
-extern PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
-extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
-extern PFN_vkQueueBindSparse QueueBindSparse;
-extern PFN_vkCreateFence CreateFence;
-extern PFN_vkDestroyFence DestroyFence;
-extern PFN_vkResetFences ResetFences;
-extern PFN_vkGetFenceStatus GetFenceStatus;
-extern PFN_vkWaitForFences WaitForFences;
-extern PFN_vkCreateSemaphore CreateSemaphore;
-extern PFN_vkDestroySemaphore DestroySemaphore;
-extern PFN_vkCreateEvent CreateEvent;
-extern PFN_vkDestroyEvent DestroyEvent;
-extern PFN_vkGetEventStatus GetEventStatus;
-extern PFN_vkSetEvent SetEvent;
-extern PFN_vkResetEvent ResetEvent;
-extern PFN_vkCreateQueryPool CreateQueryPool;
-extern PFN_vkDestroyQueryPool DestroyQueryPool;
-extern PFN_vkGetQueryPoolResults GetQueryPoolResults;
-extern PFN_vkCreateBuffer CreateBuffer;
-extern PFN_vkDestroyBuffer DestroyBuffer;
-extern PFN_vkCreateBufferView CreateBufferView;
-extern PFN_vkDestroyBufferView DestroyBufferView;
-extern PFN_vkCreateImage CreateImage;
-extern PFN_vkDestroyImage DestroyImage;
-extern PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
-extern PFN_vkCreateImageView CreateImageView;
-extern PFN_vkDestroyImageView DestroyImageView;
-extern PFN_vkCreateShaderModule CreateShaderModule;
-extern PFN_vkDestroyShaderModule DestroyShaderModule;
-extern PFN_vkCreatePipelineCache CreatePipelineCache;
-extern PFN_vkDestroyPipelineCache DestroyPipelineCache;
-extern PFN_vkGetPipelineCacheData GetPipelineCacheData;
-extern PFN_vkMergePipelineCaches MergePipelineCaches;
-extern PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
-extern PFN_vkCreateComputePipelines CreateComputePipelines;
-extern PFN_vkDestroyPipeline DestroyPipeline;
-extern PFN_vkCreatePipelineLayout CreatePipelineLayout;
-extern PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
-extern PFN_vkCreateSampler CreateSampler;
-extern PFN_vkDestroySampler DestroySampler;
-extern PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
-extern PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
-extern PFN_vkCreateDescriptorPool CreateDescriptorPool;
-extern PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
-extern PFN_vkResetDescriptorPool ResetDescriptorPool;
-extern PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
-extern PFN_vkFreeDescriptorSets FreeDescriptorSets;
-extern PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
-extern PFN_vkCreateFramebuffer CreateFramebuffer;
-extern PFN_vkDestroyFramebuffer DestroyFramebuffer;
-extern PFN_vkCreateRenderPass CreateRenderPass;
-extern PFN_vkDestroyRenderPass DestroyRenderPass;
-extern PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
-extern PFN_vkCreateCommandPool CreateCommandPool;
-extern PFN_vkDestroyCommandPool DestroyCommandPool;
-extern PFN_vkResetCommandPool ResetCommandPool;
-extern PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
-extern PFN_vkFreeCommandBuffers FreeCommandBuffers;
-extern PFN_vkBeginCommandBuffer BeginCommandBuffer;
-extern PFN_vkEndCommandBuffer EndCommandBuffer;
-extern PFN_vkResetCommandBuffer ResetCommandBuffer;
-extern PFN_vkCmdBindPipeline CmdBindPipeline;
-extern PFN_vkCmdSetViewport CmdSetViewport;
-extern PFN_vkCmdSetScissor CmdSetScissor;
-extern PFN_vkCmdSetLineWidth CmdSetLineWidth;
-extern PFN_vkCmdSetDepthBias CmdSetDepthBias;
-extern PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
-extern PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
-extern PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
-extern PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
-extern PFN_vkCmdSetStencilReference CmdSetStencilReference;
-extern PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
-extern PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
-extern PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
-extern PFN_vkCmdDraw CmdDraw;
-extern PFN_vkCmdDrawIndexed CmdDrawIndexed;
-extern PFN_vkCmdDrawIndirect CmdDrawIndirect;
-extern PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
-extern PFN_vkCmdDispatch CmdDispatch;
-extern PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
-extern PFN_vkCmdCopyBuffer CmdCopyBuffer;
-extern PFN_vkCmdCopyImage CmdCopyImage;
-extern PFN_vkCmdBlitImage CmdBlitImage;
-extern PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
-extern PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
-extern PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
-extern PFN_vkCmdFillBuffer CmdFillBuffer;
-extern PFN_vkCmdClearColorImage CmdClearColorImage;
-extern PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
-extern PFN_vkCmdClearAttachments CmdClearAttachments;
-extern PFN_vkCmdResolveImage CmdResolveImage;
-extern PFN_vkCmdSetEvent CmdSetEvent;
-extern PFN_vkCmdResetEvent CmdResetEvent;
-extern PFN_vkCmdWaitEvents CmdWaitEvents;
-extern PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
-extern PFN_vkCmdBeginQuery CmdBeginQuery;
-extern PFN_vkCmdEndQuery CmdEndQuery;
-extern PFN_vkCmdResetQueryPool CmdResetQueryPool;
-extern PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
-extern PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
-extern PFN_vkCmdPushConstants CmdPushConstants;
-extern PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
-extern PFN_vkCmdNextSubpass CmdNextSubpass;
-extern PFN_vkCmdEndRenderPass CmdEndRenderPass;
-extern PFN_vkCmdExecuteCommands CmdExecuteCommands;
-
-// VK_KHR_surface
-extern PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
-extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
-extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
-extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
-extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
-
-// VK_KHR_swapchain
-extern PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
-extern PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
-extern PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
-extern PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
-extern PFN_vkQueuePresentKHR QueuePresentKHR;
-
-// VK_KHR_display
-extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR;
-extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR;
-extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR;
-extern PFN_vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR;
-extern PFN_vkCreateDisplayModeKHR CreateDisplayModeKHR;
-extern PFN_vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR;
-extern PFN_vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR;
-
-// VK_KHR_display_swapchain
-extern PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR;
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-// VK_KHR_xlib_surface
-extern PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR;
-extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR;
-#endif
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
-// VK_KHR_xcb_surface
-extern PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR;
-extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR;
-#endif
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-// VK_KHR_wayland_surface
-extern PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR;
-extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR;
-#endif
-
-#ifdef VK_USE_PLATFORM_MIR_KHR
-// VK_KHR_mir_surface
-extern PFN_vkCreateMirSurfaceKHR CreateMirSurfaceKHR;
-extern PFN_vkGetPhysicalDeviceMirPresentationSupportKHR GetPhysicalDeviceMirPresentationSupportKHR;
-#endif
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-// VK_KHR_android_surface
-extern PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
-#endif
-
-#ifdef VK_USE_PLATFORM_WIN32_KHR
-// VK_KHR_win32_surface
-extern PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR;
-extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR;
-#endif
-
-// VK_EXT_debug_report
-extern PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT;
-extern PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT;
-extern PFN_vkDebugReportMessageEXT DebugReportMessageEXT;
-
-void init_dispatch_table_top(PFN_vkGetInstanceProcAddr get_instance_proc_addr);
-void init_dispatch_table_middle(VkInstance instance, bool include_bottom);
-void init_dispatch_table_bottom(VkInstance instance, VkDevice dev);
-
-} // namespace vk
-
-#endif // HELPERSDISPATCHTABLE_H
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
index 1b654fc..95ef5bc 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
@@ -91,8 +91,8 @@
A9C2AB98218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
A9C2AB9B218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/macOS/static/libMoltenVK.a; sourceTree = "<group>"; };
- A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelpersDispatchTable.cpp; sourceTree = SOURCE_ROOT; };
- A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpersDispatchTable.h; sourceTree = SOURCE_ROOT; };
+ A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelpersDispatchTable.cpp; sourceTree = "<group>"; };
+ A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpersDispatchTable.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -243,8 +243,6 @@
isa = PBXNativeTarget;
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Hologram-iOS" */;
buildPhases = (
- A99789D71CD41746005E7DAC /* ShellScript */,
- A9006C4A1CDAB49000C6BC7B /* ShellScript */,
1D60588D0D05DD3D006BFB54 /* Resources */,
1D60588E0D05DD3D006BFB54 /* Sources */,
1D60588F0D05DD3D006BFB54 /* Frameworks */,
@@ -262,8 +260,6 @@
isa = PBXNativeTarget;
buildConfigurationList = A977BCFB1B66BB010067E5BF /* Build configuration list for PBXNativeTarget "Hologram-macOS" */;
buildPhases = (
- A99789CD1CD3FFEB005E7DAC /* Run Script */,
- A9D516F41CD5752C00097D96 /* ShellScript */,
A977BCBE1B66BB010067E5BF /* Resources */,
A977BCC91B66BB010067E5BF /* Sources */,
A977BCF11B66BB010067E5BF /* Frameworks */,
@@ -339,63 +335,6 @@
};
/* End PBXResourcesBuildPhase section */
-/* Begin PBXShellScriptBuildPhase section */
- A9006C4A1CDAB49000C6BC7B /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.cpp";
- };
- A99789CD1CD3FFEB005E7DAC /* Run Script */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "",
- );
- name = "Run Script";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.h";
- };
- A99789D71CD41746005E7DAC /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.h";
- };
- A9D516F41CD5752C00097D96 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.cpp\n";
- };
-/* End PBXShellScriptBuildPhase section */
-
/* Begin PBXSourcesBuildPhase section */
1D60588E0D05DD3D006BFB54 /* Sources */ = {
isa = PBXSourcesBuildPhase;
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index f729bf0..601dd1b 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -12,6 +12,24 @@
For best results, use a Markdown reader.*
+MoltenVK 1.0.27
+---------------
+
+Released 2018/11/15
+
+- Remove destroyed resources from descriptor sets.
+- Forbid compressed formats on non-2D images.
+- Update to latest dependency libraries for Vulkan SDK 1.1.92.
+- Update to latest SPIRV-Cross version:
+ - MSL: Print early_fragment_tests specifier before fragment shader declaration.
+ - MSL: Also pack members at unaligned offsets.
+ - MSL: Also pack 2- and 4- element vectors when necessary.
+ - MSL: Emit wrapper for SSign (sign() for int types).
+ - MSL: Support extended arithmetic opcodes.
+ - Handle opcode OpSourceContinued.
+ - Handle group decorations.
+
+
MoltenVK 1.0.26
---------------
diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision
index 5d4511b..916e701 100644
--- a/ExternalRevisions/SPIRV-Cross_repo_revision
+++ b/ExternalRevisions/SPIRV-Cross_repo_revision
@@ -1 +1 @@
-daaffc4717cad9fbeb8848867f38a732120c6317
+ea6bdacd056b77ec1004822482d08b6f31473f25
diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision
index ed804a3..9776a04 100644
--- a/ExternalRevisions/Vulkan-Headers_repo_revision
+++ b/ExternalRevisions/Vulkan-Headers_repo_revision
@@ -1 +1 @@
-2fd5a24ec4a6df303b2155b3f85b6b8c1d56f6c0
+114c3546e195819bd53a34b39f5194b2989a5b12
diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision
index 79882a7..5880146 100644
--- a/ExternalRevisions/Vulkan-Tools_repo_revision
+++ b/ExternalRevisions/Vulkan-Tools_repo_revision
@@ -1 +1 @@
-f2c941819838c349fe0cc8eb2dddac294fe012e9
+d74a02234851dfacf6b140c1ab4d81becf704098
diff --git a/ExternalRevisions/VulkanSamples_repo_revision b/ExternalRevisions/VulkanSamples_repo_revision
index ee1ae7b..627b593 100644
--- a/ExternalRevisions/VulkanSamples_repo_revision
+++ b/ExternalRevisions/VulkanSamples_repo_revision
@@ -1 +1 @@
-7cca1899215bbb043914cc5ef74924dc7f189b64
+1a849458db984f77c9ecfa79041ede550094c2f2
diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision
index 26eb722..ab41838 100644
--- a/ExternalRevisions/glslang_repo_revision
+++ b/ExternalRevisions/glslang_repo_revision
@@ -1 +1 @@
-91ac4290bcf2cb930b4fb0981f09c00c0b6797e1
+d509a5eec6f5a65b3ffdfa0a19096f338d2582be
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index 4c725bb..6366d29 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -48,7 +48,7 @@
*/
#define MVK_VERSION_MAJOR 1
#define MVK_VERSION_MINOR 0
-#define MVK_VERSION_PATCH 26
+#define MVK_VERSION_PATCH 27
#define MVK_MAKE_VERSION(major, minor, patch) (((major) * 10000) + ((minor) * 100) + (patch))
#define MVK_VERSION MVK_MAKE_VERSION(MVK_VERSION_MAJOR, MVK_VERSION_MINOR, MVK_VERSION_PATCH)
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm
index cb4778c..fa77752 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm
@@ -635,6 +635,7 @@
const auto* pImgInfo = &get<VkDescriptorImageInfo>(pData, stride, srcStartIndex + i);
auto* oldSampler = (MVKSampler*)_imageBindings[dstIdx].sampler;
_imageBindings[dstIdx] = *pImgInfo;
+ _imageBindings[dstIdx].imageView = nullptr; // Sampler only. Guard against app not explicitly clearing ImageView.
if (_hasDynamicSamplers) {
auto* mvkSampler = (MVKSampler*)pImgInfo->sampler;
mvkSampler->retain();
@@ -682,6 +683,7 @@
mvkImageView->retain();
}
_imageBindings[dstIdx] = *pImgInfo;
+ _imageBindings[dstIdx].sampler = nullptr; // ImageView only. Guard against app not explicitly clearing Sampler.
_mtlTextures[dstIdx] = mvkImageView ? mvkImageView->getMTLTexture() : nil;
if (oldImageView) {
oldImageView->release();
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
index 213c690..1f7d53f 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
@@ -649,17 +649,37 @@
#pragma mark -
#pragma mark MVKRefCountedDeviceObject
-/** Represents a device-spawned object that can live past destruction by the client. */
+/**
+ * Represents a device-spawned object that supports basic reference counting.
+ *
+ * An object of this type will automatically be deleted iff it has been destroyed
+ * by the client, and all references have been released. An object of this type is
+ * therefore allowed to live past its destruction by the client, until it is no
+ * longer referenced by other objects.
+ */
class MVKRefCountedDeviceObject : public MVKBaseDeviceObject {
public:
- /** Increments the object reference count by one. */
+ /**
+ * Called when this instance has been retained as a reference by another object,
+ * indicating that this instance will not be deleted until that reference is released.
+ */
void retain();
- /** Decrements the object reference count by one. */
+ /**
+ * Called when this instance has been released as a reference from another object.
+ * Once all references have been released, this object is free to be deleted.
+ * If the destroy() function has already been called on this instance by the time
+ * this function is called, this instance will be deleted.
+ */
void release();
+ /**
+ * Marks this instance as destroyed. If all previous references to this instance
+ * have been released, this instance will be deleted, otherwise deletion of this
+ * instance will automatically be deferred until all references have been released.
+ */
void destroy() override;
#pragma mark Construction
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index e6edb3d..bdc7167 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -993,14 +993,14 @@
// Tell the semaphore and fence that they are being tracked for future signaling.
void MVKSwapchainImage::markAsTracked(MVKSwapchainSignaler& signaler) {
- if (signaler.first) { signaler.first->wasAddedToSignaler(); }
- if (signaler.second) { signaler.second->wasAddedToSignaler(); }
+ if (signaler.first) { signaler.first->retain(); }
+ if (signaler.second) { signaler.second->retain(); }
}
// Tell the semaphore and fence that they are no longer being tracked for future signaling.
void MVKSwapchainImage::unmarkAsTracked(MVKSwapchainSignaler& signaler) {
- if (signaler.first) { signaler.first->wasRemovedFromSignaler(); }
- if (signaler.second) { signaler.second->wasRemovedFromSignaler(); }
+ if (signaler.first) { signaler.first->release(); }
+ if (signaler.second) { signaler.second->release(); }
}
const MVKSwapchainImageAvailability* MVKSwapchainImage::getAvailability() {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSync.h b/MoltenVK/MoltenVK/GPUObjects/MVKSync.h
index 9fbf517..14a01c1 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSync.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSync.h
@@ -98,34 +98,10 @@
#pragma mark -
-#pragma mark MVKSignalable
-
-/** Abstract class for Vulkan semaphores and fences. */
-class MVKSignalable : public MVKRefCountedDeviceObject {
-
-public:
-
- /* Called when this object has been added to a tracker for later signaling. */
- void wasAddedToSignaler() { retain(); }
-
- /**
- * Called when this object has been removed from a tracker for later signaling.
- * If this object was destroyed while this signal was pending, it will now be deleted.
- */
- void wasRemovedFromSignaler() { release(); }
-
-
-#pragma mark Construction
-
- MVKSignalable(MVKDevice* device) : MVKRefCountedDeviceObject(device) {}
-};
-
-
-#pragma mark -
#pragma mark MVKSemaphore
/** Represents a Vulkan semaphore. */
-class MVKSemaphore : public MVKSignalable {
+class MVKSemaphore : public MVKRefCountedDeviceObject {
public:
@@ -146,7 +122,7 @@
#pragma mark Construction
MVKSemaphore(MVKDevice* device, const VkSemaphoreCreateInfo* pCreateInfo)
- : MVKSignalable(device), _blocker(false, 1) {}
+ : MVKRefCountedDeviceObject(device), _blocker(false, 1) {}
protected:
MVKSemaphoreImpl _blocker;
@@ -157,7 +133,7 @@
#pragma mark MVKFence
/** Represents a Vulkan fence. */
-class MVKFence : public MVKSignalable {
+class MVKFence : public MVKRefCountedDeviceObject {
public:
@@ -190,7 +166,7 @@
#pragma mark Construction
- MVKFence(MVKDevice* device, const VkFenceCreateInfo* pCreateInfo) : MVKSignalable(device),
+ MVKFence(MVKDevice* device, const VkFenceCreateInfo* pCreateInfo) : MVKRefCountedDeviceObject(device),
_isSignaled(mvkAreFlagsEnabled(pCreateInfo->flags, VK_FENCE_CREATE_SIGNALED_BIT)) {}
~MVKFence() override;
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
index 0c7abb6..6b0fe65 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
@@ -3200,7 +3200,6 @@
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VARIABLE = NO;
@@ -3246,7 +3245,6 @@
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VARIABLE = NO;
diff --git a/fetchDependencies b/fetchDependencies
index eadd1d3..0cbceaa 100755
--- a/fetchDependencies
+++ b/fetchDependencies
@@ -214,6 +214,12 @@
update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
+# Generate dispatch files needed for Hologram demo
+cd "${REPO_NAME}/Sample-Programs/Hologram"
+./generate-dispatch-table HelpersDispatchTable.h
+./generate-dispatch-table HelpersDispatchTable.cpp
+cd -
+
# ----------------- Cleanup -------------------