Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vulkan-tools for openSUSE:Factory checked in at 2021-09-09 23:07:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vulkan-tools (Old) and /work/SRC/openSUSE:Factory/.vulkan-tools.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vulkan-tools" Thu Sep 9 23:07:25 2021 rev:31 rq:917062 version:1.2.189.0 Changes: -------- --- /work/SRC/openSUSE:Factory/vulkan-tools/vulkan-tools.changes 2021-07-10 22:54:50.527601272 +0200 +++ /work/SRC/openSUSE:Factory/.vulkan-tools.new.1899/vulkan-tools.changes 2021-09-09 23:07:37.580836679 +0200 @@ -1,0 +2,6 @@ +Sun Sep 5 11:08:44 UTC 2021 - Jan Engelhardt <jeng...@inai.de> + +- Update to release SDK-1.2.189.0 + * vulkaninfo: Fix image format query arguments + +------------------------------------------------------------------- Old: ---- sdk-1.2.182.0.tar.gz New: ---- sdk-1.2.189.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vulkan-tools.spec ++++++ --- /var/tmp/diff_new_pack.msnVtE/_old 2021-09-09 23:07:38.144837333 +0200 +++ /var/tmp/diff_new_pack.msnVtE/_new 2021-09-09 23:07:38.148837338 +0200 @@ -17,7 +17,7 @@ Name: vulkan-tools -Version: 1.2.182.0 +Version: 1.2.189.0 Release: 0 Summary: Diagnostic utilities for Vulkan License: Apache-2.0 @@ -30,7 +30,7 @@ BuildRequires: glslang-devel >= 8.13.3743 BuildRequires: pkg-config BuildRequires: python3-base -BuildRequires: pkgconfig(vulkan) >= 1.2.182 +BuildRequires: pkgconfig(vulkan) >= 1.2.189 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb) Obsoletes: vulkan < %version-%release ++++++ sdk-1.2.182.0.tar.gz -> sdk-1.2.189.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/.github/workflows/build.yml new/Vulkan-Tools-sdk-1.2.189.0/.github/workflows/build.yml --- old/Vulkan-Tools-sdk-1.2.182.0/.github/workflows/build.yml 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/.github/workflows/build.yml 2021-08-31 18:08:53.000000000 +0200 @@ -60,6 +60,9 @@ - name: Build the tools run: make -C build + - name: Verify generated source files + run: python scripts/generate_source.py --verify external/Vulkan-Headers/registry + windows: runs-on: ${{matrix.os}} @@ -85,6 +88,9 @@ - name: Build the tools run: cmake --build ./build --config ${{matrix.config}} + - name: Verify generated source files + run: python scripts/generate_source.py --verify external/Vulkan-Headers/registry + mac: runs-on: macos-latest @@ -107,6 +113,9 @@ - name: Build the tools run: make -C build + - name: Verify generated source files + run: python scripts/generate_source.py --verify external/Vulkan-Headers/registry + gn: runs-on: ubuntu-18.04 @@ -133,4 +142,4 @@ if: matrix.config == 'Release' - name: Build the tools - run: ninja -C out/${{matrix.config}} \ No newline at end of file + run: ninja -C out/${{matrix.config}} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/BUILD.md new/Vulkan-Tools-sdk-1.2.189.0/BUILD.md --- old/Vulkan-Tools-sdk-1.2.182.0/BUILD.md 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/BUILD.md 2021-08-31 18:08:53.000000000 +0200 @@ -459,13 +459,13 @@ the CMakeLists.txt file in `Vulkan-Tools/vulkaninfo` for more info. You can select which WSI subsystem is used to execute the vkcube applications -using a CMake option called DEMOS_WSI_SELECTION. Supported options are XCB +using a CMake option called CUBE_WSI_SELECTION. Supported options are XCB (default), XLIB, and WAYLAND. Note that you must build using the corresponding BUILD_WSI_*_SUPPORT enabled at the base repository level. For instance, creating a build that will use Xlib when running the vkcube demos, your CMake command line might look like: - cmake -DCMAKE_BUILD_TYPE=Debug -DDEMOS_WSI_SELECTION=XLIB .. + cmake -DCMAKE_BUILD_TYPE=Debug -DCUBE_WSI_SELECTION=XLIB .. #### Linux Install to System Directories diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/build-android/vulkan-headers_revision_android new/Vulkan-Tools-sdk-1.2.189.0/build-android/vulkan-headers_revision_android --- old/Vulkan-Tools-sdk-1.2.182.0/build-android/vulkan-headers_revision_android 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/build-android/vulkan-headers_revision_android 2021-08-31 18:08:53.000000000 +0200 @@ -1 +1 @@ -v1.2.182 +v1.2.189 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/common/vulkan_wrapper.cpp new/Vulkan-Tools-sdk-1.2.189.0/common/vulkan_wrapper.cpp --- old/Vulkan-Tools-sdk-1.2.182.0/common/vulkan_wrapper.cpp 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/common/vulkan_wrapper.cpp 2021-08-31 18:08:53.000000000 +0200 @@ -376,6 +376,7 @@ dlsym(libvulkan, "vkGetPhysicalDeviceFragmentShadingRatesKHR")); vkCmdSetFragmentShadingRateKHR = reinterpret_cast<PFN_vkCmdSetFragmentShadingRateKHR>(dlsym(libvulkan, "vkCmdSetFragmentShadingRateKHR")); + vkWaitForPresentKHR = reinterpret_cast<PFN_vkWaitForPresentKHR>(dlsym(libvulkan, "vkWaitForPresentKHR")); vkGetBufferDeviceAddressKHR = reinterpret_cast<PFN_vkGetBufferDeviceAddressKHR>(dlsym(libvulkan, "vkGetBufferDeviceAddressKHR")); vkGetBufferOpaqueCaptureAddressKHR = @@ -791,6 +792,7 @@ PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +PFN_vkWaitForPresentKHR vkWaitForPresentKHR; PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; @@ -944,8 +946,10 @@ PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; -PFN_vkGetSubpassShadingMaxWorkgroupSizeHUAWEI vkGetSubpassShadingMaxWorkgroupSizeHUAWEI; +PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; +PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; +PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/common/vulkan_wrapper.h new/Vulkan-Tools-sdk-1.2.189.0/common/vulkan_wrapper.h --- old/Vulkan-Tools-sdk-1.2.182.0/common/vulkan_wrapper.h 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/common/vulkan_wrapper.h 2021-08-31 18:08:53.000000000 +0200 @@ -348,6 +348,9 @@ extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +// VK_KHR_present_wait +extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR; + // VK_KHR_buffer_device_address extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/cube/cube.cpp new/Vulkan-Tools-sdk-1.2.189.0/cube/cube.cpp --- old/Vulkan-Tools-sdk-1.2.182.0/cube/cube.cpp 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/cube/cube.cpp 2021-08-31 18:08:53.000000000 +0200 @@ -331,8 +331,8 @@ char const *extension_names[64]; char const *enabled_layers[64]; - uint32_t width; - uint32_t height; + int32_t width; + int32_t height; vk::Format format; vk::ColorSpaceKHR color_space; @@ -824,7 +824,7 @@ vk::SurfaceCapabilitiesKHR surfCapabilities; result = gpu.getSurfaceCapabilitiesKHR(surface, &surfCapabilities); VERIFY(result == vk::Result::eSuccess); - if (surfCapabilities.currentExtent.width != width || surfCapabilities.currentExtent.height != height) { + if (surfCapabilities.currentExtent.width != static_cast<uint32_t>(width) || surfCapabilities.currentExtent.height != static_cast<uint32_t>(height)) { resize(); } } else if (result == vk::Result::eErrorSurfaceLostKHR) { @@ -983,11 +983,11 @@ i++; continue; } - if (strcmp(argv[i], "--width") == 0 && i < argc - 1 && sscanf(argv[i + 1], "%" SCNu32, &width) == 1 && width > 0) { + if (strcmp(argv[i], "--width") == 0 && i < argc - 1 && sscanf(argv[i + 1], "%" SCNi32, &width) == 1 && width > 0) { i++; continue; } - if (strcmp(argv[i], "--height") == 0 && i < argc - 1 && sscanf(argv[i + 1], "%" SCNu32, &height) == 1 && height > 0) { + if (strcmp(argv[i], "--height") == 0 && i < argc - 1 && sscanf(argv[i + 1], "%" SCNi32, &height) == 1 && height > 0) { i++; continue; } @@ -3256,7 +3256,7 @@ return (int)msg.wParam; } -#elif __linux__ +#elif defined(__linux__) || defined(__FreeBSD__) int main(int argc, char **argv) { Demo demo; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/cube/gettime.h new/Vulkan-Tools-sdk-1.2.189.0/cube/gettime.h --- old/Vulkan-Tools-sdk-1.2.182.0/cube/gettime.h 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/cube/gettime.h 2021-08-31 18:08:53.000000000 +0200 @@ -26,7 +26,7 @@ #include <windows.h> -#elif defined(__unix__) || defined(__linux) || defined(__linux__) || defined(__ANDROID__) || defined(__EPOC32__) || defined(__QNX__) +#elif defined(__unix__) || defined(__linux) || defined(__linux__) || defined(__FreeBSD__) || defined(__ANDROID__) || defined(__EPOC32__) || defined(__QNX__) #include <time.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/icd/generated/mock_icd.cpp new/Vulkan-Tools-sdk-1.2.189.0/icd/generated/mock_icd.cpp --- old/Vulkan-Tools-sdk-1.2.182.0/icd/generated/mock_icd.cpp 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/icd/generated/mock_icd.cpp 2021-08-31 18:08:53.000000000 +0200 @@ -3299,6 +3299,17 @@ +static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR( + VkDevice device, + VkSwapchainKHR swapchain, + uint64_t presentId, + uint64_t timeout) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + + static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR( VkDevice device, @@ -3400,6 +3411,7 @@ + #ifdef VK_ENABLE_BETA_EXTENSIONS static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR( @@ -4848,6 +4860,7 @@ + static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV( VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, @@ -5084,6 +5097,41 @@ #endif /* VK_USE_PLATFORM_FUCHSIA */ +static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + VkDevice device, + VkRenderPass renderpass, + VkExtent2D* pMaxWorkgroupSize) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + +static VKAPI_ATTR void VKAPI_CALL CmdSubpassShadingHUAWEI( + VkCommandBuffer commandBuffer) +{ +//Not a CREATE or DESTROY function +} + + +static VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI( + VkCommandBuffer commandBuffer, + VkImageView imageView, + VkImageLayout imageLayout) +{ +//Not a CREATE or DESTROY function +} + + +static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV( + VkDevice device, + const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, + VkRemoteAddressNV* pAddress) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + + static VKAPI_ATTR void VKAPI_CALL CmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints) @@ -5177,6 +5225,7 @@ } + static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR( VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/icd/generated/mock_icd.h new/Vulkan-Tools-sdk-1.2.189.0/icd/generated/mock_icd.h --- old/Vulkan-Tools-sdk-1.2.182.0/icd/generated/mock_icd.h 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/icd/generated/mock_icd.h 2021-08-31 18:08:53.000000000 +0200 @@ -97,7 +97,7 @@ {"VK_AMD_shader_trinary_minmax", 1}, {"VK_AMD_shader_explicit_vertex_parameter", 1}, {"VK_EXT_debug_marker", 4}, - {"VK_KHR_video_queue", 1}, + {"VK_KHR_video_queue", 2}, {"VK_KHR_video_decode_queue", 1}, {"VK_AMD_gcn_shader", 1}, {"VK_NV_dedicated_allocation", 1}, @@ -108,8 +108,8 @@ {"VK_AMD_negative_viewport_height", 1}, {"VK_AMD_gpu_shader_half_float", 2}, {"VK_AMD_shader_ballot", 1}, - {"VK_EXT_video_encode_h264", 1}, - {"VK_EXT_video_decode_h264", 1}, + {"VK_EXT_video_encode_h264", 2}, + {"VK_EXT_video_decode_h264", 3}, {"VK_AMD_texture_gather_bias_lod", 1}, {"VK_AMD_shader_info", 1}, {"VK_AMD_shader_image_load_store_lod", 1}, @@ -177,7 +177,7 @@ {"VK_KHR_image_format_list", 1}, {"VK_EXT_blend_operation_advanced", 2}, {"VK_NV_fragment_coverage_to_color", 1}, - {"VK_KHR_acceleration_structure", 11}, + {"VK_KHR_acceleration_structure", 12}, {"VK_KHR_ray_tracing_pipeline", 1}, {"VK_KHR_ray_query", 1}, {"VK_NV_framebuffer_mixed_samples", 1}, @@ -246,6 +246,7 @@ {"VK_EXT_buffer_device_address", 2}, {"VK_EXT_tooling_info", 1}, {"VK_EXT_separate_stencil_usage", 1}, + {"VK_KHR_present_wait", 1}, {"VK_NV_cooperative_matrix", 1}, {"VK_NV_coverage_reduction_mode", 1}, {"VK_EXT_fragment_shader_interlock", 1}, @@ -261,6 +262,7 @@ {"VK_EXT_extended_dynamic_state", 1}, {"VK_KHR_deferred_host_operations", 4}, {"VK_KHR_pipeline_executable_properties", 1}, + {"VK_EXT_shader_atomic_float2", 1}, {"VK_EXT_shader_demote_to_helper_invocation", 1}, {"VK_NV_device_generated_commands", 3}, {"VK_NV_inherited_viewport_scissor", 1}, @@ -272,6 +274,7 @@ {"VK_GOOGLE_user_type", 1}, {"VK_KHR_pipeline_library", 1}, {"VK_KHR_shader_non_semantic_info", 1}, + {"VK_KHR_present_id", 1}, {"VK_EXT_private_data", 1}, {"VK_EXT_pipeline_creation_cache_control", 3}, {"VK_KHR_video_encode_queue", 2}, @@ -295,11 +298,14 @@ {"VK_EXT_physical_device_drm", 1}, {"VK_FUCHSIA_external_memory", 1}, {"VK_FUCHSIA_external_semaphore", 1}, - {"VK_HUAWEI_subpass_shading", 0}, + {"VK_HUAWEI_subpass_shading", 2}, + {"VK_HUAWEI_invocation_mask", 1}, + {"VK_NV_external_memory_rdma", 1}, {"VK_EXT_extended_dynamic_state2", 1}, {"VK_EXT_color_write_enable", 1}, {"VK_EXT_global_priority_query", 1}, {"VK_EXT_multi_draw", 1}, + {"VK_EXT_load_store_op_none", 1}, }; @@ -1980,6 +1986,13 @@ +static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR( + VkDevice device, + VkSwapchainKHR swapchain, + uint64_t presentId, + uint64_t timeout); + + static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR( VkDevice device, @@ -2037,6 +2050,7 @@ + #ifdef VK_ENABLE_BETA_EXTENSIONS static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR( @@ -2983,6 +2997,7 @@ + static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV( VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, @@ -3137,6 +3152,27 @@ #endif /* VK_USE_PLATFORM_FUCHSIA */ +static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + VkDevice device, + VkRenderPass renderpass, + VkExtent2D* pMaxWorkgroupSize); + +static VKAPI_ATTR void VKAPI_CALL CmdSubpassShadingHUAWEI( + VkCommandBuffer commandBuffer); + + +static VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI( + VkCommandBuffer commandBuffer, + VkImageView imageView, + VkImageLayout imageLayout); + + +static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV( + VkDevice device, + const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, + VkRemoteAddressNV* pAddress); + + static VKAPI_ATTR void VKAPI_CALL CmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints); @@ -3197,6 +3233,7 @@ const int32_t* pVertexOffset); + static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR( VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, @@ -3678,6 +3715,7 @@ {"vkSignalSemaphoreKHR", (void*)SignalSemaphoreKHR}, {"vkGetPhysicalDeviceFragmentShadingRatesKHR", (void*)GetPhysicalDeviceFragmentShadingRatesKHR}, {"vkCmdSetFragmentShadingRateKHR", (void*)CmdSetFragmentShadingRateKHR}, + {"vkWaitForPresentKHR", (void*)WaitForPresentKHR}, {"vkGetBufferDeviceAddressKHR", (void*)GetBufferDeviceAddressKHR}, {"vkGetBufferOpaqueCaptureAddressKHR", (void*)GetBufferOpaqueCaptureAddressKHR}, {"vkGetDeviceMemoryOpaqueCaptureAddressKHR", (void*)GetDeviceMemoryOpaqueCaptureAddressKHR}, @@ -3900,6 +3938,10 @@ #ifdef VK_USE_PLATFORM_FUCHSIA {"vkGetSemaphoreZirconHandleFUCHSIA", (void*)GetSemaphoreZirconHandleFUCHSIA}, #endif + {"vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI", (void*)GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI}, + {"vkCmdSubpassShadingHUAWEI", (void*)CmdSubpassShadingHUAWEI}, + {"vkCmdBindInvocationMaskHUAWEI", (void*)CmdBindInvocationMaskHUAWEI}, + {"vkGetMemoryRemoteAddressNV", (void*)GetMemoryRemoteAddressNV}, {"vkCmdSetPatchControlPointsEXT", (void*)CmdSetPatchControlPointsEXT}, {"vkCmdSetRasterizerDiscardEnableEXT", (void*)CmdSetRasterizerDiscardEnableEXT}, {"vkCmdSetDepthBiasEnableEXT", (void*)CmdSetDepthBiasEnableEXT}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/icd/generated/vk_typemap_helper.h new/Vulkan-Tools-sdk-1.2.189.0/icd/generated/vk_typemap_helper.h --- old/Vulkan-Tools-sdk-1.2.182.0/icd/generated/vk_typemap_helper.h 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/icd/generated/vk_typemap_helper.h 2021-08-31 18:08:53.000000000 +0200 @@ -2289,6 +2289,15 @@ typedef VkSurfaceProtectedCapabilitiesKHR Type; }; +// Map type VkPhysicalDevicePresentWaitFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR +template <> struct LvlTypeMap<VkPhysicalDevicePresentWaitFeaturesKHR> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR> { + typedef VkPhysicalDevicePresentWaitFeaturesKHR Type; +}; + // Map type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR template <> struct LvlTypeMap<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR> { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR; @@ -2352,6 +2361,24 @@ typedef VkPipelineLibraryCreateInfoKHR Type; }; +// Map type VkPresentIdKHR to id VK_STRUCTURE_TYPE_PRESENT_ID_KHR +template <> struct LvlTypeMap<VkPresentIdKHR> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PRESENT_ID_KHR; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PRESENT_ID_KHR> { + typedef VkPresentIdKHR Type; +}; + +// Map type VkPhysicalDevicePresentIdFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR +template <> struct LvlTypeMap<VkPhysicalDevicePresentIdFeaturesKHR> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR> { + typedef VkPhysicalDevicePresentIdFeaturesKHR Type; +}; + #ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR template <> struct LvlTypeMap<VkVideoEncodeInfoKHR> { @@ -4467,6 +4494,15 @@ typedef VkPhysicalDeviceExtendedDynamicStateFeaturesEXT Type; }; +// Map type VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT +template <> struct LvlTypeMap<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT> { + typedef VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT Type; +}; + // Map type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT template <> struct LvlTypeMap<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT> { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT; @@ -4956,6 +4992,60 @@ }; #endif // VK_USE_PLATFORM_FUCHSIA +// Map type VkSubpassShadingPipelineCreateInfoHUAWEI to id VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI +template <> struct LvlTypeMap<VkSubpassShadingPipelineCreateInfoHUAWEI> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI> { + typedef VkSubpassShadingPipelineCreateInfoHUAWEI Type; +}; + +// Map type VkPhysicalDeviceSubpassShadingFeaturesHUAWEI to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI +template <> struct LvlTypeMap<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI> { + typedef VkPhysicalDeviceSubpassShadingFeaturesHUAWEI Type; +}; + +// Map type VkPhysicalDeviceSubpassShadingPropertiesHUAWEI to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI +template <> struct LvlTypeMap<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI> { + typedef VkPhysicalDeviceSubpassShadingPropertiesHUAWEI Type; +}; + +// Map type VkPhysicalDeviceInvocationMaskFeaturesHUAWEI to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI +template <> struct LvlTypeMap<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI> { + typedef VkPhysicalDeviceInvocationMaskFeaturesHUAWEI Type; +}; + +// Map type VkMemoryGetRemoteAddressInfoNV to id VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV +template <> struct LvlTypeMap<VkMemoryGetRemoteAddressInfoNV> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV> { + typedef VkMemoryGetRemoteAddressInfoNV Type; +}; + +// Map type VkPhysicalDeviceExternalMemoryRDMAFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV +template <> struct LvlTypeMap<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV> { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV; +}; + +template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV> { + typedef VkPhysicalDeviceExternalMemoryRDMAFeaturesNV Type; +}; + // Map type VkPhysicalDeviceExtendedDynamicState2FeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT template <> struct LvlTypeMap<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT> { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/scripts/generate_source.py new/Vulkan-Tools-sdk-1.2.189.0/scripts/generate_source.py --- old/Vulkan-Tools-sdk-1.2.182.0/scripts/generate_source.py 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/scripts/generate_source.py 2021-08-31 18:08:53.000000000 +0200 @@ -66,7 +66,6 @@ cmd = [common_codegen.repo_relative(os.path.join('scripts','kvt_genvk.py')), '-registry', os.path.abspath(os.path.join(args.registry, 'vk.xml')), - '-removeExtensions', 'VK_HUAWEI_subpass_shading', '-quiet', '-directory', output_path, filename] print(' '.join(cmd)) try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/scripts/generate_vulkan_wrapper.py new/Vulkan-Tools-sdk-1.2.189.0/scripts/generate_vulkan_wrapper.py --- old/Vulkan-Tools-sdk-1.2.182.0/scripts/generate_vulkan_wrapper.py 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/scripts/generate_vulkan_wrapper.py 2021-08-31 18:08:53.000000000 +0200 @@ -532,6 +532,10 @@ VK_KHR_separate_depth_stencil_layouts = Extension(name='VK_KHR_separate_depth_stencil_layouts', version=1, guard=None, commands=[ ]) +VK_KHR_present_wait = Extension(name='VK_KHR_present_wait', version=1, guard=None, commands=[ + Command(name='vkWaitForPresentKHR', dispatch='VkDevice'), +]) + VK_KHR_uniform_buffer_standard_layout = Extension(name='VK_KHR_uniform_buffer_standard_layout', version=1, guard=None, commands=[ ]) @@ -561,6 +565,9 @@ VK_KHR_shader_non_semantic_info = Extension(name='VK_KHR_shader_non_semantic_info', version=1, guard=None, commands=[ ]) +VK_KHR_present_id = Extension(name='VK_KHR_present_id', version=1, guard=None, commands=[ +]) + VK_KHR_synchronization2 = Extension(name='VK_KHR_synchronization2', version=1, guard=None, commands=[ Command(name='vkCmdSetEvent2KHR', dispatch='VkCommandBuffer'), Command(name='vkCmdResetEvent2KHR', dispatch='VkCommandBuffer'), @@ -1049,6 +1056,9 @@ Command(name='vkCmdSetStencilOpEXT', dispatch='VkCommandBuffer'), ]) +VK_EXT_shader_atomic_float2 = Extension(name='VK_EXT_shader_atomic_float2', version=1, guard=None, commands=[ +]) + VK_EXT_shader_demote_to_helper_invocation = Extension(name='VK_EXT_shader_demote_to_helper_invocation', version=1, guard=None, commands=[ ]) @@ -1140,11 +1150,19 @@ VK_EXT_physical_device_drm = Extension(name='VK_EXT_physical_device_drm', version=1, guard=None, commands=[ ]) -VK_HUAWEI_subpass_shading = Extension(name='VK_HUAWEI_subpass_shading', version=0, guard=None, commands=[ - Command(name='vkGetSubpassShadingMaxWorkgroupSizeHUAWEI', dispatch='VkRenderPass'), +VK_HUAWEI_subpass_shading = Extension(name='VK_HUAWEI_subpass_shading', version=2, guard=None, commands=[ + Command(name='vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI', dispatch='VkDevice'), Command(name='vkCmdSubpassShadingHUAWEI', dispatch='VkCommandBuffer'), ]) +VK_HUAWEI_invocation_mask = Extension(name='VK_HUAWEI_invocation_mask', version=1, guard=None, commands=[ + Command(name='vkCmdBindInvocationMaskHUAWEI', dispatch='VkCommandBuffer'), +]) + +VK_NV_external_memory_rdma = Extension(name='VK_NV_external_memory_rdma', version=1, guard=None, commands=[ + Command(name='vkGetMemoryRemoteAddressNV', dispatch='VkDevice'), +]) + VK_EXT_extended_dynamic_state2 = Extension(name='VK_EXT_extended_dynamic_state2', version=1, guard=None, commands=[ Command(name='vkCmdSetPatchControlPointsEXT', dispatch='VkCommandBuffer'), Command(name='vkCmdSetRasterizerDiscardEnableEXT', dispatch='VkCommandBuffer'), @@ -1165,7 +1183,10 @@ Command(name='vkCmdDrawMultiIndexedEXT', dispatch='VkCommandBuffer'), ]) -VK_KHR_acceleration_structure = Extension(name='VK_KHR_acceleration_structure', version=11, guard=None, commands=[ +VK_EXT_load_store_op_none = Extension(name='VK_EXT_load_store_op_none', version=1, guard=None, commands=[ +]) + +VK_KHR_acceleration_structure = Extension(name='VK_KHR_acceleration_structure', version=12, guard=None, commands=[ Command(name='vkCreateAccelerationStructureKHR', dispatch='VkDevice'), Command(name='vkDestroyAccelerationStructureKHR', dispatch='VkDevice'), Command(name='vkCmdBuildAccelerationStructuresKHR', dispatch='VkCommandBuffer'), @@ -1309,7 +1330,7 @@ Command(name='vkGetPhysicalDeviceScreenPresentationSupportQNX', dispatch='VkPhysicalDevice'), ]) -VK_KHR_video_queue = Extension(name='VK_KHR_video_queue', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_KHR_video_queue = Extension(name='VK_KHR_video_queue', version=2, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ Command(name='vkGetPhysicalDeviceVideoCapabilitiesKHR', dispatch='VkPhysicalDevice'), Command(name='vkGetPhysicalDeviceVideoFormatPropertiesKHR', dispatch='VkPhysicalDevice'), Command(name='vkCreateVideoSessionKHR', dispatch='VkDevice'), @@ -1335,10 +1356,10 @@ Command(name='vkCmdEncodeVideoKHR', dispatch='VkCommandBuffer'), ]) -VK_EXT_video_encode_h264 = Extension(name='VK_EXT_video_encode_h264', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_EXT_video_encode_h264 = Extension(name='VK_EXT_video_encode_h264', version=2, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) -VK_EXT_video_decode_h264 = Extension(name='VK_EXT_video_decode_h264', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ +VK_EXT_video_decode_h264 = Extension(name='VK_EXT_video_decode_h264', version=3, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ ]) VK_EXT_video_decode_h265 = Extension(name='VK_EXT_video_decode_h265', version=1, guard='VK_ENABLE_BETA_EXTENSIONS', commands=[ @@ -1405,12 +1426,14 @@ VK_KHR_spirv_1_4, VK_KHR_surface_protected_capabilities, VK_KHR_separate_depth_stencil_layouts, + VK_KHR_present_wait, VK_KHR_uniform_buffer_standard_layout, VK_KHR_buffer_device_address, VK_KHR_deferred_host_operations, VK_KHR_pipeline_executable_properties, VK_KHR_pipeline_library, VK_KHR_shader_non_semantic_info, + VK_KHR_present_id, VK_KHR_synchronization2, VK_KHR_shader_subgroup_uniform_control_flow, VK_KHR_zero_initialize_workgroup_memory, @@ -1532,6 +1555,7 @@ VK_EXT_host_query_reset, VK_EXT_index_type_uint8, VK_EXT_extended_dynamic_state, + VK_EXT_shader_atomic_float2, VK_EXT_shader_demote_to_helper_invocation, VK_NV_device_generated_commands, VK_NV_inherited_viewport_scissor, @@ -1558,10 +1582,13 @@ VK_EXT_vertex_input_dynamic_state, VK_EXT_physical_device_drm, VK_HUAWEI_subpass_shading, + VK_HUAWEI_invocation_mask, + VK_NV_external_memory_rdma, VK_EXT_extended_dynamic_state2, VK_EXT_color_write_enable, VK_EXT_global_priority_query, VK_EXT_multi_draw, + VK_EXT_load_store_op_none, VK_KHR_acceleration_structure, VK_KHR_ray_tracing_pipeline, VK_KHR_ray_query, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/scripts/known_good.json new/Vulkan-Tools-sdk-1.2.189.0/scripts/known_good.json --- old/Vulkan-Tools-sdk-1.2.182.0/scripts/known_good.json 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/scripts/known_good.json 2021-08-31 18:08:53.000000000 +0200 @@ -6,7 +6,7 @@ "sub_dir" : "Vulkan-Headers", "build_dir" : "Vulkan-Headers/build", "install_dir" : "Vulkan-Headers/build/install", - "commit" : "v1.2.182" + "commit" : "v1.2.189" }, { "name" : "MoltenVK", @@ -14,7 +14,7 @@ "sub_dir" : "MoltenVK", "build_dir" : "MoltenVK", "install_dir" : "MoltenVK", - "commit" : "v1.1.3", + "commit" : "v1.1.4", "custom_build" : [ "./fetchDependencies --macos --no-parallel-build", "xcodebuild -project MoltenVKPackaging.xcodeproj GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS MVK_CONFIG_LOG_LEVEL=1' -scheme \"MoltenVK Package (macOS only)\" build" @@ -30,7 +30,7 @@ "sub_dir" : "Vulkan-Loader", "build_dir" : "Vulkan-Loader/build", "install_dir" : "Vulkan-Loader/build/install", - "commit" : "v1.2.182", + "commit" : "v1.2.189", "deps" : [ { "var_name" : "VULKAN_HEADERS_INSTALL_DIR", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/scripts/vulkan_tools_helper_file_generator.py new/Vulkan-Tools-sdk-1.2.189.0/scripts/vulkan_tools_helper_file_generator.py --- old/Vulkan-Tools-sdk-1.2.182.0/scripts/vulkan_tools_helper_file_generator.py 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/scripts/vulkan_tools_helper_file_generator.py 2021-08-31 18:08:53.000000000 +0200 @@ -263,32 +263,6 @@ elif elem.tag == 'name': name = noneStr(elem.text) return (type, name) - # Extract length values from latexmath. Currently an inflexible solution that looks for specific - # patterns that are found in vk.xml. Will need to be updated when new patterns are introduced. - def parseLateXMath(self, source): - name = 'ERROR' - decoratedName = 'ERROR' - if 'mathit' in source: - # Matches expressions similar to 'latexmath:[\lceil{\mathit{rasterizationSamples} \over 32}\rceil]' - match = re.match(r'latexmath\s*\:\s*\[\s*\\l(\w+)\s*\{\s*\\mathit\s*\{\s*(\w+)\s*\}\s*\\over\s*(\d+)\s*\}\s*\\r(\w+)\s*\]', source) - if not match or match.group(1) != match.group(4): - raise 'Unrecognized latexmath expression' - name = match.group(2) - # Need to add 1 for ceiling function; otherwise, the allocated packet - # size will be less than needed during capture for some title which use - # this in VkPipelineMultisampleStateCreateInfo. based on ceiling function - # definition,it is '{0}%{1}?{0}/{1} + 1:{0}/{1}'.format(*match.group(2, 3)), - # its value <= '{}/{} + 1'. - if match.group(1) == 'ceil': - decoratedName = '{}/{} + 1'.format(*match.group(2, 3)) - else: - decoratedName = '{}/{}'.format(*match.group(2, 3)) - else: - # Matches expressions similar to 'latexmath : [dataSize \over 4]' - match = re.match(r'latexmath\s*\:\s*\[\s*(\\textrm\{)?(\w+)\}?\s*\\over\s*(\d+)\s*\]', source) - name = match.group(2) - decoratedName = '{}/{}'.format(*match.group(2, 3)) - return name, decoratedName # # Retrieve the value of the len tag def getLen(self, param): @@ -302,9 +276,10 @@ result = len.split(',')[0] else: result = len - if 'latexmath' in len: - param_type, param_name = self.getTypeNameTuple(param) - len_name, result = self.parseLateXMath(len) + if 'altlen' in param.attrib: + # Elements with latexmath 'len' also contain a C equivalent 'altlen' attribute + # Use indexing operator instead of get() so we fail if the attribute is missing + result = param.attrib['altlen'] # Spec has now notation for len attributes, using :: instead of platform specific pointer symbol result = str(result).replace('::', '->') return result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/vulkaninfo/generated/vulkaninfo.hpp new/Vulkan-Tools-sdk-1.2.189.0/vulkaninfo/generated/vulkaninfo.hpp --- old/Vulkan-Tools-sdk-1.2.182.0/vulkaninfo/generated/vulkaninfo.hpp 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/vulkaninfo/generated/vulkaninfo.hpp 2021-08-31 18:08:53.000000000 +0200 @@ -95,6 +95,7 @@ case (14): return "DRIVER_ID_MOLTENVK"; case (15): return "DRIVER_ID_COREAVI_PROPRIETARY"; case (16): return "DRIVER_ID_JUICE_PROPRIETARY"; + case (17): return "DRIVER_ID_VERISILICON_PROPRIETARY"; default: return "UNKNOWN_VkDriverId"; } } @@ -623,6 +624,7 @@ if (0x2000 & value) strings.push_back("IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR"); if (0x4000 & value) strings.push_back("IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"); if (0x8000 & value) strings.push_back("IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"); + if (0x40000 & value) strings.push_back("IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI"); return strings; } void DumpVkImageUsageFlags(Printer &p, std::string name, VkImageUsageFlags value, int width = 0) { @@ -681,6 +683,7 @@ if (0x20 & value) strings.push_back("MEMORY_PROPERTY_PROTECTED_BIT"); if (0x40 & value) strings.push_back("MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD"); if (0x80 & value) strings.push_back("MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD"); + if (0x100 & value) strings.push_back("MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV"); return strings; } void DumpVkMemoryPropertyFlags(Printer &p, std::string name, VkMemoryPropertyFlags value, int width = 0) { @@ -1320,6 +1323,10 @@ p.PrintKeyBool("fragmentShadingRateWithCustomSampleLocations", static_cast<bool>(obj.fragmentShadingRateWithCustomSampleLocations), 52); p.PrintKeyBool("fragmentShadingRateStrictMultiplyCombiner", static_cast<bool>(obj.fragmentShadingRateStrictMultiplyCombiner), 52); } +void DumpVkPhysicalDeviceGlobalPriorityQueryFeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("globalPriorityQuery", static_cast<bool>(obj.globalPriorityQuery), 19); +} void DumpVkPhysicalDeviceHostQueryResetFeatures(Printer &p, std::string name, VkPhysicalDeviceHostQueryResetFeatures &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("hostQueryReset", static_cast<bool>(obj.hostQueryReset), 14); @@ -1624,6 +1631,14 @@ p.PrintKeyValue("minVertexInputBindingStrideAlignment", obj.minVertexInputBindingStrideAlignment, 36); } #endif // VK_ENABLE_BETA_EXTENSIONS +void DumpVkPhysicalDevicePresentIdFeaturesKHR(Printer &p, std::string name, VkPhysicalDevicePresentIdFeaturesKHR &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("presentId", static_cast<bool>(obj.presentId), 9); +} +void DumpVkPhysicalDevicePresentWaitFeaturesKHR(Printer &p, std::string name, VkPhysicalDevicePresentWaitFeaturesKHR &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("presentWait", static_cast<bool>(obj.presentWait), 11); +} void DumpVkPhysicalDevicePrivateDataFeaturesEXT(Printer &p, std::string name, VkPhysicalDevicePrivateDataFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("privateData", static_cast<bool>(obj.privateData), 11); @@ -1712,6 +1727,21 @@ ObjectWrapper object{p, name}; p.PrintKeyBool("separateDepthStencilLayouts", static_cast<bool>(obj.separateDepthStencilLayouts), 27); } +void DumpVkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("shaderBufferFloat16Atomics", static_cast<bool>(obj.shaderBufferFloat16Atomics), 31); + p.PrintKeyBool("shaderBufferFloat16AtomicAdd", static_cast<bool>(obj.shaderBufferFloat16AtomicAdd), 31); + p.PrintKeyBool("shaderBufferFloat16AtomicMinMax", static_cast<bool>(obj.shaderBufferFloat16AtomicMinMax), 31); + p.PrintKeyBool("shaderBufferFloat32AtomicMinMax", static_cast<bool>(obj.shaderBufferFloat32AtomicMinMax), 31); + p.PrintKeyBool("shaderBufferFloat64AtomicMinMax", static_cast<bool>(obj.shaderBufferFloat64AtomicMinMax), 31); + p.PrintKeyBool("shaderSharedFloat16Atomics", static_cast<bool>(obj.shaderSharedFloat16Atomics), 31); + p.PrintKeyBool("shaderSharedFloat16AtomicAdd", static_cast<bool>(obj.shaderSharedFloat16AtomicAdd), 31); + p.PrintKeyBool("shaderSharedFloat16AtomicMinMax", static_cast<bool>(obj.shaderSharedFloat16AtomicMinMax), 31); + p.PrintKeyBool("shaderSharedFloat32AtomicMinMax", static_cast<bool>(obj.shaderSharedFloat32AtomicMinMax), 31); + p.PrintKeyBool("shaderSharedFloat64AtomicMinMax", static_cast<bool>(obj.shaderSharedFloat64AtomicMinMax), 31); + p.PrintKeyBool("shaderImageFloat32AtomicMinMax", static_cast<bool>(obj.shaderImageFloat32AtomicMinMax), 31); + p.PrintKeyBool("sparseImageFloat32AtomicMinMax", static_cast<bool>(obj.sparseImageFloat32AtomicMinMax), 31); +} void DumpVkPhysicalDeviceShaderAtomicFloatFeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("shaderBufferFloat32Atomics", static_cast<bool>(obj.shaderBufferFloat32Atomics), 28); @@ -2137,6 +2167,7 @@ {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, sizeof(VkPhysicalDeviceHostQueryResetFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, sizeof(VkPhysicalDeviceImageRobustnessFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, sizeof(VkPhysicalDeviceImagelessFramebufferFeatures)}, @@ -2152,6 +2183,8 @@ #ifdef VK_ENABLE_BETA_EXTENSIONS {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR)}, #endif // VK_ENABLE_BETA_EXTENSIONS + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, sizeof(VkPhysicalDevicePresentIdFeaturesKHR)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, sizeof(VkPhysicalDevicePresentWaitFeaturesKHR)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, sizeof(VkPhysicalDevicePrivateDataFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, sizeof(VkPhysicalDeviceProtectedMemoryFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT)}, @@ -2161,6 +2194,7 @@ {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, sizeof(VkPhysicalDeviceShaderAtomicInt64Features)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, sizeof(VkPhysicalDeviceShaderClockFeaturesKHR)}, @@ -2595,6 +2629,12 @@ DumpVkPhysicalDeviceFragmentShadingRateFeaturesKHR(p, "VkPhysicalDeviceFragmentShadingRateFeaturesKHR", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME))) { + VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT* props = (VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT*)structure; + DumpVkPhysicalDeviceGlobalPriorityQueryFeaturesEXT(p, "VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME) || version.minor >= 2)) { @@ -2678,6 +2718,18 @@ p.AddNewline(); } #endif // VK_ENABLE_BETA_EXTENSIONS + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_ID_EXTENSION_NAME))) { + VkPhysicalDevicePresentIdFeaturesKHR* props = (VkPhysicalDevicePresentIdFeaturesKHR*)structure; + DumpVkPhysicalDevicePresentIdFeaturesKHR(p, "VkPhysicalDevicePresentIdFeaturesKHR", *props); + p.AddNewline(); + } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_WAIT_EXTENSION_NAME))) { + VkPhysicalDevicePresentWaitFeaturesKHR* props = (VkPhysicalDevicePresentWaitFeaturesKHR*)structure; + DumpVkPhysicalDevicePresentWaitFeaturesKHR(p, "VkPhysicalDevicePresentWaitFeaturesKHR", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_PRIVATE_DATA_EXTENSION_NAME))) { VkPhysicalDevicePrivateDataFeaturesEXT* props = (VkPhysicalDevicePrivateDataFeaturesEXT*)structure; @@ -2735,6 +2787,12 @@ DumpVkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(p, version.minor >= 2 ?"VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures":"VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME))) { + VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* props = (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT*)structure; + DumpVkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(p, "VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME))) { VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* props = (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT*)structure; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/vulkaninfo/vulkaninfo.h new/Vulkan-Tools-sdk-1.2.189.0/vulkaninfo/vulkaninfo.h --- old/Vulkan-Tools-sdk-1.2.182.0/vulkaninfo/vulkaninfo.h 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/vulkaninfo/vulkaninfo.h 2021-08-31 18:08:53.000000000 +0200 @@ -66,7 +66,7 @@ #endif #endif // _WIN32 -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) #include <dlfcn.h> #endif @@ -262,7 +262,7 @@ // ----------- Instance Setup ------- // struct VkDll { VkResult Initialize() { -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) library = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL); if (!library) library = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL); #elif defined(_WIN32) @@ -274,7 +274,7 @@ return VK_SUCCESS; } void Close() { -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) dlclose(library); #elif defined(_WIN32) FreeLibrary(library); @@ -429,13 +429,13 @@ private: template <typename T> void Load(T &func_dest, const char *func_name) { -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) func_dest = reinterpret_cast<T>(dlsym(library, func_name)); #elif defined(_WIN32) func_dest = reinterpret_cast<T>(GetProcAddress(library, func_name)); #endif } -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) void *library; #elif defined(_WIN32) HMODULE library; @@ -1350,11 +1350,10 @@ const VkFormat color_format = VK_FORMAT_R8G8B8A8_UNORM; struct ImageTypeSupport { - enum class Type { regular, sparse, transient } type = Type::regular; - bool supported = false; - uint32_t memoryTypeBits = 0; + enum class Type { regular, sparse, transient } type; + uint32_t memoryTypeBits; - bool Compatible(uint32_t memtype_bit) { return supported && (memoryTypeBits & memtype_bit); } + bool Compatible(uint32_t memtype_bit) { return memoryTypeBits & memtype_bit; } }; struct ImageTypeFormatInfo { @@ -1385,8 +1384,8 @@ VK_IMAGE_LAYOUT_UNDEFINED}; } -ImageTypeSupport FillImageTypeSupport(AppInstance &inst, VkPhysicalDevice phys_device, VkDevice device, - ImageTypeSupport::Type img_type, VkImageCreateInfo image_ci) { +util::trivial_optional<ImageTypeSupport> FillImageTypeSupport(AppInstance &inst, VkPhysicalDevice phys_device, VkDevice device, + ImageTypeSupport::Type img_type, VkImageCreateInfo image_ci) { VkImageFormatProperties img_props; VkResult res = inst.dll.fp_vkGetPhysicalDeviceImageFormatProperties( phys_device, image_ci.format, image_ci.imageType, image_ci.tiling, image_ci.usage, image_ci.flags, &img_props); @@ -1394,7 +1393,6 @@ if (res == VK_SUCCESS) { ImageTypeSupport img_type_support{}; img_type_support.type = img_type; - img_type_support.supported = true; VkImage dummy_img; res = inst.dll.fp_vkCreateImage(device, &image_ci, nullptr, &dummy_img); @@ -1407,7 +1405,7 @@ inst.dll.fp_vkDestroyImage(device, dummy_img, nullptr); return img_type_support; } else if (res == VK_ERROR_FORMAT_NOT_SUPPORTED) { - return {}; // default initialization has supported being false + return {}; // return empty optional } THROW_VK_ERR("vkGetPhysicalDeviceImageFormatProperties", res); return {}; @@ -1489,12 +1487,12 @@ AppGpu(AppInstance &inst, uint32_t id, VkPhysicalDevice phys_device, pNextChainInfos chainInfos) : inst(inst), id(id), phys_device(phys_device) { + inst.dll.fp_vkGetPhysicalDeviceProperties(phys_device, &props); + // needs to find the minimum of the instance and device version, and use that to print the device info uint32_t gpu_version = props.apiVersion < inst.instance_version ? props.apiVersion : inst.instance_version; api_version = make_vulkan_version(gpu_version); - inst.dll.fp_vkGetPhysicalDeviceProperties(phys_device, &props); - inst.dll.fp_vkGetPhysicalDeviceMemoryProperties(phys_device, &memory_props); inst.dll.fp_vkGetPhysicalDeviceFeatures(phys_device, &features); @@ -1565,9 +1563,10 @@ } VkImageCreateInfo image_ci_regular = GetImageCreateInfo(0, format, tiling, 0); - VkImageCreateInfo image_ci_transient = - GetImageCreateInfo(VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, format, tiling, 0); - VkImageCreateInfo image_ci_sparse = GetImageCreateInfo(0, format, tiling, VK_IMAGE_CREATE_SPARSE_BINDING_BIT); + VkImageCreateInfo image_ci_transient = GetImageCreateInfo( + 0, format, tiling, VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT); + VkImageCreateInfo image_ci_sparse = + GetImageCreateInfo(VK_IMAGE_CREATE_SPARSE_BINDING_BIT, format, tiling, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT); if (tiling == VK_IMAGE_TILING_LINEAR) { if (format == color_format) { @@ -1588,22 +1587,22 @@ } } - auto image_ts_regular = + auto image_ts_regular_ret = FillImageTypeSupport(inst, phys_device, dev, ImageTypeSupport::Type::regular, image_ci_regular); - if (image_ts_regular.supported) { - image_type_format_info.type_support.push_back(image_ts_regular); + if (image_ts_regular_ret) { + image_type_format_info.type_support.push_back(image_ts_regular_ret.value()); } - auto image_ts_transient = + auto image_ts_transient_ret = FillImageTypeSupport(inst, phys_device, dev, ImageTypeSupport::Type::transient, image_ci_transient); - if (image_ts_transient.supported) { - image_type_format_info.type_support.push_back(image_ts_transient); + if (image_ts_transient_ret) { + image_type_format_info.type_support.push_back(image_ts_transient_ret.value()); } if (enabled_features.sparseBinding) { - auto image_ts_sparse = + auto image_ts_sparse_ret = FillImageTypeSupport(inst, phys_device, dev, ImageTypeSupport::Type::sparse, image_ci_sparse); - if (image_ts_sparse.supported) { - image_type_format_info.type_support.push_back(image_ts_sparse); + if (image_ts_sparse_ret) { + image_type_format_info.type_support.push_back(image_ts_sparse_ret.value()); } } image_type_infos.formats.push_back(image_type_format_info); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Tools-sdk-1.2.182.0/vulkaninfo/vulkaninfo.rc new/Vulkan-Tools-sdk-1.2.189.0/vulkaninfo/vulkaninfo.rc --- old/Vulkan-Tools-sdk-1.2.182.0/vulkaninfo/vulkaninfo.rc 2021-06-30 21:21:16.000000000 +0200 +++ new/Vulkan-Tools-sdk-1.2.189.0/vulkaninfo/vulkaninfo.rc 2021-08-31 18:08:53.000000000 +0200 @@ -86,7 +86,7 @@ BEGIN VALUE "FileDescription", VER_FILE_DESCRIPTION_STR VALUE "FileVersion", VER_FILE_VERSION_STR - VALUE "LegalCopyright", "Copyright (C) 2015-2020" + VALUE "LegalCopyright", "Copyright (C) 2015-2021" VALUE "ProductName", "Vulkan Runtime" VALUE "ProductVersion", VER_FILE_VERSION_STR END