2
2
// See loader_extension_generator.py for modifications
3
3
4
4
/*
5
- * Copyright (c) 2015-2022 The Khronos Group Inc.
6
- * Copyright (c) 2015-2022 Valve Corporation
7
- * Copyright (c) 2015-2022 LunarG, Inc.
5
+ * Copyright (c) 2015-2025 The Khronos Group Inc.
6
+ * Copyright (c) 2015-2025 Valve Corporation
7
+ * Copyright (c) 2015-2025 LunarG, Inc.
8
8
* Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
9
9
* Copyright (c) 2023-2023 RasterGrid Kft.
10
10
*
22
22
*
23
23
* Author: Mark Lobodzinski <mark@lunarg.com>
24
24
* Author: Mark Young <marky@lunarg.com>
25
+ * Author: Charles Giessen <charles@lunarg.com>
25
26
*/
26
27
27
28
// clang-format off
@@ -896,7 +897,11 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo
896
897
table->CmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)gdpa(dev, "vkCmdCopyAccelerationStructureNV");
897
898
table->CmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)gdpa(dev, "vkCmdTraceRaysNV");
898
899
table->CreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)gdpa(dev, "vkCreateRayTracingPipelinesNV");
900
+
901
+ // ---- VK_KHR_ray_tracing_pipeline extension commands
899
902
table->GetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)gdpa(dev, "vkGetRayTracingShaderGroupHandlesKHR");
903
+
904
+ // ---- VK_NV_ray_tracing extension commands
900
905
table->GetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)gdpa(dev, "vkGetRayTracingShaderGroupHandlesNV");
901
906
table->GetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)gdpa(dev, "vkGetAccelerationStructureHandleNV");
902
907
table->CmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)gdpa(dev, "vkCmdWriteAccelerationStructuresPropertiesNV");
@@ -1540,19 +1545,23 @@ VKAPI_ATTR void VKAPI_CALL loader_init_instance_extension_dispatch_table(VkLayer
1540
1545
void init_extension_device_proc_terminator_dispatch(struct loader_device *dev) {
1541
1546
struct loader_device_terminator_dispatch* dispatch = &dev->loader_dispatch.extension_terminator_dispatch;
1542
1547
PFN_vkGetDeviceProcAddr gpda = (PFN_vkGetDeviceProcAddr)dev->phys_dev_term->this_icd_term->dispatch.GetDeviceProcAddr;
1548
+
1543
1549
// ---- VK_KHR_swapchain extension commands
1544
1550
if (dev->driver_extensions.khr_swapchain_enabled)
1545
1551
dispatch->CreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)gpda(dev->icd_device, "vkCreateSwapchainKHR");
1546
1552
if (dev->driver_extensions.khr_swapchain_enabled)
1547
1553
dispatch->GetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)gpda(dev->icd_device, "vkGetDeviceGroupSurfacePresentModesKHR");
1554
+
1548
1555
// ---- VK_KHR_display_swapchain extension commands
1549
1556
if (dev->driver_extensions.khr_display_swapchain_enabled)
1550
1557
dispatch->CreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)gpda(dev->icd_device, "vkCreateSharedSwapchainsKHR");
1558
+
1551
1559
// ---- VK_EXT_debug_marker extension commands
1552
1560
if (dev->driver_extensions.ext_debug_marker_enabled)
1553
1561
dispatch->DebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)gpda(dev->icd_device, "vkDebugMarkerSetObjectTagEXT");
1554
1562
if (dev->driver_extensions.ext_debug_marker_enabled)
1555
1563
dispatch->DebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)gpda(dev->icd_device, "vkDebugMarkerSetObjectNameEXT");
1564
+
1556
1565
// ---- VK_EXT_debug_utils extension commands
1557
1566
if (dev->driver_extensions.ext_debug_utils_enabled)
1558
1567
dispatch->SetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)gpda(dev->icd_device, "vkSetDebugUtilsObjectNameEXT");
@@ -1571,6 +1580,7 @@ void init_extension_device_proc_terminator_dispatch(struct loader_device *dev) {
1571
1580
if (dev->driver_extensions.ext_debug_utils_enabled)
1572
1581
dispatch->CmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)gpda(dev->icd_device, "vkCmdInsertDebugUtilsLabelEXT");
1573
1582
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1583
+
1574
1584
// ---- VK_EXT_full_screen_exclusive extension commands
1575
1585
if (dev->driver_extensions.ext_full_screen_exclusive_enabled && (dev->driver_extensions.khr_device_group_enabled || dev->driver_extensions.version_1_1_enabled))
1576
1586
dispatch->GetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)gpda(dev->icd_device, "vkGetDeviceGroupSurfacePresentModes2EXT");
@@ -1579,13 +1589,15 @@ void init_extension_device_proc_terminator_dispatch(struct loader_device *dev) {
1579
1589
1580
1590
// These are prototypes for functions that need their trampoline called in all circumstances.
1581
1591
// They are used in loader_lookup_device_dispatch_table but are defined afterwards.
1592
+
1582
1593
// ---- VK_EXT_debug_marker extension commands
1583
1594
VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(
1584
1595
VkDevice device,
1585
1596
const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
1586
1597
VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(
1587
1598
VkDevice device,
1588
1599
const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
1600
+
1589
1601
// ---- VK_EXT_debug_utils extension commands
1590
1602
VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT(
1591
1603
VkDevice device,
@@ -2778,7 +2790,11 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis
2778
2790
if (!strcmp(name, "CmdCopyAccelerationStructureNV")) return (void *)table->CmdCopyAccelerationStructureNV;
2779
2791
if (!strcmp(name, "CmdTraceRaysNV")) return (void *)table->CmdTraceRaysNV;
2780
2792
if (!strcmp(name, "CreateRayTracingPipelinesNV")) return (void *)table->CreateRayTracingPipelinesNV;
2793
+
2794
+ // ---- VK_KHR_ray_tracing_pipeline extension commands
2781
2795
if (!strcmp(name, "GetRayTracingShaderGroupHandlesKHR")) return (void *)table->GetRayTracingShaderGroupHandlesKHR;
2796
+
2797
+ // ---- VK_NV_ray_tracing extension commands
2782
2798
if (!strcmp(name, "GetRayTracingShaderGroupHandlesNV")) return (void *)table->GetRayTracingShaderGroupHandlesNV;
2783
2799
if (!strcmp(name, "GetAccelerationStructureHandleNV")) return (void *)table->GetAccelerationStructureHandleNV;
2784
2800
if (!strcmp(name, "CmdWriteAccelerationStructuresPropertiesNV")) return (void *)table->CmdWriteAccelerationStructuresPropertiesNV;
@@ -6709,6 +6725,9 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesNV(
6709
6725
return disp->CreateRayTracingPipelinesNV(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
6710
6726
}
6711
6727
6728
+
6729
+ // ---- VK_KHR_ray_tracing_pipeline extension trampoline/terminators
6730
+
6712
6731
VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesKHR(
6713
6732
VkDevice device,
6714
6733
VkPipeline pipeline,
@@ -6726,6 +6745,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesKHR(
6726
6745
return disp->GetRayTracingShaderGroupHandlesKHR(device, pipeline, firstGroup, groupCount, dataSize, pData);
6727
6746
}
6728
6747
6748
+
6749
+ // ---- VK_NV_ray_tracing extension trampoline/terminators
6750
+
6729
6751
VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesNV(
6730
6752
VkDevice device,
6731
6753
VkPipeline pipeline,
@@ -11463,10 +11485,14 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na
11463
11485
*addr = (void *)CreateRayTracingPipelinesNV;
11464
11486
return true;
11465
11487
}
11488
+
11489
+ // ---- VK_KHR_ray_tracing_pipeline extension commands
11466
11490
if (!strcmp("vkGetRayTracingShaderGroupHandlesKHR", name)) {
11467
11491
*addr = (void *)GetRayTracingShaderGroupHandlesKHR;
11468
11492
return true;
11469
11493
}
11494
+
11495
+ // ---- VK_NV_ray_tracing extension commands
11470
11496
if (!strcmp("vkGetRayTracingShaderGroupHandlesNV", name)) {
11471
11497
*addr = (void *)GetRayTracingShaderGroupHandlesNV;
11472
11498
return true;
@@ -13002,6 +13028,9 @@ const char *const LOADER_INSTANCE_EXTENSIONS[] = {
13002
13028
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
13003
13029
VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
13004
13030
#endif // VK_USE_PLATFORM_WAYLAND_KHR
13031
+ #if defined(VK_USE_PLATFORM_ANDROID_KHR)
13032
+ VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,
13033
+ #endif // VK_USE_PLATFORM_ANDROID_KHR
13005
13034
#if defined(VK_USE_PLATFORM_WIN32_KHR)
13006
13035
VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
13007
13036
#endif // VK_USE_PLATFORM_WIN32_KHR
0 commit comments