/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 */
m_vk.getDeviceProcAddr									= (GetDeviceProcAddrFunc)								GET_PROC_ADDR("vkGetDeviceProcAddr");
m_vk.destroyDevice										= (DestroyDeviceFunc)									GET_PROC_ADDR("vkDestroyDevice");
m_vk.getDeviceQueue										= (GetDeviceQueueFunc)									GET_PROC_ADDR("vkGetDeviceQueue");
m_vk.queueSubmit										= (QueueSubmitFunc)										GET_PROC_ADDR("vkQueueSubmit");
m_vk.queueWaitIdle										= (QueueWaitIdleFunc)									GET_PROC_ADDR("vkQueueWaitIdle");
m_vk.deviceWaitIdle										= (DeviceWaitIdleFunc)									GET_PROC_ADDR("vkDeviceWaitIdle");
m_vk.allocateMemory										= (AllocateMemoryFunc)									GET_PROC_ADDR("vkAllocateMemory");
m_vk.freeMemory											= (FreeMemoryFunc)										GET_PROC_ADDR("vkFreeMemory");
m_vk.mapMemory											= (MapMemoryFunc)										GET_PROC_ADDR("vkMapMemory");
m_vk.unmapMemory										= (UnmapMemoryFunc)										GET_PROC_ADDR("vkUnmapMemory");
m_vk.flushMappedMemoryRanges							= (FlushMappedMemoryRangesFunc)							GET_PROC_ADDR("vkFlushMappedMemoryRanges");
m_vk.invalidateMappedMemoryRanges						= (InvalidateMappedMemoryRangesFunc)					GET_PROC_ADDR("vkInvalidateMappedMemoryRanges");
m_vk.getDeviceMemoryCommitment							= (GetDeviceMemoryCommitmentFunc)						GET_PROC_ADDR("vkGetDeviceMemoryCommitment");
m_vk.bindBufferMemory									= (BindBufferMemoryFunc)								GET_PROC_ADDR("vkBindBufferMemory");
m_vk.bindImageMemory									= (BindImageMemoryFunc)									GET_PROC_ADDR("vkBindImageMemory");
m_vk.getBufferMemoryRequirements						= (GetBufferMemoryRequirementsFunc)						GET_PROC_ADDR("vkGetBufferMemoryRequirements");
m_vk.getImageMemoryRequirements							= (GetImageMemoryRequirementsFunc)						GET_PROC_ADDR("vkGetImageMemoryRequirements");
m_vk.getImageSparseMemoryRequirements					= (GetImageSparseMemoryRequirementsFunc)				GET_PROC_ADDR("vkGetImageSparseMemoryRequirements");
m_vk.queueBindSparse									= (QueueBindSparseFunc)									GET_PROC_ADDR("vkQueueBindSparse");
m_vk.createFence										= (CreateFenceFunc)										GET_PROC_ADDR("vkCreateFence");
m_vk.destroyFence										= (DestroyFenceFunc)									GET_PROC_ADDR("vkDestroyFence");
m_vk.resetFences										= (ResetFencesFunc)										GET_PROC_ADDR("vkResetFences");
m_vk.getFenceStatus										= (GetFenceStatusFunc)									GET_PROC_ADDR("vkGetFenceStatus");
m_vk.waitForFences										= (WaitForFencesFunc)									GET_PROC_ADDR("vkWaitForFences");
m_vk.createSemaphore									= (CreateSemaphoreFunc)									GET_PROC_ADDR("vkCreateSemaphore");
m_vk.destroySemaphore									= (DestroySemaphoreFunc)								GET_PROC_ADDR("vkDestroySemaphore");
m_vk.createEvent										= (CreateEventFunc)										GET_PROC_ADDR("vkCreateEvent");
m_vk.destroyEvent										= (DestroyEventFunc)									GET_PROC_ADDR("vkDestroyEvent");
m_vk.getEventStatus										= (GetEventStatusFunc)									GET_PROC_ADDR("vkGetEventStatus");
m_vk.setEvent											= (SetEventFunc)										GET_PROC_ADDR("vkSetEvent");
m_vk.resetEvent											= (ResetEventFunc)										GET_PROC_ADDR("vkResetEvent");
m_vk.createQueryPool									= (CreateQueryPoolFunc)									GET_PROC_ADDR("vkCreateQueryPool");
m_vk.destroyQueryPool									= (DestroyQueryPoolFunc)								GET_PROC_ADDR("vkDestroyQueryPool");
m_vk.getQueryPoolResults								= (GetQueryPoolResultsFunc)								GET_PROC_ADDR("vkGetQueryPoolResults");
m_vk.createBuffer										= (CreateBufferFunc)									GET_PROC_ADDR("vkCreateBuffer");
m_vk.destroyBuffer										= (DestroyBufferFunc)									GET_PROC_ADDR("vkDestroyBuffer");
m_vk.createBufferView									= (CreateBufferViewFunc)								GET_PROC_ADDR("vkCreateBufferView");
m_vk.destroyBufferView									= (DestroyBufferViewFunc)								GET_PROC_ADDR("vkDestroyBufferView");
m_vk.createImage										= (CreateImageFunc)										GET_PROC_ADDR("vkCreateImage");
m_vk.destroyImage										= (DestroyImageFunc)									GET_PROC_ADDR("vkDestroyImage");
m_vk.getImageSubresourceLayout							= (GetImageSubresourceLayoutFunc)						GET_PROC_ADDR("vkGetImageSubresourceLayout");
m_vk.createImageView									= (CreateImageViewFunc)									GET_PROC_ADDR("vkCreateImageView");
m_vk.destroyImageView									= (DestroyImageViewFunc)								GET_PROC_ADDR("vkDestroyImageView");
m_vk.createShaderModule									= (CreateShaderModuleFunc)								GET_PROC_ADDR("vkCreateShaderModule");
m_vk.destroyShaderModule								= (DestroyShaderModuleFunc)								GET_PROC_ADDR("vkDestroyShaderModule");
m_vk.createPipelineCache								= (CreatePipelineCacheFunc)								GET_PROC_ADDR("vkCreatePipelineCache");
m_vk.destroyPipelineCache								= (DestroyPipelineCacheFunc)							GET_PROC_ADDR("vkDestroyPipelineCache");
m_vk.getPipelineCacheData								= (GetPipelineCacheDataFunc)							GET_PROC_ADDR("vkGetPipelineCacheData");
m_vk.mergePipelineCaches								= (MergePipelineCachesFunc)								GET_PROC_ADDR("vkMergePipelineCaches");
m_vk.createGraphicsPipelines							= (CreateGraphicsPipelinesFunc)							GET_PROC_ADDR("vkCreateGraphicsPipelines");
m_vk.createComputePipelines								= (CreateComputePipelinesFunc)							GET_PROC_ADDR("vkCreateComputePipelines");
m_vk.destroyPipeline									= (DestroyPipelineFunc)									GET_PROC_ADDR("vkDestroyPipeline");
m_vk.createPipelineLayout								= (CreatePipelineLayoutFunc)							GET_PROC_ADDR("vkCreatePipelineLayout");
m_vk.destroyPipelineLayout								= (DestroyPipelineLayoutFunc)							GET_PROC_ADDR("vkDestroyPipelineLayout");
m_vk.createSampler										= (CreateSamplerFunc)									GET_PROC_ADDR("vkCreateSampler");
m_vk.destroySampler										= (DestroySamplerFunc)									GET_PROC_ADDR("vkDestroySampler");
m_vk.createDescriptorSetLayout							= (CreateDescriptorSetLayoutFunc)						GET_PROC_ADDR("vkCreateDescriptorSetLayout");
m_vk.destroyDescriptorSetLayout							= (DestroyDescriptorSetLayoutFunc)						GET_PROC_ADDR("vkDestroyDescriptorSetLayout");
m_vk.createDescriptorPool								= (CreateDescriptorPoolFunc)							GET_PROC_ADDR("vkCreateDescriptorPool");
m_vk.destroyDescriptorPool								= (DestroyDescriptorPoolFunc)							GET_PROC_ADDR("vkDestroyDescriptorPool");
m_vk.resetDescriptorPool								= (ResetDescriptorPoolFunc)								GET_PROC_ADDR("vkResetDescriptorPool");
m_vk.allocateDescriptorSets								= (AllocateDescriptorSetsFunc)							GET_PROC_ADDR("vkAllocateDescriptorSets");
m_vk.freeDescriptorSets									= (FreeDescriptorSetsFunc)								GET_PROC_ADDR("vkFreeDescriptorSets");
m_vk.updateDescriptorSets								= (UpdateDescriptorSetsFunc)							GET_PROC_ADDR("vkUpdateDescriptorSets");
m_vk.createFramebuffer									= (CreateFramebufferFunc)								GET_PROC_ADDR("vkCreateFramebuffer");
m_vk.destroyFramebuffer									= (DestroyFramebufferFunc)								GET_PROC_ADDR("vkDestroyFramebuffer");
m_vk.createRenderPass									= (CreateRenderPassFunc)								GET_PROC_ADDR("vkCreateRenderPass");
m_vk.destroyRenderPass									= (DestroyRenderPassFunc)								GET_PROC_ADDR("vkDestroyRenderPass");
m_vk.getRenderAreaGranularity							= (GetRenderAreaGranularityFunc)						GET_PROC_ADDR("vkGetRenderAreaGranularity");
m_vk.createCommandPool									= (CreateCommandPoolFunc)								GET_PROC_ADDR("vkCreateCommandPool");
m_vk.destroyCommandPool									= (DestroyCommandPoolFunc)								GET_PROC_ADDR("vkDestroyCommandPool");
m_vk.resetCommandPool									= (ResetCommandPoolFunc)								GET_PROC_ADDR("vkResetCommandPool");
m_vk.allocateCommandBuffers								= (AllocateCommandBuffersFunc)							GET_PROC_ADDR("vkAllocateCommandBuffers");
m_vk.freeCommandBuffers									= (FreeCommandBuffersFunc)								GET_PROC_ADDR("vkFreeCommandBuffers");
m_vk.beginCommandBuffer									= (BeginCommandBufferFunc)								GET_PROC_ADDR("vkBeginCommandBuffer");
m_vk.endCommandBuffer									= (EndCommandBufferFunc)								GET_PROC_ADDR("vkEndCommandBuffer");
m_vk.resetCommandBuffer									= (ResetCommandBufferFunc)								GET_PROC_ADDR("vkResetCommandBuffer");
m_vk.cmdBindPipeline									= (CmdBindPipelineFunc)									GET_PROC_ADDR("vkCmdBindPipeline");
m_vk.cmdSetViewport										= (CmdSetViewportFunc)									GET_PROC_ADDR("vkCmdSetViewport");
m_vk.cmdSetScissor										= (CmdSetScissorFunc)									GET_PROC_ADDR("vkCmdSetScissor");
m_vk.cmdSetLineWidth									= (CmdSetLineWidthFunc)									GET_PROC_ADDR("vkCmdSetLineWidth");
m_vk.cmdSetDepthBias									= (CmdSetDepthBiasFunc)									GET_PROC_ADDR("vkCmdSetDepthBias");
m_vk.cmdSetBlendConstants								= (CmdSetBlendConstantsFunc)							GET_PROC_ADDR("vkCmdSetBlendConstants");
m_vk.cmdSetDepthBounds									= (CmdSetDepthBoundsFunc)								GET_PROC_ADDR("vkCmdSetDepthBounds");
m_vk.cmdSetStencilCompareMask							= (CmdSetStencilCompareMaskFunc)						GET_PROC_ADDR("vkCmdSetStencilCompareMask");
m_vk.cmdSetStencilWriteMask								= (CmdSetStencilWriteMaskFunc)							GET_PROC_ADDR("vkCmdSetStencilWriteMask");
m_vk.cmdSetStencilReference								= (CmdSetStencilReferenceFunc)							GET_PROC_ADDR("vkCmdSetStencilReference");
m_vk.cmdBindDescriptorSets								= (CmdBindDescriptorSetsFunc)							GET_PROC_ADDR("vkCmdBindDescriptorSets");
m_vk.cmdBindIndexBuffer									= (CmdBindIndexBufferFunc)								GET_PROC_ADDR("vkCmdBindIndexBuffer");
m_vk.cmdBindVertexBuffers								= (CmdBindVertexBuffersFunc)							GET_PROC_ADDR("vkCmdBindVertexBuffers");
m_vk.cmdDraw											= (CmdDrawFunc)											GET_PROC_ADDR("vkCmdDraw");
m_vk.cmdDrawIndexed										= (CmdDrawIndexedFunc)									GET_PROC_ADDR("vkCmdDrawIndexed");
m_vk.cmdDrawIndirect									= (CmdDrawIndirectFunc)									GET_PROC_ADDR("vkCmdDrawIndirect");
m_vk.cmdDrawIndexedIndirect								= (CmdDrawIndexedIndirectFunc)							GET_PROC_ADDR("vkCmdDrawIndexedIndirect");
m_vk.cmdDispatch										= (CmdDispatchFunc)										GET_PROC_ADDR("vkCmdDispatch");
m_vk.cmdDispatchIndirect								= (CmdDispatchIndirectFunc)								GET_PROC_ADDR("vkCmdDispatchIndirect");
m_vk.cmdCopyBuffer										= (CmdCopyBufferFunc)									GET_PROC_ADDR("vkCmdCopyBuffer");
m_vk.cmdCopyImage										= (CmdCopyImageFunc)									GET_PROC_ADDR("vkCmdCopyImage");
m_vk.cmdBlitImage										= (CmdBlitImageFunc)									GET_PROC_ADDR("vkCmdBlitImage");
m_vk.cmdCopyBufferToImage								= (CmdCopyBufferToImageFunc)							GET_PROC_ADDR("vkCmdCopyBufferToImage");
m_vk.cmdCopyImageToBuffer								= (CmdCopyImageToBufferFunc)							GET_PROC_ADDR("vkCmdCopyImageToBuffer");
m_vk.cmdUpdateBuffer									= (CmdUpdateBufferFunc)									GET_PROC_ADDR("vkCmdUpdateBuffer");
m_vk.cmdFillBuffer										= (CmdFillBufferFunc)									GET_PROC_ADDR("vkCmdFillBuffer");
m_vk.cmdClearColorImage									= (CmdClearColorImageFunc)								GET_PROC_ADDR("vkCmdClearColorImage");
m_vk.cmdClearDepthStencilImage							= (CmdClearDepthStencilImageFunc)						GET_PROC_ADDR("vkCmdClearDepthStencilImage");
m_vk.cmdClearAttachments								= (CmdClearAttachmentsFunc)								GET_PROC_ADDR("vkCmdClearAttachments");
m_vk.cmdResolveImage									= (CmdResolveImageFunc)									GET_PROC_ADDR("vkCmdResolveImage");
m_vk.cmdSetEvent										= (CmdSetEventFunc)										GET_PROC_ADDR("vkCmdSetEvent");
m_vk.cmdResetEvent										= (CmdResetEventFunc)									GET_PROC_ADDR("vkCmdResetEvent");
m_vk.cmdWaitEvents										= (CmdWaitEventsFunc)									GET_PROC_ADDR("vkCmdWaitEvents");
m_vk.cmdPipelineBarrier									= (CmdPipelineBarrierFunc)								GET_PROC_ADDR("vkCmdPipelineBarrier");
m_vk.cmdBeginQuery										= (CmdBeginQueryFunc)									GET_PROC_ADDR("vkCmdBeginQuery");
m_vk.cmdEndQuery										= (CmdEndQueryFunc)										GET_PROC_ADDR("vkCmdEndQuery");
m_vk.cmdResetQueryPool									= (CmdResetQueryPoolFunc)								GET_PROC_ADDR("vkCmdResetQueryPool");
m_vk.cmdWriteTimestamp									= (CmdWriteTimestampFunc)								GET_PROC_ADDR("vkCmdWriteTimestamp");
m_vk.cmdCopyQueryPoolResults							= (CmdCopyQueryPoolResultsFunc)							GET_PROC_ADDR("vkCmdCopyQueryPoolResults");
m_vk.cmdPushConstants									= (CmdPushConstantsFunc)								GET_PROC_ADDR("vkCmdPushConstants");
m_vk.cmdBeginRenderPass									= (CmdBeginRenderPassFunc)								GET_PROC_ADDR("vkCmdBeginRenderPass");
m_vk.cmdNextSubpass										= (CmdNextSubpassFunc)									GET_PROC_ADDR("vkCmdNextSubpass");
m_vk.cmdEndRenderPass									= (CmdEndRenderPassFunc)								GET_PROC_ADDR("vkCmdEndRenderPass");
m_vk.cmdExecuteCommands									= (CmdExecuteCommandsFunc)								GET_PROC_ADDR("vkCmdExecuteCommands");
m_vk.bindBufferMemory2									= (BindBufferMemory2Func)								GET_PROC_ADDR("vkBindBufferMemory2");
if (!m_vk.bindBufferMemory2)
	m_vk.bindBufferMemory2								= (BindBufferMemory2Func)								GET_PROC_ADDR("vkBindBufferMemory2KHR");
m_vk.bindImageMemory2									= (BindImageMemory2Func)								GET_PROC_ADDR("vkBindImageMemory2");
if (!m_vk.bindImageMemory2)
	m_vk.bindImageMemory2								= (BindImageMemory2Func)								GET_PROC_ADDR("vkBindImageMemory2KHR");
m_vk.getDeviceGroupPeerMemoryFeatures					= (GetDeviceGroupPeerMemoryFeaturesFunc)				GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeatures");
if (!m_vk.getDeviceGroupPeerMemoryFeatures)
	m_vk.getDeviceGroupPeerMemoryFeatures				= (GetDeviceGroupPeerMemoryFeaturesFunc)				GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeaturesKHR");
m_vk.cmdSetDeviceMask									= (CmdSetDeviceMaskFunc)								GET_PROC_ADDR("vkCmdSetDeviceMask");
if (!m_vk.cmdSetDeviceMask)
	m_vk.cmdSetDeviceMask								= (CmdSetDeviceMaskFunc)								GET_PROC_ADDR("vkCmdSetDeviceMaskKHR");
m_vk.cmdDispatchBase									= (CmdDispatchBaseFunc)									GET_PROC_ADDR("vkCmdDispatchBase");
if (!m_vk.cmdDispatchBase)
	m_vk.cmdDispatchBase								= (CmdDispatchBaseFunc)									GET_PROC_ADDR("vkCmdDispatchBaseKHR");
m_vk.getImageMemoryRequirements2						= (GetImageMemoryRequirements2Func)						GET_PROC_ADDR("vkGetImageMemoryRequirements2");
if (!m_vk.getImageMemoryRequirements2)
	m_vk.getImageMemoryRequirements2					= (GetImageMemoryRequirements2Func)						GET_PROC_ADDR("vkGetImageMemoryRequirements2KHR");
m_vk.getBufferMemoryRequirements2						= (GetBufferMemoryRequirements2Func)					GET_PROC_ADDR("vkGetBufferMemoryRequirements2");
if (!m_vk.getBufferMemoryRequirements2)
	m_vk.getBufferMemoryRequirements2					= (GetBufferMemoryRequirements2Func)					GET_PROC_ADDR("vkGetBufferMemoryRequirements2KHR");
m_vk.getImageSparseMemoryRequirements2					= (GetImageSparseMemoryRequirements2Func)				GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2");
if (!m_vk.getImageSparseMemoryRequirements2)
	m_vk.getImageSparseMemoryRequirements2				= (GetImageSparseMemoryRequirements2Func)				GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2KHR");
m_vk.trimCommandPool									= (TrimCommandPoolFunc)									GET_PROC_ADDR("vkTrimCommandPool");
if (!m_vk.trimCommandPool)
	m_vk.trimCommandPool								= (TrimCommandPoolFunc)									GET_PROC_ADDR("vkTrimCommandPoolKHR");
m_vk.getDeviceQueue2									= (GetDeviceQueue2Func)									GET_PROC_ADDR("vkGetDeviceQueue2");
m_vk.createSamplerYcbcrConversion						= (CreateSamplerYcbcrConversionFunc)					GET_PROC_ADDR("vkCreateSamplerYcbcrConversion");
if (!m_vk.createSamplerYcbcrConversion)
	m_vk.createSamplerYcbcrConversion					= (CreateSamplerYcbcrConversionFunc)					GET_PROC_ADDR("vkCreateSamplerYcbcrConversionKHR");
m_vk.destroySamplerYcbcrConversion						= (DestroySamplerYcbcrConversionFunc)					GET_PROC_ADDR("vkDestroySamplerYcbcrConversion");
if (!m_vk.destroySamplerYcbcrConversion)
	m_vk.destroySamplerYcbcrConversion					= (DestroySamplerYcbcrConversionFunc)					GET_PROC_ADDR("vkDestroySamplerYcbcrConversionKHR");
m_vk.createDescriptorUpdateTemplate						= (CreateDescriptorUpdateTemplateFunc)					GET_PROC_ADDR("vkCreateDescriptorUpdateTemplate");
if (!m_vk.createDescriptorUpdateTemplate)
	m_vk.createDescriptorUpdateTemplate					= (CreateDescriptorUpdateTemplateFunc)					GET_PROC_ADDR("vkCreateDescriptorUpdateTemplateKHR");
m_vk.destroyDescriptorUpdateTemplate					= (DestroyDescriptorUpdateTemplateFunc)					GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplate");
if (!m_vk.destroyDescriptorUpdateTemplate)
	m_vk.destroyDescriptorUpdateTemplate				= (DestroyDescriptorUpdateTemplateFunc)					GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplateKHR");
m_vk.updateDescriptorSetWithTemplate					= (UpdateDescriptorSetWithTemplateFunc)					GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplate");
if (!m_vk.updateDescriptorSetWithTemplate)
	m_vk.updateDescriptorSetWithTemplate				= (UpdateDescriptorSetWithTemplateFunc)					GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplateKHR");
m_vk.getDescriptorSetLayoutSupport						= (GetDescriptorSetLayoutSupportFunc)					GET_PROC_ADDR("vkGetDescriptorSetLayoutSupport");
if (!m_vk.getDescriptorSetLayoutSupport)
	m_vk.getDescriptorSetLayoutSupport					= (GetDescriptorSetLayoutSupportFunc)					GET_PROC_ADDR("vkGetDescriptorSetLayoutSupportKHR");
m_vk.cmdDrawIndirectCount								= (CmdDrawIndirectCountFunc)							GET_PROC_ADDR("vkCmdDrawIndirectCount");
if (!m_vk.cmdDrawIndirectCount)
	m_vk.cmdDrawIndirectCount							= (CmdDrawIndirectCountFunc)							GET_PROC_ADDR("vkCmdDrawIndirectCountKHR");
m_vk.cmdDrawIndexedIndirectCount						= (CmdDrawIndexedIndirectCountFunc)						GET_PROC_ADDR("vkCmdDrawIndexedIndirectCount");
if (!m_vk.cmdDrawIndexedIndirectCount)
	m_vk.cmdDrawIndexedIndirectCount					= (CmdDrawIndexedIndirectCountFunc)						GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountKHR");
m_vk.createRenderPass2									= (CreateRenderPass2Func)								GET_PROC_ADDR("vkCreateRenderPass2");
if (!m_vk.createRenderPass2)
	m_vk.createRenderPass2								= (CreateRenderPass2Func)								GET_PROC_ADDR("vkCreateRenderPass2KHR");
m_vk.cmdBeginRenderPass2								= (CmdBeginRenderPass2Func)								GET_PROC_ADDR("vkCmdBeginRenderPass2");
if (!m_vk.cmdBeginRenderPass2)
	m_vk.cmdBeginRenderPass2							= (CmdBeginRenderPass2Func)								GET_PROC_ADDR("vkCmdBeginRenderPass2KHR");
m_vk.cmdNextSubpass2									= (CmdNextSubpass2Func)									GET_PROC_ADDR("vkCmdNextSubpass2");
if (!m_vk.cmdNextSubpass2)
	m_vk.cmdNextSubpass2								= (CmdNextSubpass2Func)									GET_PROC_ADDR("vkCmdNextSubpass2KHR");
m_vk.cmdEndRenderPass2									= (CmdEndRenderPass2Func)								GET_PROC_ADDR("vkCmdEndRenderPass2");
if (!m_vk.cmdEndRenderPass2)
	m_vk.cmdEndRenderPass2								= (CmdEndRenderPass2Func)								GET_PROC_ADDR("vkCmdEndRenderPass2KHR");
m_vk.resetQueryPool										= (ResetQueryPoolFunc)									GET_PROC_ADDR("vkResetQueryPool");
if (!m_vk.resetQueryPool)
	m_vk.resetQueryPool									= (ResetQueryPoolFunc)									GET_PROC_ADDR("vkResetQueryPoolEXT");
m_vk.getSemaphoreCounterValue							= (GetSemaphoreCounterValueFunc)						GET_PROC_ADDR("vkGetSemaphoreCounterValue");
if (!m_vk.getSemaphoreCounterValue)
	m_vk.getSemaphoreCounterValue						= (GetSemaphoreCounterValueFunc)						GET_PROC_ADDR("vkGetSemaphoreCounterValueKHR");
m_vk.waitSemaphores										= (WaitSemaphoresFunc)									GET_PROC_ADDR("vkWaitSemaphores");
if (!m_vk.waitSemaphores)
	m_vk.waitSemaphores									= (WaitSemaphoresFunc)									GET_PROC_ADDR("vkWaitSemaphoresKHR");
m_vk.signalSemaphore									= (SignalSemaphoreFunc)									GET_PROC_ADDR("vkSignalSemaphore");
if (!m_vk.signalSemaphore)
	m_vk.signalSemaphore								= (SignalSemaphoreFunc)									GET_PROC_ADDR("vkSignalSemaphoreKHR");
m_vk.getBufferDeviceAddress								= (GetBufferDeviceAddressFunc)							GET_PROC_ADDR("vkGetBufferDeviceAddress");
if (!m_vk.getBufferDeviceAddress)
	m_vk.getBufferDeviceAddress							= (GetBufferDeviceAddressFunc)							GET_PROC_ADDR("vkGetBufferDeviceAddressKHR");
m_vk.getBufferOpaqueCaptureAddress						= (GetBufferOpaqueCaptureAddressFunc)					GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddress");
if (!m_vk.getBufferOpaqueCaptureAddress)
	m_vk.getBufferOpaqueCaptureAddress					= (GetBufferOpaqueCaptureAddressFunc)					GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddressKHR");
m_vk.getDeviceMemoryOpaqueCaptureAddress				= (GetDeviceMemoryOpaqueCaptureAddressFunc)				GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddress");
if (!m_vk.getDeviceMemoryOpaqueCaptureAddress)
	m_vk.getDeviceMemoryOpaqueCaptureAddress			= (GetDeviceMemoryOpaqueCaptureAddressFunc)				GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddressKHR");
m_vk.createSwapchainKHR									= (CreateSwapchainKHRFunc)								GET_PROC_ADDR("vkCreateSwapchainKHR");
m_vk.destroySwapchainKHR								= (DestroySwapchainKHRFunc)								GET_PROC_ADDR("vkDestroySwapchainKHR");
m_vk.getSwapchainImagesKHR								= (GetSwapchainImagesKHRFunc)							GET_PROC_ADDR("vkGetSwapchainImagesKHR");
m_vk.acquireNextImageKHR								= (AcquireNextImageKHRFunc)								GET_PROC_ADDR("vkAcquireNextImageKHR");
m_vk.queuePresentKHR									= (QueuePresentKHRFunc)									GET_PROC_ADDR("vkQueuePresentKHR");
m_vk.getDeviceGroupPresentCapabilitiesKHR				= (GetDeviceGroupPresentCapabilitiesKHRFunc)			GET_PROC_ADDR("vkGetDeviceGroupPresentCapabilitiesKHR");
m_vk.getDeviceGroupSurfacePresentModesKHR				= (GetDeviceGroupSurfacePresentModesKHRFunc)			GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModesKHR");
m_vk.acquireNextImage2KHR								= (AcquireNextImage2KHRFunc)							GET_PROC_ADDR("vkAcquireNextImage2KHR");
m_vk.createSharedSwapchainsKHR							= (CreateSharedSwapchainsKHRFunc)						GET_PROC_ADDR("vkCreateSharedSwapchainsKHR");
m_vk.cmdBeginRenderingKHR								= (CmdBeginRenderingKHRFunc)							GET_PROC_ADDR("vkCmdBeginRenderingKHR");
m_vk.cmdEndRenderingKHR									= (CmdEndRenderingKHRFunc)								GET_PROC_ADDR("vkCmdEndRenderingKHR");
m_vk.getMemoryFdKHR										= (GetMemoryFdKHRFunc)									GET_PROC_ADDR("vkGetMemoryFdKHR");
m_vk.getMemoryFdPropertiesKHR							= (GetMemoryFdPropertiesKHRFunc)						GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR");
m_vk.importSemaphoreFdKHR								= (ImportSemaphoreFdKHRFunc)							GET_PROC_ADDR("vkImportSemaphoreFdKHR");
m_vk.getSemaphoreFdKHR									= (GetSemaphoreFdKHRFunc)								GET_PROC_ADDR("vkGetSemaphoreFdKHR");
m_vk.cmdPushDescriptorSetKHR							= (CmdPushDescriptorSetKHRFunc)							GET_PROC_ADDR("vkCmdPushDescriptorSetKHR");
m_vk.cmdPushDescriptorSetWithTemplateKHR				= (CmdPushDescriptorSetWithTemplateKHRFunc)				GET_PROC_ADDR("vkCmdPushDescriptorSetWithTemplateKHR");
m_vk.getSwapchainStatusKHR								= (GetSwapchainStatusKHRFunc)							GET_PROC_ADDR("vkGetSwapchainStatusKHR");
m_vk.importFenceFdKHR									= (ImportFenceFdKHRFunc)								GET_PROC_ADDR("vkImportFenceFdKHR");
m_vk.getFenceFdKHR										= (GetFenceFdKHRFunc)									GET_PROC_ADDR("vkGetFenceFdKHR");
m_vk.acquireProfilingLockKHR							= (AcquireProfilingLockKHRFunc)							GET_PROC_ADDR("vkAcquireProfilingLockKHR");
m_vk.releaseProfilingLockKHR							= (ReleaseProfilingLockKHRFunc)							GET_PROC_ADDR("vkReleaseProfilingLockKHR");
m_vk.cmdSetFragmentShadingRateKHR						= (CmdSetFragmentShadingRateKHRFunc)					GET_PROC_ADDR("vkCmdSetFragmentShadingRateKHR");
m_vk.waitForPresentKHR									= (WaitForPresentKHRFunc)								GET_PROC_ADDR("vkWaitForPresentKHR");
m_vk.createDeferredOperationKHR							= (CreateDeferredOperationKHRFunc)						GET_PROC_ADDR("vkCreateDeferredOperationKHR");
m_vk.destroyDeferredOperationKHR						= (DestroyDeferredOperationKHRFunc)						GET_PROC_ADDR("vkDestroyDeferredOperationKHR");
m_vk.getDeferredOperationMaxConcurrencyKHR				= (GetDeferredOperationMaxConcurrencyKHRFunc)			GET_PROC_ADDR("vkGetDeferredOperationMaxConcurrencyKHR");
m_vk.getDeferredOperationResultKHR						= (GetDeferredOperationResultKHRFunc)					GET_PROC_ADDR("vkGetDeferredOperationResultKHR");
m_vk.deferredOperationJoinKHR							= (DeferredOperationJoinKHRFunc)						GET_PROC_ADDR("vkDeferredOperationJoinKHR");
m_vk.getPipelineExecutablePropertiesKHR					= (GetPipelineExecutablePropertiesKHRFunc)				GET_PROC_ADDR("vkGetPipelineExecutablePropertiesKHR");
m_vk.getPipelineExecutableStatisticsKHR					= (GetPipelineExecutableStatisticsKHRFunc)				GET_PROC_ADDR("vkGetPipelineExecutableStatisticsKHR");
m_vk.getPipelineExecutableInternalRepresentationsKHR	= (GetPipelineExecutableInternalRepresentationsKHRFunc)	GET_PROC_ADDR("vkGetPipelineExecutableInternalRepresentationsKHR");
m_vk.cmdSetEvent2KHR									= (CmdSetEvent2KHRFunc)									GET_PROC_ADDR("vkCmdSetEvent2KHR");
m_vk.cmdResetEvent2KHR									= (CmdResetEvent2KHRFunc)								GET_PROC_ADDR("vkCmdResetEvent2KHR");
m_vk.cmdWaitEvents2KHR									= (CmdWaitEvents2KHRFunc)								GET_PROC_ADDR("vkCmdWaitEvents2KHR");
m_vk.cmdPipelineBarrier2KHR								= (CmdPipelineBarrier2KHRFunc)							GET_PROC_ADDR("vkCmdPipelineBarrier2KHR");
m_vk.cmdWriteTimestamp2KHR								= (CmdWriteTimestamp2KHRFunc)							GET_PROC_ADDR("vkCmdWriteTimestamp2KHR");
m_vk.queueSubmit2KHR									= (QueueSubmit2KHRFunc)									GET_PROC_ADDR("vkQueueSubmit2KHR");
m_vk.cmdWriteBufferMarker2AMD							= (CmdWriteBufferMarker2AMDFunc)						GET_PROC_ADDR("vkCmdWriteBufferMarker2AMD");
m_vk.getQueueCheckpointData2NV							= (GetQueueCheckpointData2NVFunc)						GET_PROC_ADDR("vkGetQueueCheckpointData2NV");
m_vk.cmdCopyBuffer2KHR									= (CmdCopyBuffer2KHRFunc)								GET_PROC_ADDR("vkCmdCopyBuffer2KHR");
m_vk.cmdCopyImage2KHR									= (CmdCopyImage2KHRFunc)								GET_PROC_ADDR("vkCmdCopyImage2KHR");
m_vk.cmdCopyBufferToImage2KHR							= (CmdCopyBufferToImage2KHRFunc)						GET_PROC_ADDR("vkCmdCopyBufferToImage2KHR");
m_vk.cmdCopyImageToBuffer2KHR							= (CmdCopyImageToBuffer2KHRFunc)						GET_PROC_ADDR("vkCmdCopyImageToBuffer2KHR");
m_vk.cmdBlitImage2KHR									= (CmdBlitImage2KHRFunc)								GET_PROC_ADDR("vkCmdBlitImage2KHR");
m_vk.cmdResolveImage2KHR								= (CmdResolveImage2KHRFunc)								GET_PROC_ADDR("vkCmdResolveImage2KHR");
m_vk.getDeviceBufferMemoryRequirementsKHR				= (GetDeviceBufferMemoryRequirementsKHRFunc)			GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirementsKHR");
m_vk.getDeviceImageMemoryRequirementsKHR				= (GetDeviceImageMemoryRequirementsKHRFunc)				GET_PROC_ADDR("vkGetDeviceImageMemoryRequirementsKHR");
m_vk.getDeviceImageSparseMemoryRequirementsKHR			= (GetDeviceImageSparseMemoryRequirementsKHRFunc)		GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirementsKHR");
m_vk.debugMarkerSetObjectTagEXT							= (DebugMarkerSetObjectTagEXTFunc)						GET_PROC_ADDR("vkDebugMarkerSetObjectTagEXT");
m_vk.debugMarkerSetObjectNameEXT						= (DebugMarkerSetObjectNameEXTFunc)						GET_PROC_ADDR("vkDebugMarkerSetObjectNameEXT");
m_vk.cmdDebugMarkerBeginEXT								= (CmdDebugMarkerBeginEXTFunc)							GET_PROC_ADDR("vkCmdDebugMarkerBeginEXT");
m_vk.cmdDebugMarkerEndEXT								= (CmdDebugMarkerEndEXTFunc)							GET_PROC_ADDR("vkCmdDebugMarkerEndEXT");
m_vk.cmdDebugMarkerInsertEXT							= (CmdDebugMarkerInsertEXTFunc)							GET_PROC_ADDR("vkCmdDebugMarkerInsertEXT");
m_vk.cmdBindTransformFeedbackBuffersEXT					= (CmdBindTransformFeedbackBuffersEXTFunc)				GET_PROC_ADDR("vkCmdBindTransformFeedbackBuffersEXT");
m_vk.cmdBeginTransformFeedbackEXT						= (CmdBeginTransformFeedbackEXTFunc)					GET_PROC_ADDR("vkCmdBeginTransformFeedbackEXT");
m_vk.cmdEndTransformFeedbackEXT							= (CmdEndTransformFeedbackEXTFunc)						GET_PROC_ADDR("vkCmdEndTransformFeedbackEXT");
m_vk.cmdBeginQueryIndexedEXT							= (CmdBeginQueryIndexedEXTFunc)							GET_PROC_ADDR("vkCmdBeginQueryIndexedEXT");
m_vk.cmdEndQueryIndexedEXT								= (CmdEndQueryIndexedEXTFunc)							GET_PROC_ADDR("vkCmdEndQueryIndexedEXT");
m_vk.cmdDrawIndirectByteCountEXT						= (CmdDrawIndirectByteCountEXTFunc)						GET_PROC_ADDR("vkCmdDrawIndirectByteCountEXT");
m_vk.createCuModuleNVX									= (CreateCuModuleNVXFunc)								GET_PROC_ADDR("vkCreateCuModuleNVX");
m_vk.createCuFunctionNVX								= (CreateCuFunctionNVXFunc)								GET_PROC_ADDR("vkCreateCuFunctionNVX");
m_vk.destroyCuModuleNVX									= (DestroyCuModuleNVXFunc)								GET_PROC_ADDR("vkDestroyCuModuleNVX");
m_vk.destroyCuFunctionNVX								= (DestroyCuFunctionNVXFunc)							GET_PROC_ADDR("vkDestroyCuFunctionNVX");
m_vk.cmdCuLaunchKernelNVX								= (CmdCuLaunchKernelNVXFunc)							GET_PROC_ADDR("vkCmdCuLaunchKernelNVX");
m_vk.getImageViewHandleNVX								= (GetImageViewHandleNVXFunc)							GET_PROC_ADDR("vkGetImageViewHandleNVX");
m_vk.getImageViewAddressNVX								= (GetImageViewAddressNVXFunc)							GET_PROC_ADDR("vkGetImageViewAddressNVX");
m_vk.cmdDrawIndirectCountAMD							= (CmdDrawIndirectCountAMDFunc)							GET_PROC_ADDR("vkCmdDrawIndirectCountAMD");
m_vk.cmdDrawIndexedIndirectCountAMD						= (CmdDrawIndexedIndirectCountAMDFunc)					GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountAMD");
m_vk.getShaderInfoAMD									= (GetShaderInfoAMDFunc)								GET_PROC_ADDR("vkGetShaderInfoAMD");
m_vk.cmdBeginConditionalRenderingEXT					= (CmdBeginConditionalRenderingEXTFunc)					GET_PROC_ADDR("vkCmdBeginConditionalRenderingEXT");
m_vk.cmdEndConditionalRenderingEXT						= (CmdEndConditionalRenderingEXTFunc)					GET_PROC_ADDR("vkCmdEndConditionalRenderingEXT");
m_vk.cmdSetViewportWScalingNV							= (CmdSetViewportWScalingNVFunc)						GET_PROC_ADDR("vkCmdSetViewportWScalingNV");
m_vk.displayPowerControlEXT								= (DisplayPowerControlEXTFunc)							GET_PROC_ADDR("vkDisplayPowerControlEXT");
m_vk.registerDeviceEventEXT								= (RegisterDeviceEventEXTFunc)							GET_PROC_ADDR("vkRegisterDeviceEventEXT");
m_vk.registerDisplayEventEXT							= (RegisterDisplayEventEXTFunc)							GET_PROC_ADDR("vkRegisterDisplayEventEXT");
m_vk.getSwapchainCounterEXT								= (GetSwapchainCounterEXTFunc)							GET_PROC_ADDR("vkGetSwapchainCounterEXT");
m_vk.getRefreshCycleDurationGOOGLE						= (GetRefreshCycleDurationGOOGLEFunc)					GET_PROC_ADDR("vkGetRefreshCycleDurationGOOGLE");
m_vk.getPastPresentationTimingGOOGLE					= (GetPastPresentationTimingGOOGLEFunc)					GET_PROC_ADDR("vkGetPastPresentationTimingGOOGLE");
m_vk.cmdSetDiscardRectangleEXT							= (CmdSetDiscardRectangleEXTFunc)						GET_PROC_ADDR("vkCmdSetDiscardRectangleEXT");
m_vk.setHdrMetadataEXT									= (SetHdrMetadataEXTFunc)								GET_PROC_ADDR("vkSetHdrMetadataEXT");
m_vk.setDebugUtilsObjectNameEXT							= (SetDebugUtilsObjectNameEXTFunc)						GET_PROC_ADDR("vkSetDebugUtilsObjectNameEXT");
m_vk.setDebugUtilsObjectTagEXT							= (SetDebugUtilsObjectTagEXTFunc)						GET_PROC_ADDR("vkSetDebugUtilsObjectTagEXT");
m_vk.queueBeginDebugUtilsLabelEXT						= (QueueBeginDebugUtilsLabelEXTFunc)					GET_PROC_ADDR("vkQueueBeginDebugUtilsLabelEXT");
m_vk.queueEndDebugUtilsLabelEXT							= (QueueEndDebugUtilsLabelEXTFunc)						GET_PROC_ADDR("vkQueueEndDebugUtilsLabelEXT");
m_vk.queueInsertDebugUtilsLabelEXT						= (QueueInsertDebugUtilsLabelEXTFunc)					GET_PROC_ADDR("vkQueueInsertDebugUtilsLabelEXT");
m_vk.cmdBeginDebugUtilsLabelEXT							= (CmdBeginDebugUtilsLabelEXTFunc)						GET_PROC_ADDR("vkCmdBeginDebugUtilsLabelEXT");
m_vk.cmdEndDebugUtilsLabelEXT							= (CmdEndDebugUtilsLabelEXTFunc)						GET_PROC_ADDR("vkCmdEndDebugUtilsLabelEXT");
m_vk.cmdInsertDebugUtilsLabelEXT						= (CmdInsertDebugUtilsLabelEXTFunc)						GET_PROC_ADDR("vkCmdInsertDebugUtilsLabelEXT");
m_vk.cmdSetSampleLocationsEXT							= (CmdSetSampleLocationsEXTFunc)						GET_PROC_ADDR("vkCmdSetSampleLocationsEXT");
m_vk.getImageDrmFormatModifierPropertiesEXT				= (GetImageDrmFormatModifierPropertiesEXTFunc)			GET_PROC_ADDR("vkGetImageDrmFormatModifierPropertiesEXT");
m_vk.createValidationCacheEXT							= (CreateValidationCacheEXTFunc)						GET_PROC_ADDR("vkCreateValidationCacheEXT");
m_vk.destroyValidationCacheEXT							= (DestroyValidationCacheEXTFunc)						GET_PROC_ADDR("vkDestroyValidationCacheEXT");
m_vk.mergeValidationCachesEXT							= (MergeValidationCachesEXTFunc)						GET_PROC_ADDR("vkMergeValidationCachesEXT");
m_vk.getValidationCacheDataEXT							= (GetValidationCacheDataEXTFunc)						GET_PROC_ADDR("vkGetValidationCacheDataEXT");
m_vk.cmdBindShadingRateImageNV							= (CmdBindShadingRateImageNVFunc)						GET_PROC_ADDR("vkCmdBindShadingRateImageNV");
m_vk.cmdSetViewportShadingRatePaletteNV					= (CmdSetViewportShadingRatePaletteNVFunc)				GET_PROC_ADDR("vkCmdSetViewportShadingRatePaletteNV");
m_vk.cmdSetCoarseSampleOrderNV							= (CmdSetCoarseSampleOrderNVFunc)						GET_PROC_ADDR("vkCmdSetCoarseSampleOrderNV");
m_vk.createAccelerationStructureNV						= (CreateAccelerationStructureNVFunc)					GET_PROC_ADDR("vkCreateAccelerationStructureNV");
m_vk.destroyAccelerationStructureNV						= (DestroyAccelerationStructureNVFunc)					GET_PROC_ADDR("vkDestroyAccelerationStructureNV");
m_vk.getAccelerationStructureMemoryRequirementsNV		= (GetAccelerationStructureMemoryRequirementsNVFunc)	GET_PROC_ADDR("vkGetAccelerationStructureMemoryRequirementsNV");
m_vk.bindAccelerationStructureMemoryNV					= (BindAccelerationStructureMemoryNVFunc)				GET_PROC_ADDR("vkBindAccelerationStructureMemoryNV");
m_vk.cmdBuildAccelerationStructureNV					= (CmdBuildAccelerationStructureNVFunc)					GET_PROC_ADDR("vkCmdBuildAccelerationStructureNV");
m_vk.cmdCopyAccelerationStructureNV						= (CmdCopyAccelerationStructureNVFunc)					GET_PROC_ADDR("vkCmdCopyAccelerationStructureNV");
m_vk.cmdTraceRaysNV										= (CmdTraceRaysNVFunc)									GET_PROC_ADDR("vkCmdTraceRaysNV");
m_vk.createRayTracingPipelinesNV						= (CreateRayTracingPipelinesNVFunc)						GET_PROC_ADDR("vkCreateRayTracingPipelinesNV");
m_vk.getRayTracingShaderGroupHandlesKHR					= (GetRayTracingShaderGroupHandlesKHRFunc)				GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesKHR");
m_vk.getRayTracingShaderGroupHandlesNV					= (GetRayTracingShaderGroupHandlesNVFunc)				GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesNV");
m_vk.getAccelerationStructureHandleNV					= (GetAccelerationStructureHandleNVFunc)				GET_PROC_ADDR("vkGetAccelerationStructureHandleNV");
m_vk.cmdWriteAccelerationStructuresPropertiesNV			= (CmdWriteAccelerationStructuresPropertiesNVFunc)		GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesNV");
m_vk.compileDeferredNV									= (CompileDeferredNVFunc)								GET_PROC_ADDR("vkCompileDeferredNV");
m_vk.getMemoryHostPointerPropertiesEXT					= (GetMemoryHostPointerPropertiesEXTFunc)				GET_PROC_ADDR("vkGetMemoryHostPointerPropertiesEXT");
m_vk.cmdWriteBufferMarkerAMD							= (CmdWriteBufferMarkerAMDFunc)							GET_PROC_ADDR("vkCmdWriteBufferMarkerAMD");
m_vk.getCalibratedTimestampsEXT							= (GetCalibratedTimestampsEXTFunc)						GET_PROC_ADDR("vkGetCalibratedTimestampsEXT");
m_vk.cmdDrawMeshTasksNV									= (CmdDrawMeshTasksNVFunc)								GET_PROC_ADDR("vkCmdDrawMeshTasksNV");
m_vk.cmdDrawMeshTasksIndirectNV							= (CmdDrawMeshTasksIndirectNVFunc)						GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectNV");
m_vk.cmdDrawMeshTasksIndirectCountNV					= (CmdDrawMeshTasksIndirectCountNVFunc)					GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectCountNV");
m_vk.cmdSetExclusiveScissorNV							= (CmdSetExclusiveScissorNVFunc)						GET_PROC_ADDR("vkCmdSetExclusiveScissorNV");
m_vk.cmdSetCheckpointNV									= (CmdSetCheckpointNVFunc)								GET_PROC_ADDR("vkCmdSetCheckpointNV");
m_vk.getQueueCheckpointDataNV							= (GetQueueCheckpointDataNVFunc)						GET_PROC_ADDR("vkGetQueueCheckpointDataNV");
m_vk.initializePerformanceApiINTEL						= (InitializePerformanceApiINTELFunc)					GET_PROC_ADDR("vkInitializePerformanceApiINTEL");
m_vk.uninitializePerformanceApiINTEL					= (UninitializePerformanceApiINTELFunc)					GET_PROC_ADDR("vkUninitializePerformanceApiINTEL");
m_vk.cmdSetPerformanceMarkerINTEL						= (CmdSetPerformanceMarkerINTELFunc)					GET_PROC_ADDR("vkCmdSetPerformanceMarkerINTEL");
m_vk.cmdSetPerformanceStreamMarkerINTEL					= (CmdSetPerformanceStreamMarkerINTELFunc)				GET_PROC_ADDR("vkCmdSetPerformanceStreamMarkerINTEL");
m_vk.cmdSetPerformanceOverrideINTEL						= (CmdSetPerformanceOverrideINTELFunc)					GET_PROC_ADDR("vkCmdSetPerformanceOverrideINTEL");
m_vk.acquirePerformanceConfigurationINTEL				= (AcquirePerformanceConfigurationINTELFunc)			GET_PROC_ADDR("vkAcquirePerformanceConfigurationINTEL");
m_vk.releasePerformanceConfigurationINTEL				= (ReleasePerformanceConfigurationINTELFunc)			GET_PROC_ADDR("vkReleasePerformanceConfigurationINTEL");
m_vk.queueSetPerformanceConfigurationINTEL				= (QueueSetPerformanceConfigurationINTELFunc)			GET_PROC_ADDR("vkQueueSetPerformanceConfigurationINTEL");
m_vk.getPerformanceParameterINTEL						= (GetPerformanceParameterINTELFunc)					GET_PROC_ADDR("vkGetPerformanceParameterINTEL");
m_vk.setLocalDimmingAMD									= (SetLocalDimmingAMDFunc)								GET_PROC_ADDR("vkSetLocalDimmingAMD");
m_vk.getBufferDeviceAddressEXT							= (GetBufferDeviceAddressEXTFunc)						GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
m_vk.cmdSetLineStippleEXT								= (CmdSetLineStippleEXTFunc)							GET_PROC_ADDR("vkCmdSetLineStippleEXT");
m_vk.cmdSetCullModeEXT									= (CmdSetCullModeEXTFunc)								GET_PROC_ADDR("vkCmdSetCullModeEXT");
m_vk.cmdSetFrontFaceEXT									= (CmdSetFrontFaceEXTFunc)								GET_PROC_ADDR("vkCmdSetFrontFaceEXT");
m_vk.cmdSetPrimitiveTopologyEXT							= (CmdSetPrimitiveTopologyEXTFunc)						GET_PROC_ADDR("vkCmdSetPrimitiveTopologyEXT");
m_vk.cmdSetViewportWithCountEXT							= (CmdSetViewportWithCountEXTFunc)						GET_PROC_ADDR("vkCmdSetViewportWithCountEXT");
m_vk.cmdSetScissorWithCountEXT							= (CmdSetScissorWithCountEXTFunc)						GET_PROC_ADDR("vkCmdSetScissorWithCountEXT");
m_vk.cmdBindVertexBuffers2EXT							= (CmdBindVertexBuffers2EXTFunc)						GET_PROC_ADDR("vkCmdBindVertexBuffers2EXT");
m_vk.cmdSetDepthTestEnableEXT							= (CmdSetDepthTestEnableEXTFunc)						GET_PROC_ADDR("vkCmdSetDepthTestEnableEXT");
m_vk.cmdSetDepthWriteEnableEXT							= (CmdSetDepthWriteEnableEXTFunc)						GET_PROC_ADDR("vkCmdSetDepthWriteEnableEXT");
m_vk.cmdSetDepthCompareOpEXT							= (CmdSetDepthCompareOpEXTFunc)							GET_PROC_ADDR("vkCmdSetDepthCompareOpEXT");
m_vk.cmdSetDepthBoundsTestEnableEXT						= (CmdSetDepthBoundsTestEnableEXTFunc)					GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnableEXT");
m_vk.cmdSetStencilTestEnableEXT							= (CmdSetStencilTestEnableEXTFunc)						GET_PROC_ADDR("vkCmdSetStencilTestEnableEXT");
m_vk.cmdSetStencilOpEXT									= (CmdSetStencilOpEXTFunc)								GET_PROC_ADDR("vkCmdSetStencilOpEXT");
m_vk.getGeneratedCommandsMemoryRequirementsNV			= (GetGeneratedCommandsMemoryRequirementsNVFunc)		GET_PROC_ADDR("vkGetGeneratedCommandsMemoryRequirementsNV");
m_vk.cmdPreprocessGeneratedCommandsNV					= (CmdPreprocessGeneratedCommandsNVFunc)				GET_PROC_ADDR("vkCmdPreprocessGeneratedCommandsNV");
m_vk.cmdExecuteGeneratedCommandsNV						= (CmdExecuteGeneratedCommandsNVFunc)					GET_PROC_ADDR("vkCmdExecuteGeneratedCommandsNV");
m_vk.cmdBindPipelineShaderGroupNV						= (CmdBindPipelineShaderGroupNVFunc)					GET_PROC_ADDR("vkCmdBindPipelineShaderGroupNV");
m_vk.createIndirectCommandsLayoutNV						= (CreateIndirectCommandsLayoutNVFunc)					GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNV");
m_vk.destroyIndirectCommandsLayoutNV					= (DestroyIndirectCommandsLayoutNVFunc)					GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNV");
m_vk.createPrivateDataSlotEXT							= (CreatePrivateDataSlotEXTFunc)						GET_PROC_ADDR("vkCreatePrivateDataSlotEXT");
m_vk.destroyPrivateDataSlotEXT							= (DestroyPrivateDataSlotEXTFunc)						GET_PROC_ADDR("vkDestroyPrivateDataSlotEXT");
m_vk.setPrivateDataEXT									= (SetPrivateDataEXTFunc)								GET_PROC_ADDR("vkSetPrivateDataEXT");
m_vk.getPrivateDataEXT									= (GetPrivateDataEXTFunc)								GET_PROC_ADDR("vkGetPrivateDataEXT");
m_vk.cmdSetFragmentShadingRateEnumNV					= (CmdSetFragmentShadingRateEnumNVFunc)					GET_PROC_ADDR("vkCmdSetFragmentShadingRateEnumNV");
m_vk.cmdSetVertexInputEXT								= (CmdSetVertexInputEXTFunc)							GET_PROC_ADDR("vkCmdSetVertexInputEXT");
m_vk.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI		= (GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc)	GET_PROC_ADDR("vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI");
m_vk.cmdSubpassShadingHUAWEI							= (CmdSubpassShadingHUAWEIFunc)							GET_PROC_ADDR("vkCmdSubpassShadingHUAWEI");
m_vk.cmdBindInvocationMaskHUAWEI						= (CmdBindInvocationMaskHUAWEIFunc)						GET_PROC_ADDR("vkCmdBindInvocationMaskHUAWEI");
m_vk.getMemoryRemoteAddressNV							= (GetMemoryRemoteAddressNVFunc)						GET_PROC_ADDR("vkGetMemoryRemoteAddressNV");
m_vk.cmdSetPatchControlPointsEXT						= (CmdSetPatchControlPointsEXTFunc)						GET_PROC_ADDR("vkCmdSetPatchControlPointsEXT");
m_vk.cmdSetRasterizerDiscardEnableEXT					= (CmdSetRasterizerDiscardEnableEXTFunc)				GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT");
m_vk.cmdSetDepthBiasEnableEXT							= (CmdSetDepthBiasEnableEXTFunc)						GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT");
m_vk.cmdSetLogicOpEXT									= (CmdSetLogicOpEXTFunc)								GET_PROC_ADDR("vkCmdSetLogicOpEXT");
m_vk.cmdSetPrimitiveRestartEnableEXT					= (CmdSetPrimitiveRestartEnableEXTFunc)					GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT");
m_vk.cmdSetColorWriteEnableEXT							= (CmdSetColorWriteEnableEXTFunc)						GET_PROC_ADDR("vkCmdSetColorWriteEnableEXT");
m_vk.cmdDrawMultiEXT									= (CmdDrawMultiEXTFunc)									GET_PROC_ADDR("vkCmdDrawMultiEXT");
m_vk.cmdDrawMultiIndexedEXT								= (CmdDrawMultiIndexedEXTFunc)							GET_PROC_ADDR("vkCmdDrawMultiIndexedEXT");
m_vk.setDeviceMemoryPriorityEXT							= (SetDeviceMemoryPriorityEXTFunc)						GET_PROC_ADDR("vkSetDeviceMemoryPriorityEXT");
m_vk.createAccelerationStructureKHR						= (CreateAccelerationStructureKHRFunc)					GET_PROC_ADDR("vkCreateAccelerationStructureKHR");
m_vk.destroyAccelerationStructureKHR					= (DestroyAccelerationStructureKHRFunc)					GET_PROC_ADDR("vkDestroyAccelerationStructureKHR");
m_vk.cmdBuildAccelerationStructuresKHR					= (CmdBuildAccelerationStructuresKHRFunc)				GET_PROC_ADDR("vkCmdBuildAccelerationStructuresKHR");
m_vk.cmdBuildAccelerationStructuresIndirectKHR			= (CmdBuildAccelerationStructuresIndirectKHRFunc)		GET_PROC_ADDR("vkCmdBuildAccelerationStructuresIndirectKHR");
m_vk.buildAccelerationStructuresKHR						= (BuildAccelerationStructuresKHRFunc)					GET_PROC_ADDR("vkBuildAccelerationStructuresKHR");
m_vk.copyAccelerationStructureKHR						= (CopyAccelerationStructureKHRFunc)					GET_PROC_ADDR("vkCopyAccelerationStructureKHR");
m_vk.copyAccelerationStructureToMemoryKHR				= (CopyAccelerationStructureToMemoryKHRFunc)			GET_PROC_ADDR("vkCopyAccelerationStructureToMemoryKHR");
m_vk.copyMemoryToAccelerationStructureKHR				= (CopyMemoryToAccelerationStructureKHRFunc)			GET_PROC_ADDR("vkCopyMemoryToAccelerationStructureKHR");
m_vk.writeAccelerationStructuresPropertiesKHR			= (WriteAccelerationStructuresPropertiesKHRFunc)		GET_PROC_ADDR("vkWriteAccelerationStructuresPropertiesKHR");
m_vk.cmdCopyAccelerationStructureKHR					= (CmdCopyAccelerationStructureKHRFunc)					GET_PROC_ADDR("vkCmdCopyAccelerationStructureKHR");
m_vk.cmdCopyAccelerationStructureToMemoryKHR			= (CmdCopyAccelerationStructureToMemoryKHRFunc)			GET_PROC_ADDR("vkCmdCopyAccelerationStructureToMemoryKHR");
m_vk.cmdCopyMemoryToAccelerationStructureKHR			= (CmdCopyMemoryToAccelerationStructureKHRFunc)			GET_PROC_ADDR("vkCmdCopyMemoryToAccelerationStructureKHR");
m_vk.getAccelerationStructureDeviceAddressKHR			= (GetAccelerationStructureDeviceAddressKHRFunc)		GET_PROC_ADDR("vkGetAccelerationStructureDeviceAddressKHR");
m_vk.cmdWriteAccelerationStructuresPropertiesKHR		= (CmdWriteAccelerationStructuresPropertiesKHRFunc)		GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesKHR");
m_vk.getDeviceAccelerationStructureCompatibilityKHR		= (GetDeviceAccelerationStructureCompatibilityKHRFunc)	GET_PROC_ADDR("vkGetDeviceAccelerationStructureCompatibilityKHR");
m_vk.getAccelerationStructureBuildSizesKHR				= (GetAccelerationStructureBuildSizesKHRFunc)			GET_PROC_ADDR("vkGetAccelerationStructureBuildSizesKHR");
m_vk.cmdTraceRaysKHR									= (CmdTraceRaysKHRFunc)									GET_PROC_ADDR("vkCmdTraceRaysKHR");
m_vk.createRayTracingPipelinesKHR						= (CreateRayTracingPipelinesKHRFunc)					GET_PROC_ADDR("vkCreateRayTracingPipelinesKHR");
m_vk.getRayTracingCaptureReplayShaderGroupHandlesKHR	= (GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc)	GET_PROC_ADDR("vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
m_vk.cmdTraceRaysIndirectKHR							= (CmdTraceRaysIndirectKHRFunc)							GET_PROC_ADDR("vkCmdTraceRaysIndirectKHR");
m_vk.getRayTracingShaderGroupStackSizeKHR				= (GetRayTracingShaderGroupStackSizeKHRFunc)			GET_PROC_ADDR("vkGetRayTracingShaderGroupStackSizeKHR");
m_vk.cmdSetRayTracingPipelineStackSizeKHR				= (CmdSetRayTracingPipelineStackSizeKHRFunc)			GET_PROC_ADDR("vkCmdSetRayTracingPipelineStackSizeKHR");
m_vk.getAndroidHardwareBufferPropertiesANDROID			= (GetAndroidHardwareBufferPropertiesANDROIDFunc)		GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID");
m_vk.getMemoryAndroidHardwareBufferANDROID				= (GetMemoryAndroidHardwareBufferANDROIDFunc)			GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID");
m_vk.createVideoSessionKHR								= (CreateVideoSessionKHRFunc)							GET_PROC_ADDR("vkCreateVideoSessionKHR");
m_vk.destroyVideoSessionKHR								= (DestroyVideoSessionKHRFunc)							GET_PROC_ADDR("vkDestroyVideoSessionKHR");
m_vk.getVideoSessionMemoryRequirementsKHR				= (GetVideoSessionMemoryRequirementsKHRFunc)			GET_PROC_ADDR("vkGetVideoSessionMemoryRequirementsKHR");
m_vk.bindVideoSessionMemoryKHR							= (BindVideoSessionMemoryKHRFunc)						GET_PROC_ADDR("vkBindVideoSessionMemoryKHR");
m_vk.createVideoSessionParametersKHR					= (CreateVideoSessionParametersKHRFunc)					GET_PROC_ADDR("vkCreateVideoSessionParametersKHR");
m_vk.updateVideoSessionParametersKHR					= (UpdateVideoSessionParametersKHRFunc)					GET_PROC_ADDR("vkUpdateVideoSessionParametersKHR");
m_vk.destroyVideoSessionParametersKHR					= (DestroyVideoSessionParametersKHRFunc)				GET_PROC_ADDR("vkDestroyVideoSessionParametersKHR");
m_vk.cmdBeginVideoCodingKHR								= (CmdBeginVideoCodingKHRFunc)							GET_PROC_ADDR("vkCmdBeginVideoCodingKHR");
m_vk.cmdEndVideoCodingKHR								= (CmdEndVideoCodingKHRFunc)							GET_PROC_ADDR("vkCmdEndVideoCodingKHR");
m_vk.cmdControlVideoCodingKHR							= (CmdControlVideoCodingKHRFunc)						GET_PROC_ADDR("vkCmdControlVideoCodingKHR");
m_vk.cmdDecodeVideoKHR									= (CmdDecodeVideoKHRFunc)								GET_PROC_ADDR("vkCmdDecodeVideoKHR");
m_vk.cmdEncodeVideoKHR									= (CmdEncodeVideoKHRFunc)								GET_PROC_ADDR("vkCmdEncodeVideoKHR");
m_vk.getMemoryZirconHandleFUCHSIA						= (GetMemoryZirconHandleFUCHSIAFunc)					GET_PROC_ADDR("vkGetMemoryZirconHandleFUCHSIA");
m_vk.getMemoryZirconHandlePropertiesFUCHSIA				= (GetMemoryZirconHandlePropertiesFUCHSIAFunc)			GET_PROC_ADDR("vkGetMemoryZirconHandlePropertiesFUCHSIA");
m_vk.importSemaphoreZirconHandleFUCHSIA					= (ImportSemaphoreZirconHandleFUCHSIAFunc)				GET_PROC_ADDR("vkImportSemaphoreZirconHandleFUCHSIA");
m_vk.getSemaphoreZirconHandleFUCHSIA					= (GetSemaphoreZirconHandleFUCHSIAFunc)					GET_PROC_ADDR("vkGetSemaphoreZirconHandleFUCHSIA");
m_vk.getMemoryWin32HandleKHR							= (GetMemoryWin32HandleKHRFunc)							GET_PROC_ADDR("vkGetMemoryWin32HandleKHR");
m_vk.getMemoryWin32HandlePropertiesKHR					= (GetMemoryWin32HandlePropertiesKHRFunc)				GET_PROC_ADDR("vkGetMemoryWin32HandlePropertiesKHR");
m_vk.importSemaphoreWin32HandleKHR						= (ImportSemaphoreWin32HandleKHRFunc)					GET_PROC_ADDR("vkImportSemaphoreWin32HandleKHR");
m_vk.getSemaphoreWin32HandleKHR							= (GetSemaphoreWin32HandleKHRFunc)						GET_PROC_ADDR("vkGetSemaphoreWin32HandleKHR");
m_vk.importFenceWin32HandleKHR							= (ImportFenceWin32HandleKHRFunc)						GET_PROC_ADDR("vkImportFenceWin32HandleKHR");
m_vk.getFenceWin32HandleKHR								= (GetFenceWin32HandleKHRFunc)							GET_PROC_ADDR("vkGetFenceWin32HandleKHR");
m_vk.getMemoryWin32HandleNV								= (GetMemoryWin32HandleNVFunc)							GET_PROC_ADDR("vkGetMemoryWin32HandleNV");
m_vk.acquireFullScreenExclusiveModeEXT					= (AcquireFullScreenExclusiveModeEXTFunc)				GET_PROC_ADDR("vkAcquireFullScreenExclusiveModeEXT");
m_vk.releaseFullScreenExclusiveModeEXT					= (ReleaseFullScreenExclusiveModeEXTFunc)				GET_PROC_ADDR("vkReleaseFullScreenExclusiveModeEXT");
m_vk.getDeviceGroupSurfacePresentModes2EXT				= (GetDeviceGroupSurfacePresentModes2EXTFunc)			GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModes2EXT");
