From 98fe631044dfde2841b7b4204adb22b72627bd4f Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Fri, 16 Jun 2023 11:38:00 -0700 Subject: build: Update to header 1.3.254 - Update known-good - Generate source - Only build vulkaninfo and mockicd with -DVK_ENABLE_BETA_EXTENSIONS instead of the entire repo --- CMakeLists.txt | 3 - build-android/vulkan-headers_revision_android | 2 +- common/vulkan_wrapper.cpp | 12 ++ common/vulkan_wrapper.h | 2 + icd/CMakeLists.txt | 3 + icd/generated/mock_icd.cpp | 41 ++++ icd/generated/mock_icd.h | 45 ++++- icd/generated/vk_typemap_helper.h | 276 +++++++++++++++++++++++++- scripts/generate_vulkan_wrapper.py | 22 +- scripts/known_good.json | 4 +- vulkaninfo/CMakeLists.txt | 2 + vulkaninfo/generated/vulkaninfo.hpp | 17 ++ 12 files changed, 407 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 561b8805..192c2bcc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,9 +25,6 @@ add_subdirectory(scripts) # This section contains variables that affect development GUIs (e.g. CMake GUI and IDEs), such as option(), folders, and variables # with the CACHE property. -# Enable beta Vulkan extensions -add_definitions(-DVK_ENABLE_BETA_EXTENSIONS) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") option(BUILD_CUBE "Build cube" ON) diff --git a/build-android/vulkan-headers_revision_android b/build-android/vulkan-headers_revision_android index 6d483bbf..45c1aff5 100644 --- a/build-android/vulkan-headers_revision_android +++ b/build-android/vulkan-headers_revision_android @@ -1 +1 @@ -v1.3.251 +v1.3.254 diff --git a/common/vulkan_wrapper.cpp b/common/vulkan_wrapper.cpp index 4f993536..c48a720f 100644 --- a/common/vulkan_wrapper.cpp +++ b/common/vulkan_wrapper.cpp @@ -579,6 +579,11 @@ int InitVulkan(void) { #endif #ifdef VK_ENABLE_BETA_EXTENSIONS + vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = + reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR")); + vkGetEncodedVideoSessionParametersKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetEncodedVideoSessionParametersKHR")); vkCmdEncodeVideoKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdEncodeVideoKHR")); #endif return 1; @@ -1047,6 +1052,7 @@ PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; +PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT; PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; @@ -1296,7 +1302,13 @@ PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX; PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX; #endif +#ifdef VK_USE_PLATFORM_SCREEN_QNX +PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX; +#endif + #ifdef VK_ENABLE_BETA_EXTENSIONS +PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR; +PFN_vkGetEncodedVideoSessionParametersKHR vkGetEncodedVideoSessionParametersKHR; PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; #endif diff --git a/common/vulkan_wrapper.h b/common/vulkan_wrapper.h index fe47d433..ded43c01 100644 --- a/common/vulkan_wrapper.h +++ b/common/vulkan_wrapper.h @@ -533,6 +533,8 @@ extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlib #ifdef VK_ENABLE_BETA_EXTENSIONS // VK_KHR_video_encode_queue +extern PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR; +extern PFN_vkGetEncodedVideoSessionParametersKHR vkGetEncodedVideoSessionParametersKHR; extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; #endif diff --git a/icd/CMakeLists.txt b/icd/CMakeLists.txt index 0e98928f..a0120c9a 100644 --- a/icd/CMakeLists.txt +++ b/icd/CMakeLists.txt @@ -19,6 +19,9 @@ set(MOCK_ICD_NAME mock_icd) set(GENERATED generated) +# Enable beta Vulkan extensions +add_definitions(-DVK_ENABLE_BETA_EXTENSIONS) + if(WIN32) add_definitions(-DVK_USE_PLATFORM_WIN32_KHR -DVK_USE_PLATFORM_WIN32_KHX -DWIN32_LEAN_AND_MEAN) elseif(ANDROID) diff --git a/icd/generated/mock_icd.cpp b/icd/generated/mock_icd.cpp index 0f533c43..f3e8f127 100644 --- a/icd/generated/mock_icd.cpp +++ b/icd/generated/mock_icd.cpp @@ -3989,6 +3989,26 @@ static VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2KHR( #ifdef VK_ENABLE_BETA_EXTENSIONS +static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, + VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + +static VKAPI_ATTR VkResult VKAPI_CALL GetEncodedVideoSessionParametersKHR( + VkDevice device, + const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, + VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, + size_t* pDataSize, + void* pData) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) @@ -5570,6 +5590,14 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV( +static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias2EXT( + VkCommandBuffer commandBuffer, + const VkDepthBiasInfoEXT* pDepthBiasInfo) +{ +//Not a CREATE or DESTROY function +} + + static VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, @@ -6310,6 +6338,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountNV( + static VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) @@ -6692,6 +6721,18 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetAttachmentFeedbackLoopEnableEXT( //Not a CREATE or DESTROY function } +#ifdef VK_USE_PLATFORM_SCREEN_QNX + +static VKAPI_ATTR VkResult VKAPI_CALL GetScreenBufferPropertiesQNX( + VkDevice device, + const struct _screen_buffer* buffer, + VkScreenBufferPropertiesQNX* pProperties) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} +#endif /* VK_USE_PLATFORM_SCREEN_QNX */ + static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR( VkDevice device, diff --git a/icd/generated/mock_icd.h b/icd/generated/mock_icd.h index 1df7433f..f641c27d 100644 --- a/icd/generated/mock_icd.h +++ b/icd/generated/mock_icd.h @@ -111,8 +111,8 @@ static const std::unordered_map device_extension_map = { {"VK_AMD_negative_viewport_height", 1}, {"VK_AMD_gpu_shader_half_float", 2}, {"VK_AMD_shader_ballot", 1}, - {"VK_EXT_video_encode_h264", 10}, - {"VK_EXT_video_encode_h265", 10}, + {"VK_EXT_video_encode_h264", 11}, + {"VK_EXT_video_encode_h265", 11}, {"VK_KHR_video_decode_h264", 8}, {"VK_AMD_texture_gather_bias_lod", 1}, {"VK_AMD_shader_info", 1}, @@ -278,6 +278,7 @@ static const std::unordered_map device_extension_map = { {"VK_KHR_shader_integer_dot_product", 1}, {"VK_EXT_texel_buffer_alignment", 1}, {"VK_QCOM_render_pass_transform", 3}, + {"VK_EXT_depth_bias_control", 1}, {"VK_EXT_device_memory_report", 2}, {"VK_EXT_robustness2", 1}, {"VK_EXT_custom_border_color", 12}, @@ -288,7 +289,7 @@ static const std::unordered_map device_extension_map = { {"VK_KHR_present_id", 1}, {"VK_EXT_private_data", 1}, {"VK_EXT_pipeline_creation_cache_control", 3}, - {"VK_KHR_video_encode_queue", 8}, + {"VK_KHR_video_encode_queue", 9}, {"VK_NV_device_diagnostics_config", 2}, {"VK_QCOM_render_pass_store_ops", 2}, {"VK_NV_low_latency", 1}, @@ -358,6 +359,7 @@ static const std::unordered_map device_extension_map = { {"VK_NV_linear_color_attachment", 1}, {"VK_EXT_image_compression_control_swapchain", 1}, {"VK_QCOM_image_processing", 1}, + {"VK_EXT_external_memory_acquire_unmodified", 1}, {"VK_EXT_extended_dynamic_state3", 2}, {"VK_EXT_subpass_merge_feedback", 2}, {"VK_EXT_shader_module_identifier", 1}, @@ -377,6 +379,7 @@ static const std::unordered_map device_extension_map = { {"VK_EXT_dynamic_rendering_unused_attachments", 1}, {"VK_QCOM_multiview_per_view_render_areas", 1}, {"VK_EXT_attachment_feedback_loop_dynamic_state", 1}, + {"VK_QNX_external_memory_screen_buffer", 1}, }; @@ -2323,6 +2326,18 @@ static VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2KHR( #ifdef VK_ENABLE_BETA_EXTENSIONS +static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, + VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); + +static VKAPI_ATTR VkResult VKAPI_CALL GetEncodedVideoSessionParametersKHR( + VkDevice device, + const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, + VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, + size_t* pDataSize, + void* pData); + static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); @@ -3347,6 +3362,11 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV( +static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias2EXT( + VkCommandBuffer commandBuffer, + const VkDepthBiasInfoEXT* pDepthBiasInfo); + + static VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, @@ -3829,6 +3849,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountNV( + static VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); @@ -4061,6 +4082,14 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); +#ifdef VK_USE_PLATFORM_SCREEN_QNX + +static VKAPI_ATTR VkResult VKAPI_CALL GetScreenBufferPropertiesQNX( + VkDevice device, + const struct _screen_buffer* buffer, + VkScreenBufferPropertiesQNX* pProperties); +#endif /* VK_USE_PLATFORM_SCREEN_QNX */ + static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR( VkDevice device, @@ -4593,6 +4622,12 @@ static const std::unordered_map name_to_funcptr_map = { {"vkGetPipelineExecutableInternalRepresentationsKHR", (void*)GetPipelineExecutableInternalRepresentationsKHR}, {"vkMapMemory2KHR", (void*)MapMemory2KHR}, {"vkUnmapMemory2KHR", (void*)UnmapMemory2KHR}, +#ifdef VK_ENABLE_BETA_EXTENSIONS + {"vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR", (void*)GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR}, +#endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + {"vkGetEncodedVideoSessionParametersKHR", (void*)GetEncodedVideoSessionParametersKHR}, +#endif #ifdef VK_ENABLE_BETA_EXTENSIONS {"vkCmdEncodeVideoKHR", (void*)CmdEncodeVideoKHR}, #endif @@ -4780,6 +4815,7 @@ static const std::unordered_map name_to_funcptr_map = { {"vkCmdBindPipelineShaderGroupNV", (void*)CmdBindPipelineShaderGroupNV}, {"vkCreateIndirectCommandsLayoutNV", (void*)CreateIndirectCommandsLayoutNV}, {"vkDestroyIndirectCommandsLayoutNV", (void*)DestroyIndirectCommandsLayoutNV}, + {"vkCmdSetDepthBias2EXT", (void*)CmdSetDepthBias2EXT}, {"vkAcquireDrmDisplayEXT", (void*)AcquireDrmDisplayEXT}, {"vkGetDrmDisplayEXT", (void*)GetDrmDisplayEXT}, {"vkCreatePrivateDataSlotEXT", (void*)CreatePrivateDataSlotEXT}, @@ -4930,6 +4966,9 @@ static const std::unordered_map name_to_funcptr_map = { {"vkGetFramebufferTilePropertiesQCOM", (void*)GetFramebufferTilePropertiesQCOM}, {"vkGetDynamicRenderingTilePropertiesQCOM", (void*)GetDynamicRenderingTilePropertiesQCOM}, {"vkCmdSetAttachmentFeedbackLoopEnableEXT", (void*)CmdSetAttachmentFeedbackLoopEnableEXT}, +#ifdef VK_USE_PLATFORM_SCREEN_QNX + {"vkGetScreenBufferPropertiesQNX", (void*)GetScreenBufferPropertiesQNX}, +#endif {"vkCreateAccelerationStructureKHR", (void*)CreateAccelerationStructureKHR}, {"vkDestroyAccelerationStructureKHR", (void*)DestroyAccelerationStructureKHR}, {"vkCmdBuildAccelerationStructuresKHR", (void*)CmdBuildAccelerationStructuresKHR}, diff --git a/icd/generated/vk_typemap_helper.h b/icd/generated/vk_typemap_helper.h index f962f28f..b28ccc73 100644 --- a/icd/generated/vk_typemap_helper.h +++ b/icd/generated/vk_typemap_helper.h @@ -3085,6 +3085,61 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeQualityLevelPropertiesKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeQualityLevelPropertiesKHR Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeQualityLevelInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeQualityLevelInfoKHR Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeSessionParametersGetInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeSessionParametersGetInfoKHR Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeSessionParametersFeedbackInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeSessionParametersFeedbackInfoKHR Type; +}; + #endif // VK_ENABLE_BETA_EXTENSIONS // Map type VkQueueFamilyCheckpointProperties2NV to id VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV template <> struct LvlTypeMap { @@ -3312,6 +3367,28 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH264QualityLevelPropertiesEXT Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeH264SessionCreateInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH264SessionCreateInfoEXT Type; +}; + #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeH264SessionParametersAddInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT @@ -3334,6 +3411,28 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH264SessionParametersGetInfoEXT Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeH264SessionParametersFeedbackInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH264SessionParametersFeedbackInfoEXT Type; +}; + #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeH264NaluSliceInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT @@ -3347,13 +3446,13 @@ template <> struct LvlSTypeMap struct LvlTypeMap { - static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT; +// Map type VkVideoEncodeH264PictureInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT; }; -template <> struct LvlSTypeMap { - typedef VkVideoEncodeH264VclFrameInfoEXT Type; +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH264PictureInfoEXT Type; }; #endif // VK_ENABLE_BETA_EXTENSIONS @@ -3400,6 +3499,17 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH264GopRemainingFrameInfoEXT Type; +}; + #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeH265CapabilitiesEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT @@ -3411,6 +3521,28 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH265SessionCreateInfoEXT Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeH265QualityLevelPropertiesEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH265QualityLevelPropertiesEXT Type; +}; + #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeH265SessionParametersAddInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT @@ -3433,6 +3565,28 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH265SessionParametersGetInfoEXT Type; +}; + +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS +// Map type VkVideoEncodeH265SessionParametersFeedbackInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH265SessionParametersFeedbackInfoEXT Type; +}; + #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeH265NaluSliceSegmentInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT @@ -3446,13 +3600,13 @@ template <> struct LvlSTypeMap struct LvlTypeMap { - static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT; +// Map type VkVideoEncodeH265PictureInfoEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT; }; -template <> struct LvlSTypeMap { - typedef VkVideoEncodeH265VclFrameInfoEXT Type; +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH265PictureInfoEXT Type; }; #endif // VK_ENABLE_BETA_EXTENSIONS @@ -3499,6 +3653,17 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkVideoEncodeH265GopRemainingFrameInfoEXT Type; +}; + #endif // VK_ENABLE_BETA_EXTENSIONS // Map type VkTextureLODGatherFormatPropertiesAMD to id VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD template <> struct LvlTypeMap { @@ -5115,6 +5280,33 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceDepthBiasControlFeaturesEXT Type; +}; + +// Map type VkDepthBiasInfoEXT to id VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkDepthBiasInfoEXT Type; +}; + +// Map type VkDepthBiasRepresentationInfoEXT to id VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkDepthBiasRepresentationInfoEXT Type; +}; + // Map type VkPhysicalDeviceDeviceMemoryReportFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT; @@ -6556,6 +6748,15 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkExternalMemoryAcquireUnmodifiedEXT Type; +}; + // Map type VkPhysicalDeviceExtendedDynamicState3FeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT; @@ -6898,6 +7099,61 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX; +}; + +template <> struct LvlSTypeMap { + typedef VkScreenBufferPropertiesQNX Type; +}; + +#endif // VK_USE_PLATFORM_SCREEN_QNX +#ifdef VK_USE_PLATFORM_SCREEN_QNX +// Map type VkScreenBufferFormatPropertiesQNX to id VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX; +}; + +template <> struct LvlSTypeMap { + typedef VkScreenBufferFormatPropertiesQNX Type; +}; + +#endif // VK_USE_PLATFORM_SCREEN_QNX +#ifdef VK_USE_PLATFORM_SCREEN_QNX +// Map type VkImportScreenBufferInfoQNX to id VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX; +}; + +template <> struct LvlSTypeMap { + typedef VkImportScreenBufferInfoQNX Type; +}; + +#endif // VK_USE_PLATFORM_SCREEN_QNX +#ifdef VK_USE_PLATFORM_SCREEN_QNX +// Map type VkExternalFormatQNX to id VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX; +}; + +template <> struct LvlSTypeMap { + typedef VkExternalFormatQNX Type; +}; + +#endif // VK_USE_PLATFORM_SCREEN_QNX +#ifdef VK_USE_PLATFORM_SCREEN_QNX +// Map type VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Type; +}; + +#endif // VK_USE_PLATFORM_SCREEN_QNX // Map type VkAccelerationStructureGeometryTrianglesDataKHR to id VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR; diff --git a/scripts/generate_vulkan_wrapper.py b/scripts/generate_vulkan_wrapper.py index e02b00af..af1b53a6 100755 --- a/scripts/generate_vulkan_wrapper.py +++ b/scripts/generate_vulkan_wrapper.py @@ -1196,6 +1196,10 @@ VK_EXT_texel_buffer_alignment = Extension(name='VK_EXT_texel_buffer_alignment', VK_QCOM_render_pass_transform = Extension(name='VK_QCOM_render_pass_transform', version=3, guard=None, commands=[ ]) +VK_EXT_depth_bias_control = Extension(name='VK_EXT_depth_bias_control', version=1, guard=None, commands=[ + Command(name='vkCmdSetDepthBias2EXT', dispatch='VkCommandBuffer'), +]) + VK_EXT_device_memory_report = Extension(name='VK_EXT_device_memory_report', version=2, guard=None, commands=[ ]) @@ -1439,6 +1443,9 @@ VK_EXT_image_compression_control_swapchain = Extension(name='VK_EXT_image_compre VK_QCOM_image_processing = Extension(name='VK_QCOM_image_processing', version=1, guard=None, commands=[ ]) +VK_EXT_external_memory_acquire_unmodified = Extension(name='VK_EXT_external_memory_acquire_unmodified', version=1, guard=None, commands=[ +]) + VK_EXT_extended_dynamic_state3 = Extension(name='VK_EXT_extended_dynamic_state3', version=2, guard=None, commands=[ Command(name='vkCmdSetTessellationDomainOriginEXT', dispatch='VkCommandBuffer'), Command(name='vkCmdSetDepthClampEnableEXT', dispatch='VkCommandBuffer'), @@ -1708,17 +1715,23 @@ VK_QNX_screen_surface = Extension(name='VK_QNX_screen_surface', version=1, guard Command(name='vkGetPhysicalDeviceScreenPresentationSupportQNX', dispatch='VkPhysicalDevice'), ]) +VK_QNX_external_memory_screen_buffer = Extension(name='VK_QNX_external_memory_screen_buffer', version=1, guard='VK_USE_PLATFORM_SCREEN_QNX', commands=[ + Command(name='vkGetScreenBufferPropertiesQNX', dispatch='VkDevice'), +]) + VK_KHR_portability_subset = Extension(name='VK_KHR_portability_subset', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) -VK_KHR_video_encode_queue = Extension(name='VK_KHR_video_encode_queue', version=8, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_KHR_video_encode_queue = Extension(name='VK_KHR_video_encode_queue', version=9, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ + Command(name='vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR', dispatch='VkPhysicalDevice'), + Command(name='vkGetEncodedVideoSessionParametersKHR', dispatch='VkDevice'), Command(name='vkCmdEncodeVideoKHR', dispatch='VkCommandBuffer'), ]) -VK_EXT_video_encode_h264 = Extension(name='VK_EXT_video_encode_h264', version=10, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_EXT_video_encode_h264 = Extension(name='VK_EXT_video_encode_h264', version=11, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) -VK_EXT_video_encode_h265 = Extension(name='VK_EXT_video_encode_h265', version=10, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_EXT_video_encode_h265 = Extension(name='VK_EXT_video_encode_h265', version=11, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) VK_NV_displacement_micromap = Extension(name='VK_NV_displacement_micromap', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ @@ -1938,6 +1951,7 @@ extensions = [ VK_NV_inherited_viewport_scissor, VK_EXT_texel_buffer_alignment, VK_QCOM_render_pass_transform, + VK_EXT_depth_bias_control, VK_EXT_device_memory_report, VK_EXT_acquire_drm_display, VK_EXT_robustness2, @@ -2000,6 +2014,7 @@ extensions = [ VK_GOOGLE_surfaceless_query, VK_EXT_image_compression_control_swapchain, VK_QCOM_image_processing, + VK_EXT_external_memory_acquire_unmodified, VK_EXT_extended_dynamic_state3, VK_EXT_subpass_merge_feedback, VK_LUNARG_direct_driver_loading, @@ -2051,6 +2066,7 @@ extensions = [ VK_GGP_stream_descriptor_surface, VK_GGP_frame_token, VK_QNX_screen_surface, + VK_QNX_external_memory_screen_buffer, VK_KHR_portability_subset, VK_KHR_video_encode_queue, VK_EXT_video_encode_h264, diff --git a/scripts/known_good.json b/scripts/known_good.json index 9b82d2bc..5cb5b303 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -7,7 +7,7 @@ "sub_dir" : "Vulkan-Headers", "build_dir" : "Vulkan-Headers/build", "install_dir" : "Vulkan-Headers/build/install", - "commit": "v1.3.251" + "commit": "v1.3.254" }, { "name" : "MoltenVK", @@ -32,7 +32,7 @@ "sub_dir" : "Vulkan-Loader", "build_dir" : "Vulkan-Loader/build", "install_dir" : "Vulkan-Loader/build/install", - "commit": "v1.3.251", + "commit": "v1.3.254", "deps" : [ { "var_name" : "VULKAN_HEADERS_INSTALL_DIR", diff --git a/vulkaninfo/CMakeLists.txt b/vulkaninfo/CMakeLists.txt index d2d66dff..6c34ded7 100644 --- a/vulkaninfo/CMakeLists.txt +++ b/vulkaninfo/CMakeLists.txt @@ -61,6 +61,8 @@ if (NOT WIN32) target_link_libraries(vulkaninfo ${CMAKE_DL_LIBS}) endif() +target_compile_definitions(vulkaninfo PRIVATE -DVK_ENABLE_BETA_EXTENSIONS) + if(UNIX AND NOT APPLE) # i.e. Linux option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON) diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index 1b4d9bf4..8f5a3dd1 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -1508,6 +1508,14 @@ void DumpVkPhysicalDeviceCustomBorderColorPropertiesEXT(Printer &p, std::string p.SetMinKeyWidth(28); p.PrintKeyValue("maxCustomBorderColorSamplers", obj.maxCustomBorderColorSamplers); } +void DumpVkPhysicalDeviceDepthBiasControlFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceDepthBiasControlFeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(47); + p.PrintKeyBool("depthBiasControl", static_cast(obj.depthBiasControl)); + p.PrintKeyBool("leastRepresentableValueForceUnormRepresentation", static_cast(obj.leastRepresentableValueForceUnormRepresentation)); + p.PrintKeyBool("floatRepresentation", static_cast(obj.floatRepresentation)); + p.PrintKeyBool("depthBiasExact", static_cast(obj.depthBiasExact)); +} void DumpVkPhysicalDeviceDepthClampZeroOneFeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.SetMinKeyWidth(17); @@ -3349,6 +3357,7 @@ struct phys_device_features2_chain { VkPhysicalDeviceColorWriteEnableFeaturesEXT PhysicalDeviceColorWriteEnableFeaturesEXT{}; VkPhysicalDeviceConditionalRenderingFeaturesEXT PhysicalDeviceConditionalRenderingFeaturesEXT{}; VkPhysicalDeviceCustomBorderColorFeaturesEXT PhysicalDeviceCustomBorderColorFeaturesEXT{}; + VkPhysicalDeviceDepthBiasControlFeaturesEXT PhysicalDeviceDepthBiasControlFeaturesEXT{}; VkPhysicalDeviceDepthClampZeroOneFeaturesEXT PhysicalDeviceDepthClampZeroOneFeaturesEXT{}; VkPhysicalDeviceDepthClipControlFeaturesEXT PhysicalDeviceDepthClipControlFeaturesEXT{}; VkPhysicalDeviceDepthClipEnableFeaturesEXT PhysicalDeviceDepthClipEnableFeaturesEXT{}; @@ -3469,6 +3478,7 @@ struct phys_device_features2_chain { PhysicalDeviceColorWriteEnableFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT; PhysicalDeviceConditionalRenderingFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT; PhysicalDeviceCustomBorderColorFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; + PhysicalDeviceDepthBiasControlFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT; PhysicalDeviceDepthClampZeroOneFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; PhysicalDeviceDepthClipControlFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT; PhysicalDeviceDepthClipEnableFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT; @@ -3588,6 +3598,7 @@ struct phys_device_features2_chain { chain_members.push_back(reinterpret_cast(&PhysicalDeviceColorWriteEnableFeaturesEXT)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceConditionalRenderingFeaturesEXT)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceCustomBorderColorFeaturesEXT)); + chain_members.push_back(reinterpret_cast(&PhysicalDeviceDepthBiasControlFeaturesEXT)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceDepthClampZeroOneFeaturesEXT)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceDepthClipControlFeaturesEXT)); chain_members.push_back(reinterpret_cast(&PhysicalDeviceDepthClipEnableFeaturesEXT)); @@ -4241,6 +4252,12 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, void * place) DumpVkPhysicalDeviceCustomBorderColorFeaturesEXT(p, "VkPhysicalDeviceCustomBorderColorFeaturesEXT", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME))) { + VkPhysicalDeviceDepthBiasControlFeaturesEXT* props = (VkPhysicalDeviceDepthBiasControlFeaturesEXT*)structure; + DumpVkPhysicalDeviceDepthBiasControlFeaturesEXT(p, "VkPhysicalDeviceDepthBiasControlFeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME))) { VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* props = (VkPhysicalDeviceDepthClampZeroOneFeaturesEXT*)structure; -- cgit v1.2.3