From f846ef57a009cd2a3e475830b10f8dec399dfdc6 Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Thu, 8 Dec 2022 10:19:36 -0800 Subject: build: Update to header 1.3.237 - Update known-good - Generate source --- build-android/vulkan-headers_revision_android | 2 +- common/vulkan_wrapper.cpp | 1 + icd/generated/mock_icd.cpp | 10 +++ icd/generated/mock_icd.h | 9 +++ icd/generated/vk_typemap_helper.h | 81 +++++++++++++++++++ scripts/generate_vulkan_wrapper.py | 9 +++ scripts/known_good.json | 4 +- vulkaninfo/generated/vulkaninfo.hpp | 112 ++++++++++++++++++++++++++ 8 files changed, 225 insertions(+), 3 deletions(-) diff --git a/build-android/vulkan-headers_revision_android b/build-android/vulkan-headers_revision_android index ac7edadc..7227e07d 100644 --- a/build-android/vulkan-headers_revision_android +++ b/build-android/vulkan-headers_revision_android @@ -1 +1 @@ -v1.3.236 +v1.3.237 diff --git a/common/vulkan_wrapper.cpp b/common/vulkan_wrapper.cpp index 2ade6fb5..3fb6d1b8 100644 --- a/common/vulkan_wrapper.cpp +++ b/common/vulkan_wrapper.cpp @@ -1026,6 +1026,7 @@ PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; +PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; diff --git a/icd/generated/mock_icd.cpp b/icd/generated/mock_icd.cpp index 470e7088..9f31fbeb 100644 --- a/icd/generated/mock_icd.cpp +++ b/icd/generated/mock_icd.cpp @@ -5234,6 +5234,16 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT( +static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesEXT( + VkDevice device, + const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + + + static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV( VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, diff --git a/icd/generated/mock_icd.h b/icd/generated/mock_icd.h index b415abf1..b15fccf3 100644 --- a/icd/generated/mock_icd.h +++ b/icd/generated/mock_icd.h @@ -81,6 +81,7 @@ static const std::unordered_map instance_extension_map = {"VK_KHR_surface_protected_capabilities", 1}, {"VK_EXT_validation_features", 5}, {"VK_EXT_headless_surface", 1}, + {"VK_EXT_surface_maintenance1", 1}, {"VK_EXT_acquire_drm_display", 1}, {"VK_EXT_directfb_surface", 1}, {"VK_QNX_screen_surface", 1}, @@ -270,6 +271,7 @@ static const std::unordered_map device_extension_map = { {"VK_KHR_deferred_host_operations", 4}, {"VK_KHR_pipeline_executable_properties", 1}, {"VK_EXT_shader_atomic_float2", 1}, + {"VK_EXT_swapchain_maintenance1", 1}, {"VK_EXT_shader_demote_to_helper_invocation", 1}, {"VK_NV_device_generated_commands", 3}, {"VK_NV_inherited_viewport_scissor", 1}, @@ -3275,6 +3277,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT( +static VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesEXT( + VkDevice device, + const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); + + + static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV( VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, @@ -4705,6 +4713,7 @@ static const std::unordered_map name_to_funcptr_map = { {"vkCmdSetDepthBoundsTestEnableEXT", (void*)CmdSetDepthBoundsTestEnableEXT}, {"vkCmdSetStencilTestEnableEXT", (void*)CmdSetStencilTestEnableEXT}, {"vkCmdSetStencilOpEXT", (void*)CmdSetStencilOpEXT}, + {"vkReleaseSwapchainImagesEXT", (void*)ReleaseSwapchainImagesEXT}, {"vkGetGeneratedCommandsMemoryRequirementsNV", (void*)GetGeneratedCommandsMemoryRequirementsNV}, {"vkCmdPreprocessGeneratedCommandsNV", (void*)CmdPreprocessGeneratedCommandsNV}, {"vkCmdExecuteGeneratedCommandsNV", (void*)CmdExecuteGeneratedCommandsNV}, diff --git a/icd/generated/vk_typemap_helper.h b/icd/generated/vk_typemap_helper.h index f08702e3..6f0c2448 100644 --- a/icd/generated/vk_typemap_helper.h +++ b/icd/generated/vk_typemap_helper.h @@ -4987,6 +4987,87 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkSurfacePresentModeEXT Type; +}; + +// Map type VkSurfacePresentScalingCapabilitiesEXT to id VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkSurfacePresentScalingCapabilitiesEXT Type; +}; + +// Map type VkSurfacePresentModeCompatibilityEXT to id VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkSurfacePresentModeCompatibilityEXT Type; +}; + +// Map type VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT Type; +}; + +// Map type VkSwapchainPresentFenceInfoEXT to id VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkSwapchainPresentFenceInfoEXT Type; +}; + +// Map type VkSwapchainPresentModesCreateInfoEXT to id VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkSwapchainPresentModesCreateInfoEXT Type; +}; + +// Map type VkSwapchainPresentModeInfoEXT to id VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkSwapchainPresentModeInfoEXT Type; +}; + +// Map type VkSwapchainPresentScalingCreateInfoEXT to id VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkSwapchainPresentScalingCreateInfoEXT Type; +}; + +// Map type VkReleaseSwapchainImagesInfoEXT to id VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkReleaseSwapchainImagesInfoEXT Type; +}; + // Map type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV; diff --git a/scripts/generate_vulkan_wrapper.py b/scripts/generate_vulkan_wrapper.py index 51d5e970..53a22f8a 100755 --- a/scripts/generate_vulkan_wrapper.py +++ b/scripts/generate_vulkan_wrapper.py @@ -1132,6 +1132,13 @@ VK_EXT_extended_dynamic_state = Extension(name='VK_EXT_extended_dynamic_state', VK_EXT_shader_atomic_float2 = Extension(name='VK_EXT_shader_atomic_float2', version=1, guard=None, commands=[ ]) +VK_EXT_surface_maintenance1 = Extension(name='VK_EXT_surface_maintenance1', version=1, guard=None, commands=[ +]) + +VK_EXT_swapchain_maintenance1 = Extension(name='VK_EXT_swapchain_maintenance1', version=1, guard=None, commands=[ + Command(name='vkReleaseSwapchainImagesEXT', dispatch='VkDevice'), +]) + VK_EXT_shader_demote_to_helper_invocation = Extension(name='VK_EXT_shader_demote_to_helper_invocation', version=1, guard=None, commands=[ ]) @@ -1867,6 +1874,8 @@ extensions = [ VK_EXT_index_type_uint8, VK_EXT_extended_dynamic_state, VK_EXT_shader_atomic_float2, + VK_EXT_surface_maintenance1, + VK_EXT_swapchain_maintenance1, VK_EXT_shader_demote_to_helper_invocation, VK_NV_device_generated_commands, VK_NV_inherited_viewport_scissor, diff --git a/scripts/known_good.json b/scripts/known_good.json index 328ca7e1..79184401 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.236" + "commit" : "v1.3.237" }, { "name" : "MoltenVK", @@ -30,7 +30,7 @@ "sub_dir" : "Vulkan-Loader", "build_dir" : "Vulkan-Loader/build", "install_dir" : "Vulkan-Loader/build/install", - "commit" : "v1.3.236", + "commit" : "v1.3.237", "deps" : [ { "var_name" : "VULKAN_HEADERS_INSTALL_DIR", diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index 16f5b21e..8ea4f556 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -841,6 +841,66 @@ void DumpVkMemoryPropertyFlagBits(Printer &p, std::string name, VkMemoryProperty p.PrintKeyString(name, strings.at(0)); } +std::vector VkPresentGravityFlagBitsEXTGetStrings(VkPresentGravityFlagBitsEXT value) { + std::vector strings; + if (value == 0) { strings.push_back("None"); return strings; } + if (VK_PRESENT_GRAVITY_MIN_BIT_EXT & value) strings.push_back("PRESENT_GRAVITY_MIN_BIT_EXT"); + if (VK_PRESENT_GRAVITY_MAX_BIT_EXT & value) strings.push_back("PRESENT_GRAVITY_MAX_BIT_EXT"); + if (VK_PRESENT_GRAVITY_CENTERED_BIT_EXT & value) strings.push_back("PRESENT_GRAVITY_CENTERED_BIT_EXT"); + return strings; +} +void DumpVkPresentGravityFlagsEXT(Printer &p, std::string name, VkPresentGravityFlagsEXT value) { + if (static_cast(value) == 0) { + ArrayWrapper arr(p, name, 0); + if (p.Type() != OutputType::json && p.Type() != OutputType::vkconfig_output) + p.SetAsType().PrintString("None"); + return; + } + auto strings = VkPresentGravityFlagBitsEXTGetStrings(static_cast(value)); + ArrayWrapper arr(p, name, strings.size()); + for(auto& str : strings){ + if (p.Type() == OutputType::json) + p.SetAsType().PrintString(std::string("VK_") + str); + else + p.SetAsType().PrintString(str); + } +} +void DumpVkPresentGravityFlagBitsEXT(Printer &p, std::string name, VkPresentGravityFlagBitsEXT value) { + auto strings = VkPresentGravityFlagBitsEXTGetStrings(value); + if (strings.size() > 0) + p.PrintKeyString(name, strings.at(0)); +} + +std::vector VkPresentScalingFlagBitsEXTGetStrings(VkPresentScalingFlagBitsEXT value) { + std::vector strings; + if (value == 0) { strings.push_back("None"); return strings; } + if (VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT & value) strings.push_back("PRESENT_SCALING_ONE_TO_ONE_BIT_EXT"); + if (VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT & value) strings.push_back("PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT"); + if (VK_PRESENT_SCALING_STRETCH_BIT_EXT & value) strings.push_back("PRESENT_SCALING_STRETCH_BIT_EXT"); + return strings; +} +void DumpVkPresentScalingFlagsEXT(Printer &p, std::string name, VkPresentScalingFlagsEXT value) { + if (static_cast(value) == 0) { + ArrayWrapper arr(p, name, 0); + if (p.Type() != OutputType::json && p.Type() != OutputType::vkconfig_output) + p.SetAsType().PrintString("None"); + return; + } + auto strings = VkPresentScalingFlagBitsEXTGetStrings(static_cast(value)); + ArrayWrapper arr(p, name, strings.size()); + for(auto& str : strings){ + if (p.Type() == OutputType::json) + p.SetAsType().PrintString(std::string("VK_") + str); + else + p.SetAsType().PrintString(str); + } +} +void DumpVkPresentScalingFlagBitsEXT(Printer &p, std::string name, VkPresentScalingFlagBitsEXT value) { + auto strings = VkPresentScalingFlagBitsEXTGetStrings(value); + if (strings.size() > 0) + p.PrintKeyString(name, strings.at(0)); +} + std::vector VkQueueFlagBitsGetStrings(VkQueueFlagBits value) { std::vector strings; if (value == 0) { strings.push_back("None"); return strings; } @@ -2503,6 +2563,11 @@ void DumpVkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(Printer &p, std::string p.SetMinKeyWidth(20); p.PrintKeyBool("subpassMergeFeedback", static_cast(obj.subpassMergeFeedback)); } +void DumpVkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(21); + p.PrintKeyBool("swapchainMaintenance1", static_cast(obj.swapchainMaintenance1)); +} void DumpVkPhysicalDeviceSynchronization2Features(Printer &p, std::string name, const VkPhysicalDeviceSynchronization2Features &obj) { ObjectWrapper object{p, name}; p.SetMinKeyWidth(16); @@ -2894,6 +2959,26 @@ void DumpVkSurfaceFormatKHR(Printer &p, std::string name, const VkSurfaceFormatK DumpVkFormat(p, "format", obj.format); DumpVkColorSpaceKHR(p, "colorSpace", obj.colorSpace); } +void DumpVkSurfacePresentModeCompatibilityEXT(Printer &p, std::string name, const VkSurfacePresentModeCompatibilityEXT &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(31); + p.PrintKeyValue("presentModeCount", obj.presentModeCount); + ArrayWrapper arr(p,"pPresentModes", obj.presentModeCount); + for (uint32_t i = 0; i < obj.presentModeCount; i++) { + if (obj.pPresentModes != nullptr) { + p.SetElementIndex(i); + DumpVkPresentModeKHR(p, "pPresentModes", obj.pPresentModes[i]); + } + } +} +void DumpVkSurfacePresentScalingCapabilitiesEXT(Printer &p, std::string name, const VkSurfacePresentScalingCapabilitiesEXT &obj) { + ObjectWrapper object{p, name}; + DumpVkPresentScalingFlagsEXT(p, "supportedPresentScaling", obj.supportedPresentScaling); + DumpVkPresentGravityFlagsEXT(p, "supportedPresentGravityX", obj.supportedPresentGravityX); + DumpVkPresentGravityFlagsEXT(p, "supportedPresentGravityY", obj.supportedPresentGravityY); + DumpVkExtent2D(p, "minScaledImageExtent", obj.minScaledImageExtent); + DumpVkExtent2D(p, "maxScaledImageExtent", obj.maxScaledImageExtent); +} void DumpVkSurfaceProtectedCapabilitiesKHR(Printer &p, std::string name, const VkSurfaceProtectedCapabilitiesKHR &obj) { ObjectWrapper object{p, name}; p.SetMinKeyWidth(17); @@ -3204,6 +3289,7 @@ struct phys_device_features2_chain { VkPhysicalDeviceShaderTerminateInvocationFeatures PhysicalDeviceShaderTerminateInvocationFeatures{}; VkPhysicalDeviceSubgroupSizeControlFeatures PhysicalDeviceSubgroupSizeControlFeatures{}; VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT PhysicalDeviceSubpassMergeFeedbackFeaturesEXT{}; + VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT PhysicalDeviceSwapchainMaintenance1FeaturesEXT{}; VkPhysicalDeviceSynchronization2Features PhysicalDeviceSynchronization2Features{}; VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT PhysicalDeviceTexelBufferAlignmentFeaturesEXT{}; VkPhysicalDeviceTextureCompressionASTCHDRFeatures PhysicalDeviceTextureCompressionASTCHDRFeatures{}; @@ -3315,6 +3401,7 @@ struct phys_device_features2_chain { PhysicalDeviceShaderTerminateInvocationFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES; PhysicalDeviceSubgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES; PhysicalDeviceSubpassMergeFeedbackFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT; + PhysicalDeviceSwapchainMaintenance1FeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT; PhysicalDeviceSynchronization2Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES; PhysicalDeviceTexelBufferAlignmentFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT; PhysicalDeviceTextureCompressionASTCHDRFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES; @@ -3426,6 +3513,7 @@ struct phys_device_features2_chain { chain_members.push_back(reinterpret_cast(&PhysicalDeviceShaderTerminateInvocationFeatures)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceSubgroupSizeControlFeatures)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceSubpassMergeFeedbackFeaturesEXT)); + chain_members.push_back(reinterpret_cast(&PhysicalDeviceSwapchainMaintenance1FeaturesEXT)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceSynchronization2Features)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceTexelBufferAlignmentFeaturesEXT)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceTextureCompressionASTCHDRFeatures)); @@ -3466,18 +3554,24 @@ struct surface_capabilities2_chain { #ifdef VK_USE_PLATFORM_WIN32_KHR VkSurfaceCapabilitiesFullScreenExclusiveEXT SurfaceCapabilitiesFullScreenExclusiveEXT{}; #endif // VK_USE_PLATFORM_WIN32_KHR + VkSurfacePresentModeCompatibilityEXT SurfacePresentModeCompatibilityEXT{}; + VkSurfacePresentScalingCapabilitiesEXT SurfacePresentScalingCapabilitiesEXT{}; VkSurfaceProtectedCapabilitiesKHR SurfaceProtectedCapabilitiesKHR{}; void initialize_chain() noexcept { SharedPresentSurfaceCapabilitiesKHR.sType = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR; #ifdef VK_USE_PLATFORM_WIN32_KHR SurfaceCapabilitiesFullScreenExclusiveEXT.sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT; #endif // VK_USE_PLATFORM_WIN32_KHR + SurfacePresentModeCompatibilityEXT.sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT; + SurfacePresentScalingCapabilitiesEXT.sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT; SurfaceProtectedCapabilitiesKHR.sType = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR; std::vector chain_members; chain_members.push_back(reinterpret_cast(&SharedPresentSurfaceCapabilitiesKHR)); #ifdef VK_USE_PLATFORM_WIN32_KHR chain_members.push_back(reinterpret_cast(&SurfaceCapabilitiesFullScreenExclusiveEXT)); #endif // VK_USE_PLATFORM_WIN32_KHR + chain_members.push_back(reinterpret_cast(&SurfacePresentModeCompatibilityEXT)); + chain_members.push_back(reinterpret_cast(&SurfacePresentScalingCapabilitiesEXT)); chain_members.push_back(reinterpret_cast(&SurfaceProtectedCapabilitiesKHR)); for(size_t i = 0; i < chain_members.size() - 1; i++){ @@ -4465,6 +4559,12 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, void * place) DumpVkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(p, "VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME))) { + VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* props = (VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*)structure; + DumpVkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(p, "VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME) || gpu.api_version.minor >= 3)) { @@ -4595,6 +4695,18 @@ void chain_iterator_surface_capabilities2(Printer &p, AppInstance &inst, AppGpu p.AddNewline(); } #endif // VK_USE_PLATFORM_WIN32_KHR + if (structure->sType == VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT && + (inst.CheckExtensionEnabled(VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME))) { + VkSurfacePresentModeCompatibilityEXT* props = (VkSurfacePresentModeCompatibilityEXT*)structure; + DumpVkSurfacePresentModeCompatibilityEXT(p, "VkSurfacePresentModeCompatibilityEXT", *props); + p.AddNewline(); + } + if (structure->sType == VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT && + (inst.CheckExtensionEnabled(VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME))) { + VkSurfacePresentScalingCapabilitiesEXT* props = (VkSurfacePresentScalingCapabilitiesEXT*)structure; + DumpVkSurfacePresentScalingCapabilitiesEXT(p, "VkSurfacePresentScalingCapabilitiesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR && (inst.CheckExtensionEnabled(VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME))) { VkSurfaceProtectedCapabilitiesKHR* props = (VkSurfaceProtectedCapabilitiesKHR*)structure; -- cgit v1.2.3