/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 * This file was generated by /scripts/gen_framework.py
 */
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.createPrivateDataSlot								= (CreatePrivateDataSlotFunc)							GET_PROC_ADDR("vkCreatePrivateDataSlot");
if (!m_vk.createPrivateDataSlot)
	m_vk.createPrivateDataSlot							= (CreatePrivateDataSlotFunc)							GET_PROC_ADDR("vkCreatePrivateDataSlotEXT");
m_vk.destroyPrivateDataSlot								= (DestroyPrivateDataSlotFunc)							GET_PROC_ADDR("vkDestroyPrivateDataSlot");
if (!m_vk.destroyPrivateDataSlot)
	m_vk.destroyPrivateDataSlot							= (DestroyPrivateDataSlotFunc)							GET_PROC_ADDR("vkDestroyPrivateDataSlotEXT");
m_vk.setPrivateData										= (SetPrivateDataFunc)									GET_PROC_ADDR("vkSetPrivateData");
if (!m_vk.setPrivateData)
	m_vk.setPrivateData									= (SetPrivateDataFunc)									GET_PROC_ADDR("vkSetPrivateDataEXT");
m_vk.getPrivateData										= (GetPrivateDataFunc)									GET_PROC_ADDR("vkGetPrivateData");
if (!m_vk.getPrivateData)
	m_vk.getPrivateData									= (GetPrivateDataFunc)									GET_PROC_ADDR("vkGetPrivateDataEXT");
m_vk.cmdSetEvent2										= (CmdSetEvent2Func)									GET_PROC_ADDR("vkCmdSetEvent2");
if (!m_vk.cmdSetEvent2)
	m_vk.cmdSetEvent2									= (CmdSetEvent2Func)									GET_PROC_ADDR("vkCmdSetEvent2KHR");
m_vk.cmdResetEvent2										= (CmdResetEvent2Func)									GET_PROC_ADDR("vkCmdResetEvent2");
if (!m_vk.cmdResetEvent2)
	m_vk.cmdResetEvent2									= (CmdResetEvent2Func)									GET_PROC_ADDR("vkCmdResetEvent2KHR");
m_vk.cmdWaitEvents2										= (CmdWaitEvents2Func)									GET_PROC_ADDR("vkCmdWaitEvents2");
if (!m_vk.cmdWaitEvents2)
	m_vk.cmdWaitEvents2									= (CmdWaitEvents2Func)									GET_PROC_ADDR("vkCmdWaitEvents2KHR");
m_vk.cmdPipelineBarrier2								= (CmdPipelineBarrier2Func)								GET_PROC_ADDR("vkCmdPipelineBarrier2");
if (!m_vk.cmdPipelineBarrier2)
	m_vk.cmdPipelineBarrier2							= (CmdPipelineBarrier2Func)								GET_PROC_ADDR("vkCmdPipelineBarrier2KHR");
m_vk.cmdWriteTimestamp2									= (CmdWriteTimestamp2Func)								GET_PROC_ADDR("vkCmdWriteTimestamp2");
if (!m_vk.cmdWriteTimestamp2)
	m_vk.cmdWriteTimestamp2								= (CmdWriteTimestamp2Func)								GET_PROC_ADDR("vkCmdWriteTimestamp2KHR");
m_vk.queueSubmit2										= (QueueSubmit2Func)									GET_PROC_ADDR("vkQueueSubmit2");
if (!m_vk.queueSubmit2)
	m_vk.queueSubmit2									= (QueueSubmit2Func)									GET_PROC_ADDR("vkQueueSubmit2KHR");
m_vk.cmdCopyBuffer2										= (CmdCopyBuffer2Func)									GET_PROC_ADDR("vkCmdCopyBuffer2");
if (!m_vk.cmdCopyBuffer2)
	m_vk.cmdCopyBuffer2									= (CmdCopyBuffer2Func)									GET_PROC_ADDR("vkCmdCopyBuffer2KHR");
m_vk.cmdCopyImage2										= (CmdCopyImage2Func)									GET_PROC_ADDR("vkCmdCopyImage2");
if (!m_vk.cmdCopyImage2)
	m_vk.cmdCopyImage2									= (CmdCopyImage2Func)									GET_PROC_ADDR("vkCmdCopyImage2KHR");
m_vk.cmdCopyBufferToImage2								= (CmdCopyBufferToImage2Func)							GET_PROC_ADDR("vkCmdCopyBufferToImage2");
if (!m_vk.cmdCopyBufferToImage2)
	m_vk.cmdCopyBufferToImage2							= (CmdCopyBufferToImage2Func)							GET_PROC_ADDR("vkCmdCopyBufferToImage2KHR");
m_vk.cmdCopyImageToBuffer2								= (CmdCopyImageToBuffer2Func)							GET_PROC_ADDR("vkCmdCopyImageToBuffer2");
if (!m_vk.cmdCopyImageToBuffer2)
	m_vk.cmdCopyImageToBuffer2							= (CmdCopyImageToBuffer2Func)							GET_PROC_ADDR("vkCmdCopyImageToBuffer2KHR");
m_vk.cmdBlitImage2										= (CmdBlitImage2Func)									GET_PROC_ADDR("vkCmdBlitImage2");
if (!m_vk.cmdBlitImage2)
	m_vk.cmdBlitImage2									= (CmdBlitImage2Func)									GET_PROC_ADDR("vkCmdBlitImage2KHR");
m_vk.cmdResolveImage2									= (CmdResolveImage2Func)								GET_PROC_ADDR("vkCmdResolveImage2");
if (!m_vk.cmdResolveImage2)
	m_vk.cmdResolveImage2								= (CmdResolveImage2Func)								GET_PROC_ADDR("vkCmdResolveImage2KHR");
m_vk.cmdBeginRendering									= (CmdBeginRenderingFunc)								GET_PROC_ADDR("vkCmdBeginRendering");
if (!m_vk.cmdBeginRendering)
	m_vk.cmdBeginRendering								= (CmdBeginRenderingFunc)								GET_PROC_ADDR("vkCmdBeginRenderingKHR");
m_vk.cmdEndRendering									= (CmdEndRenderingFunc)									GET_PROC_ADDR("vkCmdEndRendering");
if (!m_vk.cmdEndRendering)
	m_vk.cmdEndRendering								= (CmdEndRenderingFunc)									GET_PROC_ADDR("vkCmdEndRenderingKHR");
m_vk.cmdSetCullMode										= (CmdSetCullModeFunc)									GET_PROC_ADDR("vkCmdSetCullMode");
if (!m_vk.cmdSetCullMode)
	m_vk.cmdSetCullMode									= (CmdSetCullModeFunc)									GET_PROC_ADDR("vkCmdSetCullModeEXT");
m_vk.cmdSetFrontFace									= (CmdSetFrontFaceFunc)									GET_PROC_ADDR("vkCmdSetFrontFace");
if (!m_vk.cmdSetFrontFace)
	m_vk.cmdSetFrontFace								= (CmdSetFrontFaceFunc)									GET_PROC_ADDR("vkCmdSetFrontFaceEXT");
m_vk.cmdSetPrimitiveTopology							= (CmdSetPrimitiveTopologyFunc)							GET_PROC_ADDR("vkCmdSetPrimitiveTopology");
if (!m_vk.cmdSetPrimitiveTopology)
	m_vk.cmdSetPrimitiveTopology						= (CmdSetPrimitiveTopologyFunc)							GET_PROC_ADDR("vkCmdSetPrimitiveTopologyEXT");
m_vk.cmdSetViewportWithCount							= (CmdSetViewportWithCountFunc)							GET_PROC_ADDR("vkCmdSetViewportWithCount");
if (!m_vk.cmdSetViewportWithCount)
	m_vk.cmdSetViewportWithCount						= (CmdSetViewportWithCountFunc)							GET_PROC_ADDR("vkCmdSetViewportWithCountEXT");
m_vk.cmdSetScissorWithCount								= (CmdSetScissorWithCountFunc)							GET_PROC_ADDR("vkCmdSetScissorWithCount");
if (!m_vk.cmdSetScissorWithCount)
	m_vk.cmdSetScissorWithCount							= (CmdSetScissorWithCountFunc)							GET_PROC_ADDR("vkCmdSetScissorWithCountEXT");
m_vk.cmdBindVertexBuffers2								= (CmdBindVertexBuffers2Func)							GET_PROC_ADDR("vkCmdBindVertexBuffers2");
if (!m_vk.cmdBindVertexBuffers2)
	m_vk.cmdBindVertexBuffers2							= (CmdBindVertexBuffers2Func)							GET_PROC_ADDR("vkCmdBindVertexBuffers2EXT");
m_vk.cmdSetDepthTestEnable								= (CmdSetDepthTestEnableFunc)							GET_PROC_ADDR("vkCmdSetDepthTestEnable");
if (!m_vk.cmdSetDepthTestEnable)
	m_vk.cmdSetDepthTestEnable							= (CmdSetDepthTestEnableFunc)							GET_PROC_ADDR("vkCmdSetDepthTestEnableEXT");
m_vk.cmdSetDepthWriteEnable								= (CmdSetDepthWriteEnableFunc)							GET_PROC_ADDR("vkCmdSetDepthWriteEnable");
if (!m_vk.cmdSetDepthWriteEnable)
	m_vk.cmdSetDepthWriteEnable							= (CmdSetDepthWriteEnableFunc)							GET_PROC_ADDR("vkCmdSetDepthWriteEnableEXT");
m_vk.cmdSetDepthCompareOp								= (CmdSetDepthCompareOpFunc)							GET_PROC_ADDR("vkCmdSetDepthCompareOp");
if (!m_vk.cmdSetDepthCompareOp)
	m_vk.cmdSetDepthCompareOp							= (CmdSetDepthCompareOpFunc)							GET_PROC_ADDR("vkCmdSetDepthCompareOpEXT");
m_vk.cmdSetDepthBoundsTestEnable						= (CmdSetDepthBoundsTestEnableFunc)						GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnable");
if (!m_vk.cmdSetDepthBoundsTestEnable)
	m_vk.cmdSetDepthBoundsTestEnable					= (CmdSetDepthBoundsTestEnableFunc)						GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnableEXT");
m_vk.cmdSetStencilTestEnable							= (CmdSetStencilTestEnableFunc)							GET_PROC_ADDR("vkCmdSetStencilTestEnable");
if (!m_vk.cmdSetStencilTestEnable)
	m_vk.cmdSetStencilTestEnable						= (CmdSetStencilTestEnableFunc)							GET_PROC_ADDR("vkCmdSetStencilTestEnableEXT");
m_vk.cmdSetStencilOp									= (CmdSetStencilOpFunc)									GET_PROC_ADDR("vkCmdSetStencilOp");
if (!m_vk.cmdSetStencilOp)
	m_vk.cmdSetStencilOp								= (CmdSetStencilOpFunc)									GET_PROC_ADDR("vkCmdSetStencilOpEXT");
m_vk.cmdSetRasterizerDiscardEnable						= (CmdSetRasterizerDiscardEnableFunc)					GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnable");
if (!m_vk.cmdSetRasterizerDiscardEnable)
	m_vk.cmdSetRasterizerDiscardEnable					= (CmdSetRasterizerDiscardEnableFunc)					GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT");
m_vk.cmdSetDepthBiasEnable								= (CmdSetDepthBiasEnableFunc)							GET_PROC_ADDR("vkCmdSetDepthBiasEnable");
if (!m_vk.cmdSetDepthBiasEnable)
	m_vk.cmdSetDepthBiasEnable							= (CmdSetDepthBiasEnableFunc)							GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT");
m_vk.cmdSetPrimitiveRestartEnable						= (CmdSetPrimitiveRestartEnableFunc)					GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnable");
if (!m_vk.cmdSetPrimitiveRestartEnable)
	m_vk.cmdSetPrimitiveRestartEnable					= (CmdSetPrimitiveRestartEnableFunc)					GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT");
m_vk.getDeviceBufferMemoryRequirements					= (GetDeviceBufferMemoryRequirementsFunc)				GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirements");
if (!m_vk.getDeviceBufferMemoryRequirements)
	m_vk.getDeviceBufferMemoryRequirements				= (GetDeviceBufferMemoryRequirementsFunc)				GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirementsKHR");
m_vk.getDeviceImageMemoryRequirements					= (GetDeviceImageMemoryRequirementsFunc)				GET_PROC_ADDR("vkGetDeviceImageMemoryRequirements");
if (!m_vk.getDeviceImageMemoryRequirements)
	m_vk.getDeviceImageMemoryRequirements				= (GetDeviceImageMemoryRequirementsFunc)				GET_PROC_ADDR("vkGetDeviceImageMemoryRequirementsKHR");
m_vk.getDeviceImageSparseMemoryRequirements				= (GetDeviceImageSparseMemoryRequirementsFunc)			GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirements");
if (!m_vk.getDeviceImageSparseMemoryRequirements)
	m_vk.getDeviceImageSparseMemoryRequirements			= (GetDeviceImageSparseMemoryRequirementsFunc)			GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirementsKHR");
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.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.cmdWriteBufferMarker2AMD							= (CmdWriteBufferMarker2AMDFunc)						GET_PROC_ADDR("vkCmdWriteBufferMarker2AMD");
m_vk.getQueueCheckpointData2NV							= (GetQueueCheckpointData2NVFunc)						GET_PROC_ADDR("vkGetQueueCheckpointData2NV");
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.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.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.cmdSetLogicOpEXT									= (CmdSetLogicOpEXTFunc)								GET_PROC_ADDR("vkCmdSetLogicOpEXT");
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.createBufferCollectionFUCHSIA						= (CreateBufferCollectionFUCHSIAFunc)					GET_PROC_ADDR("vkCreateBufferCollectionFUCHSIA");
m_vk.setBufferCollectionImageConstraintsFUCHSIA			= (SetBufferCollectionImageConstraintsFUCHSIAFunc)		GET_PROC_ADDR("vkSetBufferCollectionImageConstraintsFUCHSIA");
m_vk.setBufferCollectionBufferConstraintsFUCHSIA		= (SetBufferCollectionBufferConstraintsFUCHSIAFunc)		GET_PROC_ADDR("vkSetBufferCollectionBufferConstraintsFUCHSIA");
m_vk.destroyBufferCollectionFUCHSIA						= (DestroyBufferCollectionFUCHSIAFunc)					GET_PROC_ADDR("vkDestroyBufferCollectionFUCHSIA");
m_vk.getBufferCollectionPropertiesFUCHSIA				= (GetBufferCollectionPropertiesFUCHSIAFunc)			GET_PROC_ADDR("vkGetBufferCollectionPropertiesFUCHSIA");
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");
