@@ -521,6 +521,27 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_dispatch_table(struct loader_dev_d
521521 table->GetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)gpa(dev, "vkGetDeviceBufferMemoryRequirements");
522522 table->GetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)gpa(dev, "vkGetDeviceImageMemoryRequirements");
523523 table->GetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)gpa(dev, "vkGetDeviceImageSparseMemoryRequirements");
524+
525+ // ---- Core Vulkan 1.4 commands
526+ table->CmdSetLineStipple = (PFN_vkCmdSetLineStipple)gpa(dev, "vkCmdSetLineStipple");
527+ table->MapMemory2 = (PFN_vkMapMemory2)gpa(dev, "vkMapMemory2");
528+ table->UnmapMemory2 = (PFN_vkUnmapMemory2)gpa(dev, "vkUnmapMemory2");
529+ table->CmdBindIndexBuffer2 = (PFN_vkCmdBindIndexBuffer2)gpa(dev, "vkCmdBindIndexBuffer2");
530+ table->GetRenderingAreaGranularity = (PFN_vkGetRenderingAreaGranularity)gpa(dev, "vkGetRenderingAreaGranularity");
531+ table->GetDeviceImageSubresourceLayout = (PFN_vkGetDeviceImageSubresourceLayout)gpa(dev, "vkGetDeviceImageSubresourceLayout");
532+ table->GetImageSubresourceLayout2 = (PFN_vkGetImageSubresourceLayout2)gpa(dev, "vkGetImageSubresourceLayout2");
533+ table->CmdPushDescriptorSet = (PFN_vkCmdPushDescriptorSet)gpa(dev, "vkCmdPushDescriptorSet");
534+ table->CmdPushDescriptorSetWithTemplate = (PFN_vkCmdPushDescriptorSetWithTemplate)gpa(dev, "vkCmdPushDescriptorSetWithTemplate");
535+ table->CmdSetRenderingAttachmentLocations = (PFN_vkCmdSetRenderingAttachmentLocations)gpa(dev, "vkCmdSetRenderingAttachmentLocations");
536+ table->CmdSetRenderingInputAttachmentIndices = (PFN_vkCmdSetRenderingInputAttachmentIndices)gpa(dev, "vkCmdSetRenderingInputAttachmentIndices");
537+ table->CmdBindDescriptorSets2 = (PFN_vkCmdBindDescriptorSets2)gpa(dev, "vkCmdBindDescriptorSets2");
538+ table->CmdPushConstants2 = (PFN_vkCmdPushConstants2)gpa(dev, "vkCmdPushConstants2");
539+ table->CmdPushDescriptorSet2 = (PFN_vkCmdPushDescriptorSet2)gpa(dev, "vkCmdPushDescriptorSet2");
540+ table->CmdPushDescriptorSetWithTemplate2 = (PFN_vkCmdPushDescriptorSetWithTemplate2)gpa(dev, "vkCmdPushDescriptorSetWithTemplate2");
541+ table->CopyMemoryToImage = (PFN_vkCopyMemoryToImage)gpa(dev, "vkCopyMemoryToImage");
542+ table->CopyImageToMemory = (PFN_vkCopyImageToMemory)gpa(dev, "vkCopyImageToMemory");
543+ table->CopyImageToImage = (PFN_vkCopyImageToImage)gpa(dev, "vkCopyImageToImage");
544+ table->TransitionImageLayout = (PFN_vkTransitionImageLayout)gpa(dev, "vkTransitionImageLayout");
524545}
525546
526547// Init Device function pointer dispatch table with extension commands
@@ -2313,6 +2334,84 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis
23132334 return (void *)table->GetDeviceImageSparseMemoryRequirements;
23142335 }
23152336
2337+ // ---- Core Vulkan 1.4 commands
2338+ if (!strcmp(name, "CmdSetLineStipple")) {
2339+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2340+ return (void *)table->CmdSetLineStipple;
2341+ }
2342+ if (!strcmp(name, "MapMemory2")) {
2343+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2344+ return (void *)table->MapMemory2;
2345+ }
2346+ if (!strcmp(name, "UnmapMemory2")) {
2347+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2348+ return (void *)table->UnmapMemory2;
2349+ }
2350+ if (!strcmp(name, "CmdBindIndexBuffer2")) {
2351+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2352+ return (void *)table->CmdBindIndexBuffer2;
2353+ }
2354+ if (!strcmp(name, "GetRenderingAreaGranularity")) {
2355+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2356+ return (void *)table->GetRenderingAreaGranularity;
2357+ }
2358+ if (!strcmp(name, "GetDeviceImageSubresourceLayout")) {
2359+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2360+ return (void *)table->GetDeviceImageSubresourceLayout;
2361+ }
2362+ if (!strcmp(name, "GetImageSubresourceLayout2")) {
2363+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2364+ return (void *)table->GetImageSubresourceLayout2;
2365+ }
2366+ if (!strcmp(name, "CmdPushDescriptorSet")) {
2367+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2368+ return (void *)table->CmdPushDescriptorSet;
2369+ }
2370+ if (!strcmp(name, "CmdPushDescriptorSetWithTemplate")) {
2371+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2372+ return (void *)table->CmdPushDescriptorSetWithTemplate;
2373+ }
2374+ if (!strcmp(name, "CmdSetRenderingAttachmentLocations")) {
2375+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2376+ return (void *)table->CmdSetRenderingAttachmentLocations;
2377+ }
2378+ if (!strcmp(name, "CmdSetRenderingInputAttachmentIndices")) {
2379+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2380+ return (void *)table->CmdSetRenderingInputAttachmentIndices;
2381+ }
2382+ if (!strcmp(name, "CmdBindDescriptorSets2")) {
2383+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2384+ return (void *)table->CmdBindDescriptorSets2;
2385+ }
2386+ if (!strcmp(name, "CmdPushConstants2")) {
2387+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2388+ return (void *)table->CmdPushConstants2;
2389+ }
2390+ if (!strcmp(name, "CmdPushDescriptorSet2")) {
2391+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2392+ return (void *)table->CmdPushDescriptorSet2;
2393+ }
2394+ if (!strcmp(name, "CmdPushDescriptorSetWithTemplate2")) {
2395+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2396+ return (void *)table->CmdPushDescriptorSetWithTemplate2;
2397+ }
2398+ if (!strcmp(name, "CopyMemoryToImage")) {
2399+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2400+ return (void *)table->CopyMemoryToImage;
2401+ }
2402+ if (!strcmp(name, "CopyImageToMemory")) {
2403+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2404+ return (void *)table->CopyImageToMemory;
2405+ }
2406+ if (!strcmp(name, "CopyImageToImage")) {
2407+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2408+ return (void *)table->CopyImageToImage;
2409+ }
2410+ if (!strcmp(name, "TransitionImageLayout")) {
2411+ if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2412+ return (void *)table->TransitionImageLayout;
2413+ }
2414+
23162415 // ---- VK_KHR_swapchain extension commands
23172416 if (!strcmp(name, "CreateSwapchainKHR")) return (void *)table->CreateSwapchainKHR;
23182417 if (!strcmp(name, "DestroySwapchainKHR")) return (void *)table->DestroySwapchainKHR;
@@ -4301,7 +4400,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR(
43014400
43024401VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocationsKHR(
43034402 VkCommandBuffer commandBuffer,
4304- const VkRenderingAttachmentLocationInfoKHR* pLocationInfo) {
4403+ const VkRenderingAttachmentLocationInfo* pLocationInfo) {
43054404 const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
43064405 if (NULL == disp) {
43074406 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -4314,7 +4413,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocationsKHR(
43144413
43154414VKAPI_ATTR void VKAPI_CALL CmdSetRenderingInputAttachmentIndicesKHR(
43164415 VkCommandBuffer commandBuffer,
4317- const VkRenderingInputAttachmentIndexInfoKHR* pInputAttachmentIndexInfo) {
4416+ const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) {
43184417 const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
43194418 if (NULL == disp) {
43204419 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -4508,7 +4607,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentationsKHR(
45084607
45094608VKAPI_ATTR VkResult VKAPI_CALL MapMemory2KHR(
45104609 VkDevice device,
4511- const VkMemoryMapInfoKHR* pMemoryMapInfo,
4610+ const VkMemoryMapInfo* pMemoryMapInfo,
45124611 void** ppData) {
45134612 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
45144613 if (NULL == disp) {
@@ -4522,7 +4621,7 @@ VKAPI_ATTR VkResult VKAPI_CALL MapMemory2KHR(
45224621
45234622VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2KHR(
45244623 VkDevice device,
4525- const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo) {
4624+ const VkMemoryUnmapInfo* pMemoryUnmapInfo) {
45264625 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
45274626 if (NULL == disp) {
45284627 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -4848,7 +4947,7 @@ VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer2KHR(
48484947
48494948VKAPI_ATTR void VKAPI_CALL GetRenderingAreaGranularityKHR(
48504949 VkDevice device,
4851- const VkRenderingAreaInfoKHR* pRenderingAreaInfo,
4950+ const VkRenderingAreaInfo* pRenderingAreaInfo,
48524951 VkExtent2D* pGranularity) {
48534952 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
48544953 if (NULL == disp) {
@@ -4862,8 +4961,8 @@ VKAPI_ATTR void VKAPI_CALL GetRenderingAreaGranularityKHR(
48624961
48634962VKAPI_ATTR void VKAPI_CALL GetDeviceImageSubresourceLayoutKHR(
48644963 VkDevice device,
4865- const VkDeviceImageSubresourceInfoKHR* pInfo,
4866- VkSubresourceLayout2KHR* pLayout) {
4964+ const VkDeviceImageSubresourceInfo* pInfo,
4965+ VkSubresourceLayout2* pLayout) {
48674966 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
48684967 if (NULL == disp) {
48694968 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -4877,8 +4976,8 @@ VKAPI_ATTR void VKAPI_CALL GetDeviceImageSubresourceLayoutKHR(
48774976VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2KHR(
48784977 VkDevice device,
48794978 VkImage image,
4880- const VkImageSubresource2KHR* pSubresource,
4881- VkSubresourceLayout2KHR* pLayout) {
4979+ const VkImageSubresource2* pSubresource,
4980+ VkSubresourceLayout2* pLayout) {
48824981 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
48834982 if (NULL == disp) {
48844983 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -5069,7 +5168,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsKHR(
50695168
50705169VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets2KHR(
50715170 VkCommandBuffer commandBuffer,
5072- const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo) {
5171+ const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) {
50735172 const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
50745173 if (NULL == disp) {
50755174 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -5082,7 +5181,7 @@ VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets2KHR(
50825181
50835182VKAPI_ATTR void VKAPI_CALL CmdPushConstants2KHR(
50845183 VkCommandBuffer commandBuffer,
5085- const VkPushConstantsInfoKHR* pPushConstantsInfo) {
5184+ const VkPushConstantsInfo* pPushConstantsInfo) {
50865185 const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
50875186 if (NULL == disp) {
50885187 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -5095,7 +5194,7 @@ VKAPI_ATTR void VKAPI_CALL CmdPushConstants2KHR(
50955194
50965195VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSet2KHR(
50975196 VkCommandBuffer commandBuffer,
5098- const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo) {
5197+ const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) {
50995198 const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
51005199 if (NULL == disp) {
51015200 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -5108,7 +5207,7 @@ VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSet2KHR(
51085207
51095208VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplate2KHR(
51105209 VkCommandBuffer commandBuffer,
5111- const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo) {
5210+ const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo) {
51125211 const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
51135212 if (NULL == disp) {
51145213 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -7338,7 +7437,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT(
73387437
73397438VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImageEXT(
73407439 VkDevice device,
7341- const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo) {
7440+ const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo) {
73427441 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
73437442 if (NULL == disp) {
73447443 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -7351,7 +7450,7 @@ VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImageEXT(
73517450
73527451VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemoryEXT(
73537452 VkDevice device,
7354- const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo) {
7453+ const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo) {
73557454 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
73567455 if (NULL == disp) {
73577456 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -7364,7 +7463,7 @@ VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemoryEXT(
73647463
73657464VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImageEXT(
73667465 VkDevice device,
7367- const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo) {
7466+ const VkCopyImageToImageInfo* pCopyImageToImageInfo) {
73687467 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
73697468 if (NULL == disp) {
73707469 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -7378,7 +7477,7 @@ VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImageEXT(
73787477VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayoutEXT(
73797478 VkDevice device,
73807479 uint32_t transitionCount,
7381- const VkHostImageLayoutTransitionInfoEXT* pTransitions) {
7480+ const VkHostImageLayoutTransitionInfo* pTransitions) {
73827481 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
73837482 if (NULL == disp) {
73847483 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
@@ -7392,8 +7491,8 @@ VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayoutEXT(
73927491VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2EXT(
73937492 VkDevice device,
73947493 VkImage image,
7395- const VkImageSubresource2KHR* pSubresource,
7396- VkSubresourceLayout2KHR* pLayout) {
7494+ const VkImageSubresource2* pSubresource,
7495+ VkSubresourceLayout2* pLayout) {
73977496 const VkLayerDispatchTable *disp = loader_get_dispatch(device);
73987497 if (NULL == disp) {
73997498 loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
0 commit comments