build: Update to header 1.3.294
authorMike Schuchardt <mikes@lunarg.com>
Fri, 23 Aug 2024 17:33:04 +0000 (10:33 -0700)
committerMike Schuchardt <mikes@lunarg.com>
Fri, 23 Aug 2024 18:19:41 +0000 (11:19 -0700)
CMakeLists.txt
loader/generated/vk_layer_dispatch_table.h
loader/generated/vk_loader_extensions.c
loader/generated/vk_object_types.h
loader/loader.rc
scripts/known_good.json
tests/framework/test_util.h

index 0fc8cdb83d295a35dc5d6e1121a3a3fcd4492c2f..9bb64c957237bd4e3ad11d169c4a4e4fc4a76387 100644 (file)
@@ -18,7 +18,7 @@
 # ~~~
 cmake_minimum_required(VERSION 3.17.2)
 
-project(VULKAN_LOADER VERSION 1.3.293 LANGUAGES C)
+project(VULKAN_LOADER VERSION 1.3.294 LANGUAGES C)
 
 option(CODE_COVERAGE "Enable Code Coverage" OFF)
 if (CODE_COVERAGE)
index 908dccb2e1b99aa45d0df637d4a58d79c35e78b5..5d6875d60abaf43c2bef65e5260ed0e1b904c01e 100644 (file)
@@ -679,6 +679,13 @@ typedef struct VkLayerDispatchTable_ {
     PFN_vkGetDeviceImageSubresourceLayoutKHR GetDeviceImageSubresourceLayoutKHR;
     PFN_vkGetImageSubresourceLayout2KHR GetImageSubresourceLayout2KHR;
 
+    // ---- VK_KHR_pipeline_binary extension commands
+    PFN_vkCreatePipelineBinariesKHR CreatePipelineBinariesKHR;
+    PFN_vkDestroyPipelineBinaryKHR DestroyPipelineBinaryKHR;
+    PFN_vkGetPipelineKeyKHR GetPipelineKeyKHR;
+    PFN_vkGetPipelineBinaryDataKHR GetPipelineBinaryDataKHR;
+    PFN_vkReleaseCapturedPipelineDataKHR ReleaseCapturedPipelineDataKHR;
+
     // ---- VK_KHR_line_rasterization extension commands
     PFN_vkCmdSetLineStippleKHR CmdSetLineStippleKHR;
 
index 4eae34746f36377523b18e919d08efa1fe7d4ee1..1c8a3fbb76c73b109ab724adb174d587a58890c5 100644 (file)
@@ -720,6 +720,13 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo
     table->GetDeviceImageSubresourceLayoutKHR = (PFN_vkGetDeviceImageSubresourceLayoutKHR)gdpa(dev, "vkGetDeviceImageSubresourceLayoutKHR");
     table->GetImageSubresourceLayout2KHR = (PFN_vkGetImageSubresourceLayout2KHR)gdpa(dev, "vkGetImageSubresourceLayout2KHR");
 
+    // ---- VK_KHR_pipeline_binary extension commands
+    table->CreatePipelineBinariesKHR = (PFN_vkCreatePipelineBinariesKHR)gdpa(dev, "vkCreatePipelineBinariesKHR");
+    table->DestroyPipelineBinaryKHR = (PFN_vkDestroyPipelineBinaryKHR)gdpa(dev, "vkDestroyPipelineBinaryKHR");
+    table->GetPipelineKeyKHR = (PFN_vkGetPipelineKeyKHR)gdpa(dev, "vkGetPipelineKeyKHR");
+    table->GetPipelineBinaryDataKHR = (PFN_vkGetPipelineBinaryDataKHR)gdpa(dev, "vkGetPipelineBinaryDataKHR");
+    table->ReleaseCapturedPipelineDataKHR = (PFN_vkReleaseCapturedPipelineDataKHR)gdpa(dev, "vkReleaseCapturedPipelineDataKHR");
+
     // ---- VK_KHR_line_rasterization extension commands
     table->CmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR)gdpa(dev, "vkCmdSetLineStippleKHR");
 
@@ -2478,6 +2485,13 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis
     if (!strcmp(name, "GetDeviceImageSubresourceLayoutKHR")) return (void *)table->GetDeviceImageSubresourceLayoutKHR;
     if (!strcmp(name, "GetImageSubresourceLayout2KHR")) return (void *)table->GetImageSubresourceLayout2KHR;
 
+    // ---- VK_KHR_pipeline_binary extension commands
+    if (!strcmp(name, "CreatePipelineBinariesKHR")) return (void *)table->CreatePipelineBinariesKHR;
+    if (!strcmp(name, "DestroyPipelineBinaryKHR")) return (void *)table->DestroyPipelineBinaryKHR;
+    if (!strcmp(name, "GetPipelineKeyKHR")) return (void *)table->GetPipelineKeyKHR;
+    if (!strcmp(name, "GetPipelineBinaryDataKHR")) return (void *)table->GetPipelineBinaryDataKHR;
+    if (!strcmp(name, "ReleaseCapturedPipelineDataKHR")) return (void *)table->ReleaseCapturedPipelineDataKHR;
+
     // ---- VK_KHR_line_rasterization extension commands
     if (!strcmp(name, "CmdSetLineStippleKHR")) return (void *)table->CmdSetLineStippleKHR;
 
@@ -4872,6 +4886,82 @@ VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2KHR(
 }
 
 
+// ---- VK_KHR_pipeline_binary extension trampoline/terminators
+
+VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineBinariesKHR(
+    VkDevice                                    device,
+    const VkPipelineBinaryCreateInfoKHR*        pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkPipelineBinaryHandlesInfoKHR*             pBinaries) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    if (NULL == disp) {
+        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
+                   "vkCreatePipelineBinariesKHR: Invalid device "
+                   "[VUID-vkCreatePipelineBinariesKHR-device-parameter]");
+        abort(); /* Intentionally fail so user can correct issue. */
+    }
+    return disp->CreatePipelineBinariesKHR(device, pCreateInfo, pAllocator, pBinaries);
+}
+
+VKAPI_ATTR void VKAPI_CALL DestroyPipelineBinaryKHR(
+    VkDevice                                    device,
+    VkPipelineBinaryKHR                         pipelineBinary,
+    const VkAllocationCallbacks*                pAllocator) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    if (NULL == disp) {
+        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
+                   "vkDestroyPipelineBinaryKHR: Invalid device "
+                   "[VUID-vkDestroyPipelineBinaryKHR-device-parameter]");
+        abort(); /* Intentionally fail so user can correct issue. */
+    }
+    disp->DestroyPipelineBinaryKHR(device, pipelineBinary, pAllocator);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL GetPipelineKeyKHR(
+    VkDevice                                    device,
+    const VkPipelineCreateInfoKHR*              pPipelineCreateInfo,
+    VkPipelineBinaryKeyKHR*                     pPipelineKey) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    if (NULL == disp) {
+        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
+                   "vkGetPipelineKeyKHR: Invalid device "
+                   "[VUID-vkGetPipelineKeyKHR-device-parameter]");
+        abort(); /* Intentionally fail so user can correct issue. */
+    }
+    return disp->GetPipelineKeyKHR(device, pPipelineCreateInfo, pPipelineKey);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL GetPipelineBinaryDataKHR(
+    VkDevice                                    device,
+    const VkPipelineBinaryDataInfoKHR*          pInfo,
+    VkPipelineBinaryKeyKHR*                     pPipelineBinaryKey,
+    size_t*                                     pPipelineBinaryDataSize,
+    void*                                       pPipelineBinaryData) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    if (NULL == disp) {
+        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
+                   "vkGetPipelineBinaryDataKHR: Invalid device "
+                   "[VUID-vkGetPipelineBinaryDataKHR-device-parameter]");
+        abort(); /* Intentionally fail so user can correct issue. */
+    }
+    return disp->GetPipelineBinaryDataKHR(device, pInfo, pPipelineBinaryKey, pPipelineBinaryDataSize, pPipelineBinaryData);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL ReleaseCapturedPipelineDataKHR(
+    VkDevice                                    device,
+    const VkReleaseCapturedPipelineDataInfoKHR* pInfo,
+    const VkAllocationCallbacks*                pAllocator) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    if (NULL == disp) {
+        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
+                   "vkReleaseCapturedPipelineDataKHR: Invalid device "
+                   "[VUID-vkReleaseCapturedPipelineDataKHR-device-parameter]");
+        abort(); /* Intentionally fail so user can correct issue. */
+    }
+    return disp->ReleaseCapturedPipelineDataKHR(device, pInfo, pAllocator);
+}
+
+
 // ---- VK_KHR_cooperative_matrix extension trampoline/terminators
 
 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesKHR(
@@ -10376,6 +10466,28 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na
         return true;
     }
 
+    // ---- VK_KHR_pipeline_binary extension commands
+    if (!strcmp("vkCreatePipelineBinariesKHR", name)) {
+        *addr = (void *)CreatePipelineBinariesKHR;
+        return true;
+    }
+    if (!strcmp("vkDestroyPipelineBinaryKHR", name)) {
+        *addr = (void *)DestroyPipelineBinaryKHR;
+        return true;
+    }
+    if (!strcmp("vkGetPipelineKeyKHR", name)) {
+        *addr = (void *)GetPipelineKeyKHR;
+        return true;
+    }
+    if (!strcmp("vkGetPipelineBinaryDataKHR", name)) {
+        *addr = (void *)GetPipelineBinaryDataKHR;
+        return true;
+    }
+    if (!strcmp("vkReleaseCapturedPipelineDataKHR", name)) {
+        *addr = (void *)ReleaseCapturedPipelineDataKHR;
+        return true;
+    }
+
     // ---- VK_KHR_cooperative_matrix extension commands
     if (!strcmp("vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR", name)) {
         *addr = (void *)GetPhysicalDeviceCooperativeMatrixPropertiesKHR;
index 08f3bef7891d0aa3446c9f198f73674d61c8cba7..d43a1d53f5ec1ba5c6764e8cfadb965f7111f375 100644 (file)
@@ -73,22 +73,23 @@ typedef enum VulkanObjectType {
     kVulkanObjectTypeVideoSessionKHR = 33,
     kVulkanObjectTypeVideoSessionParametersKHR = 34,
     kVulkanObjectTypeDeferredOperationKHR = 35,
-    kVulkanObjectTypeDebugReportCallbackEXT = 36,
-    kVulkanObjectTypeCuModuleNVX = 37,
-    kVulkanObjectTypeCuFunctionNVX = 38,
-    kVulkanObjectTypeDebugUtilsMessengerEXT = 39,
-    kVulkanObjectTypeValidationCacheEXT = 40,
-    kVulkanObjectTypeAccelerationStructureNV = 41,
-    kVulkanObjectTypePerformanceConfigurationINTEL = 42,
-    kVulkanObjectTypeIndirectCommandsLayoutNV = 43,
-    kVulkanObjectTypeCudaModuleNV = 44,
-    kVulkanObjectTypeCudaFunctionNV = 45,
-    kVulkanObjectTypeAccelerationStructureKHR = 46,
-    kVulkanObjectTypeBufferCollectionFUCHSIA = 47,
-    kVulkanObjectTypeMicromapEXT = 48,
-    kVulkanObjectTypeOpticalFlowSessionNV = 49,
-    kVulkanObjectTypeShaderEXT = 50,
-    kVulkanObjectTypeMax = 51,
+    kVulkanObjectTypePipelineBinaryKHR = 36,
+    kVulkanObjectTypeDebugReportCallbackEXT = 37,
+    kVulkanObjectTypeCuModuleNVX = 38,
+    kVulkanObjectTypeCuFunctionNVX = 39,
+    kVulkanObjectTypeDebugUtilsMessengerEXT = 40,
+    kVulkanObjectTypeValidationCacheEXT = 41,
+    kVulkanObjectTypeAccelerationStructureNV = 42,
+    kVulkanObjectTypePerformanceConfigurationINTEL = 43,
+    kVulkanObjectTypeIndirectCommandsLayoutNV = 44,
+    kVulkanObjectTypeCudaModuleNV = 45,
+    kVulkanObjectTypeCudaFunctionNV = 46,
+    kVulkanObjectTypeAccelerationStructureKHR = 47,
+    kVulkanObjectTypeBufferCollectionFUCHSIA = 48,
+    kVulkanObjectTypeMicromapEXT = 49,
+    kVulkanObjectTypeOpticalFlowSessionNV = 50,
+    kVulkanObjectTypeShaderEXT = 51,
+    kVulkanObjectTypeMax = 52,
     // Aliases for backwards compatibilty of "promoted" types
     kVulkanObjectTypeDescriptorUpdateTemplateKHR = kVulkanObjectTypeDescriptorUpdateTemplate,
     kVulkanObjectTypeSamplerYcbcrConversionKHR = kVulkanObjectTypeSamplerYcbcrConversion,
@@ -133,6 +134,7 @@ static const char * const object_string[kVulkanObjectTypeMax] = {
     "VideoSessionKHR",
     "VideoSessionParametersKHR",
     "DeferredOperationKHR",
+    "PipelineBinaryKHR",
     "DebugReportCallbackEXT",
     "CuModuleNVX",
     "CuFunctionNVX",
@@ -188,6 +190,7 @@ const VkDebugReportObjectTypeEXT get_debug_report_enum[] = {
     VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,   // kVulkanObjectTypeVideoSessionKHR
     VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,   // kVulkanObjectTypeVideoSessionParametersKHR
     VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,   // kVulkanObjectTypeDeferredOperationKHR
+    VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,   // kVulkanObjectTypePipelineBinaryKHR
     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,   // kVulkanObjectTypeDebugReportCallbackEXT
     VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT,   // kVulkanObjectTypeCuModuleNVX
     VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT,   // kVulkanObjectTypeCuFunctionNVX
@@ -243,6 +246,7 @@ const VkObjectType get_object_type_enum[] = {
     VK_OBJECT_TYPE_VIDEO_SESSION_KHR,   // kVulkanObjectTypeVideoSessionKHR
     VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR,   // kVulkanObjectTypeVideoSessionParametersKHR
     VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR,   // kVulkanObjectTypeDeferredOperationKHR
+    VK_OBJECT_TYPE_PIPELINE_BINARY_KHR,   // kVulkanObjectTypePipelineBinaryKHR
     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,   // kVulkanObjectTypeDebugReportCallbackEXT
     VK_OBJECT_TYPE_CU_MODULE_NVX,   // kVulkanObjectTypeCuModuleNVX
     VK_OBJECT_TYPE_CU_FUNCTION_NVX,   // kVulkanObjectTypeCuFunctionNVX
index b8a28d32be63c299db316fa37aadcea1584f1e6c..4e11e5dfad160662286db025be62b63249804adb 100644 (file)
@@ -22,8 +22,8 @@
 #include "winres.h"
 
 // All set through CMake
-#define VER_FILE_VERSION 1, 3, 293, 0
-#define VER_FILE_DESCRIPTION_STR "1.3.293.Dev Build"
+#define VER_FILE_VERSION 1, 3, 294, 0
+#define VER_FILE_DESCRIPTION_STR "1.3.294.Dev Build"
 #define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build"
 #define VER_COPYRIGHT_STR "Copyright (C) 2015-2024"
 
index 5c5b01eb28d1bb367f73df0e401852aa92571803..7e6d8dc8add12b1bace2071525391da7c5a1c2c3 100644 (file)
@@ -7,7 +7,7 @@
             "sub_dir": "Vulkan-Headers",
             "build_dir": "Vulkan-Headers/build",
             "install_dir": "Vulkan-Headers/build/install",
-            "commit": "v1.3.293"
+            "commit": "v1.3.294"
         },
         {
             "name": "googletest",
index fb4523964970faaa436815d5ea5aed9f879beb8a..becde2bc011930bd1e0358c7238eff33bec2f443 100644 (file)
@@ -475,6 +475,10 @@ inline std::ostream& operator<<(std::ostream& os, const VkResult& result) {
             return os << "VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR";
         case (VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT):
             return os << "VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT";
+        case (VK_PIPELINE_BINARY_MISSING_KHR):
+            return os << "VK_PIPELINE_BINARY_MISSING_KHR";
+        case (VK_ERROR_NOT_ENOUGH_SPACE_KHR):
+            return os << "VK_ERROR_NOT_ENOUGH_SPACE_KHR";
     }
     return os << static_cast<int32_t>(result);
 }