From: Mike Schuchardt Date: Fri, 31 Mar 2023 14:56:04 +0000 (-0600) Subject: build: Update to header 1.3.246 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ca6405f4e56bf926166e6cf11d172523bc6c06a;p=platform%2Fupstream%2FVulkan-Loader.git build: Update to header 1.3.246 - Update known-good - Generate source --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b05256c..95aab612 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ # ~~~ cmake_minimum_required(VERSION 3.17.2) -project(VULKAN_LOADER VERSION 1.3.245) +project(VULKAN_LOADER VERSION 1.3.246) add_subdirectory(scripts) diff --git a/loader/generated/vk_dispatch_table_helper.h b/loader/generated/vk_dispatch_table_helper.h index 721f6605..68822d5a 100644 --- a/loader/generated/vk_dispatch_table_helper.h +++ b/loader/generated/vk_dispatch_table_helper.h @@ -378,6 +378,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL StubCreateOpticalFlowSessionNV(VkDevice de static VKAPI_ATTR void VKAPI_CALL StubDestroyOpticalFlowSessionNV(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator) { } static VKAPI_ATTR VkResult VKAPI_CALL StubBindOpticalFlowSessionImageNV(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout) { return VK_SUCCESS; } static VKAPI_ATTR void VKAPI_CALL StubCmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo) { } +static VKAPI_ATTR VkResult VKAPI_CALL StubCreateShadersEXT(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders) { return VK_SUCCESS; } +static VKAPI_ATTR void VKAPI_CALL StubDestroyShaderEXT(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator) { } +static VKAPI_ATTR VkResult VKAPI_CALL StubGetShaderBinaryDataEXT(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData) { return VK_SUCCESS; } +static VKAPI_ATTR void VKAPI_CALL StubCmdBindShadersEXT(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders) { } static VKAPI_ATTR VkResult VKAPI_CALL StubGetFramebufferTilePropertiesQCOM(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties) { return VK_SUCCESS; } static VKAPI_ATTR VkResult VKAPI_CALL StubGetDynamicRenderingTilePropertiesQCOM(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties) { return VK_SUCCESS; } static VKAPI_ATTR VkResult VKAPI_CALL StubCreateAccelerationStructureKHR(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) { return VK_SUCCESS; } @@ -1259,6 +1263,14 @@ static inline void layer_init_device_dispatch_table(VkDevice device, VkLayerDisp if (table->BindOpticalFlowSessionImageNV == nullptr) { table->BindOpticalFlowSessionImageNV = (PFN_vkBindOpticalFlowSessionImageNV)StubBindOpticalFlowSessionImageNV; } table->CmdOpticalFlowExecuteNV = (PFN_vkCmdOpticalFlowExecuteNV) gpa(device, "vkCmdOpticalFlowExecuteNV"); if (table->CmdOpticalFlowExecuteNV == nullptr) { table->CmdOpticalFlowExecuteNV = (PFN_vkCmdOpticalFlowExecuteNV)StubCmdOpticalFlowExecuteNV; } + table->CreateShadersEXT = (PFN_vkCreateShadersEXT) gpa(device, "vkCreateShadersEXT"); + if (table->CreateShadersEXT == nullptr) { table->CreateShadersEXT = (PFN_vkCreateShadersEXT)StubCreateShadersEXT; } + table->DestroyShaderEXT = (PFN_vkDestroyShaderEXT) gpa(device, "vkDestroyShaderEXT"); + if (table->DestroyShaderEXT == nullptr) { table->DestroyShaderEXT = (PFN_vkDestroyShaderEXT)StubDestroyShaderEXT; } + table->GetShaderBinaryDataEXT = (PFN_vkGetShaderBinaryDataEXT) gpa(device, "vkGetShaderBinaryDataEXT"); + if (table->GetShaderBinaryDataEXT == nullptr) { table->GetShaderBinaryDataEXT = (PFN_vkGetShaderBinaryDataEXT)StubGetShaderBinaryDataEXT; } + table->CmdBindShadersEXT = (PFN_vkCmdBindShadersEXT) gpa(device, "vkCmdBindShadersEXT"); + if (table->CmdBindShadersEXT == nullptr) { table->CmdBindShadersEXT = (PFN_vkCmdBindShadersEXT)StubCmdBindShadersEXT; } table->GetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM) gpa(device, "vkGetFramebufferTilePropertiesQCOM"); if (table->GetFramebufferTilePropertiesQCOM == nullptr) { table->GetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)StubGetFramebufferTilePropertiesQCOM; } table->GetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM) gpa(device, "vkGetDynamicRenderingTilePropertiesQCOM"); diff --git a/loader/generated/vk_layer_dispatch_table.h b/loader/generated/vk_layer_dispatch_table.h index 99b789c3..3de67e8d 100644 --- a/loader/generated/vk_layer_dispatch_table.h +++ b/loader/generated/vk_layer_dispatch_table.h @@ -1026,6 +1026,12 @@ typedef struct VkLayerDispatchTable_ { PFN_vkBindOpticalFlowSessionImageNV BindOpticalFlowSessionImageNV; PFN_vkCmdOpticalFlowExecuteNV CmdOpticalFlowExecuteNV; + // ---- VK_EXT_shader_object extension commands + PFN_vkCreateShadersEXT CreateShadersEXT; + PFN_vkDestroyShaderEXT DestroyShaderEXT; + PFN_vkGetShaderBinaryDataEXT GetShaderBinaryDataEXT; + PFN_vkCmdBindShadersEXT CmdBindShadersEXT; + // ---- VK_QCOM_tile_properties extension commands PFN_vkGetFramebufferTilePropertiesQCOM GetFramebufferTilePropertiesQCOM; PFN_vkGetDynamicRenderingTilePropertiesQCOM GetDynamicRenderingTilePropertiesQCOM; diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c index 283ce3a6..2dfa89ef 100644 --- a/loader/generated/vk_loader_extensions.c +++ b/loader/generated/vk_loader_extensions.c @@ -1064,6 +1064,12 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo table->BindOpticalFlowSessionImageNV = (PFN_vkBindOpticalFlowSessionImageNV)gdpa(dev, "vkBindOpticalFlowSessionImageNV"); table->CmdOpticalFlowExecuteNV = (PFN_vkCmdOpticalFlowExecuteNV)gdpa(dev, "vkCmdOpticalFlowExecuteNV"); + // ---- VK_EXT_shader_object extension commands + table->CreateShadersEXT = (PFN_vkCreateShadersEXT)gdpa(dev, "vkCreateShadersEXT"); + table->DestroyShaderEXT = (PFN_vkDestroyShaderEXT)gdpa(dev, "vkDestroyShaderEXT"); + table->GetShaderBinaryDataEXT = (PFN_vkGetShaderBinaryDataEXT)gdpa(dev, "vkGetShaderBinaryDataEXT"); + table->CmdBindShadersEXT = (PFN_vkCmdBindShadersEXT)gdpa(dev, "vkCmdBindShadersEXT"); + // ---- VK_QCOM_tile_properties extension commands table->GetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)gdpa(dev, "vkGetFramebufferTilePropertiesQCOM"); table->GetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM)gdpa(dev, "vkGetDynamicRenderingTilePropertiesQCOM"); @@ -2159,6 +2165,12 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis if (!strcmp(name, "BindOpticalFlowSessionImageNV")) return (void *)table->BindOpticalFlowSessionImageNV; if (!strcmp(name, "CmdOpticalFlowExecuteNV")) return (void *)table->CmdOpticalFlowExecuteNV; + // ---- VK_EXT_shader_object extension commands + if (!strcmp(name, "CreateShadersEXT")) return (void *)table->CreateShadersEXT; + if (!strcmp(name, "DestroyShaderEXT")) return (void *)table->DestroyShaderEXT; + if (!strcmp(name, "GetShaderBinaryDataEXT")) return (void *)table->GetShaderBinaryDataEXT; + if (!strcmp(name, "CmdBindShadersEXT")) return (void *)table->CmdBindShadersEXT; + // ---- VK_QCOM_tile_properties extension commands if (!strcmp(name, "GetFramebufferTilePropertiesQCOM")) return (void *)table->GetFramebufferTilePropertiesQCOM; if (!strcmp(name, "GetDynamicRenderingTilePropertiesQCOM")) return (void *)table->GetDynamicRenderingTilePropertiesQCOM; @@ -7770,6 +7782,69 @@ VKAPI_ATTR void VKAPI_CALL CmdOpticalFlowExecuteNV( } +// ---- VK_EXT_shader_object extension trampoline/terminators + +VKAPI_ATTR VkResult VKAPI_CALL CreateShadersEXT( + VkDevice device, + uint32_t createInfoCount, + const VkShaderCreateInfoEXT* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkShaderEXT* pShaders) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCreateShadersEXT: Invalid device " + "[VUID-vkCreateShadersEXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->CreateShadersEXT(device, createInfoCount, pCreateInfos, pAllocator, pShaders); +} + +VKAPI_ATTR void VKAPI_CALL DestroyShaderEXT( + VkDevice device, + VkShaderEXT shader, + const VkAllocationCallbacks* pAllocator) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkDestroyShaderEXT: Invalid device " + "[VUID-vkDestroyShaderEXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->DestroyShaderEXT(device, shader, pAllocator); +} + +VKAPI_ATTR VkResult VKAPI_CALL GetShaderBinaryDataEXT( + VkDevice device, + VkShaderEXT shader, + size_t* pDataSize, + void* pData) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetShaderBinaryDataEXT: Invalid device " + "[VUID-vkGetShaderBinaryDataEXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->GetShaderBinaryDataEXT(device, shader, pDataSize, pData); +} + +VKAPI_ATTR void VKAPI_CALL CmdBindShadersEXT( + VkCommandBuffer commandBuffer, + uint32_t stageCount, + const VkShaderStageFlagBits* pStages, + const VkShaderEXT* pShaders) { + const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCmdBindShadersEXT: Invalid commandBuffer " + "[VUID-vkCmdBindShadersEXT-commandBuffer-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->CmdBindShadersEXT(commandBuffer, stageCount, pStages, pShaders); +} + + // ---- VK_QCOM_tile_properties extension trampoline/terminators VKAPI_ATTR VkResult VKAPI_CALL GetFramebufferTilePropertiesQCOM( @@ -9859,6 +9934,24 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na return true; } + // ---- VK_EXT_shader_object extension commands + if (!strcmp("vkCreateShadersEXT", name)) { + *addr = (void *)CreateShadersEXT; + return true; + } + if (!strcmp("vkDestroyShaderEXT", name)) { + *addr = (void *)DestroyShaderEXT; + return true; + } + if (!strcmp("vkGetShaderBinaryDataEXT", name)) { + *addr = (void *)GetShaderBinaryDataEXT; + return true; + } + if (!strcmp("vkCmdBindShadersEXT", name)) { + *addr = (void *)CmdBindShadersEXT; + return true; + } + // ---- VK_QCOM_tile_properties extension commands if (!strcmp("vkGetFramebufferTilePropertiesQCOM", name)) { *addr = (void *)GetFramebufferTilePropertiesQCOM; diff --git a/loader/generated/vk_object_types.h b/loader/generated/vk_object_types.h index c73a6e03..86a48a9b 100644 --- a/loader/generated/vk_object_types.h +++ b/loader/generated/vk_object_types.h @@ -84,7 +84,8 @@ typedef enum VulkanObjectType { kVulkanObjectTypeBufferCollectionFUCHSIA = 45, kVulkanObjectTypeMicromapEXT = 46, kVulkanObjectTypeOpticalFlowSessionNV = 47, - kVulkanObjectTypeMax = 48, + kVulkanObjectTypeShaderEXT = 48, + kVulkanObjectTypeMax = 49, // Aliases for backwards compatibilty of "promoted" types kVulkanObjectTypeDescriptorUpdateTemplateKHR = kVulkanObjectTypeDescriptorUpdateTemplate, kVulkanObjectTypeSamplerYcbcrConversionKHR = kVulkanObjectTypeSamplerYcbcrConversion, @@ -141,6 +142,7 @@ static const char * const object_string[kVulkanObjectTypeMax] = { "BufferCollectionFUCHSIA", "MicromapEXT", "OpticalFlowSessionNV", + "ShaderEXT", }; // Helper array to get Vulkan VK_EXT_debug_report object type enum from the internal layers version @@ -193,6 +195,7 @@ const VkDebugReportObjectTypeEXT get_debug_report_enum[] = { VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT, // kVulkanObjectTypeBufferCollectionFUCHSIA VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeMicromapEXT VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeOpticalFlowSessionNV + VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeShaderEXT }; // Helper array to get Official Vulkan VkObjectType enum from the internal layers version @@ -245,6 +248,7 @@ const VkObjectType get_object_type_enum[] = { VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA, // kVulkanObjectTypeBufferCollectionFUCHSIA VK_OBJECT_TYPE_MICROMAP_EXT, // kVulkanObjectTypeMicromapEXT VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV, // kVulkanObjectTypeOpticalFlowSessionNV + VK_OBJECT_TYPE_SHADER_EXT, // kVulkanObjectTypeShaderEXT }; // Helper function to convert from VkDebugReportObjectTypeEXT to VkObjectType diff --git a/loader/loader.rc b/loader/loader.rc index daa488fb..beeb7f0d 100644 --- a/loader/loader.rc +++ b/loader/loader.rc @@ -22,8 +22,8 @@ #include "winres.h" // All set through CMake -#define VER_FILE_VERSION 1, 3, 245, 0 -#define VER_FILE_DESCRIPTION_STR "1.3.245.Dev Build" +#define VER_FILE_VERSION 1, 3, 246, 0 +#define VER_FILE_DESCRIPTION_STR "1.3.246.Dev Build" #define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build" #define VER_COPYRIGHT_STR "Copyright (C) 2015-2023" diff --git a/scripts/known_good.json b/scripts/known_good.json index 41c9f4d8..6c8e62ca 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -6,7 +6,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.3.245" + "commit": "v1.3.246" }, { "name": "googletest", diff --git a/tests/framework/test_util.h b/tests/framework/test_util.h index 4a90952d..22f60f2b 100644 --- a/tests/framework/test_util.h +++ b/tests/framework/test_util.h @@ -514,6 +514,8 @@ inline std::ostream& operator<<(std::ostream& os, const VkResult& result) { return os << "VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR"; case (VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR): return os << "VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR"; + case (VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT): + return os << "VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT"; } return os << static_cast(result); }