build: Update to header 1.3.246
- Update known-good
- Generate source
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4b05256..95aab61 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 721f660..68822d5 100644
--- a/loader/generated/vk_dispatch_table_helper.h
+++ b/loader/generated/vk_dispatch_table_helper.h
@@ -378,6 +378,10 @@
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 @@
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 99b789c..3de67e8 100644
--- a/loader/generated/vk_layer_dispatch_table.h
+++ b/loader/generated/vk_layer_dispatch_table.h
@@ -1026,6 +1026,12 @@
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 283ce3a..2dfa89e 100644
--- a/loader/generated/vk_loader_extensions.c
+++ b/loader/generated/vk_loader_extensions.c
@@ -1064,6 +1064,12 @@
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 @@
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 @@
}
+// ---- 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 @@
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 c73a6e0..86a48a9 100644
--- a/loader/generated/vk_object_types.h
+++ b/loader/generated/vk_object_types.h
@@ -84,7 +84,8 @@
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 @@
"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 @@
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 @@
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 1d2280d..beeb7f0 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
-#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 41c9f4d..6c8e62c 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 4a90952..22f60f2 100644
--- a/tests/framework/test_util.h
+++ b/tests/framework/test_util.h
@@ -514,6 +514,8 @@
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<int32_t>(result);
}