Software 43575 Published by

Bill Hollings has announced the release of MoltenVK v1.4.0 with support for Vulkan 1.4, along with various extensions such as VK_KHR_dynamic_rendering_local_read, VK_KHR_global_priority, VK_KHR_line_rasterization, VK_KHR_maintenance, and additional features. Additionally, it incorporates support for proc addresses for the functions vkSetMoltenVKConfigurationMVK() and vkGetPhysicalDeviceMetalFeaturesMVK(). The release also resolves concerns related to image format property checks, high latency during the present wait, shader cache misses, discrepancies between pipeline pixel formats, and dynamic rendering attachments, as well as the attempt to include memoryless images in residency sets. The latest version of SPIRV-Cross adds support for DebugPrintf, fixes crashes, improves clustered subgroup operations, ensures OpSMod works correctly, and includes support for SPIR-V Fast Math execution modes and decorations.



MoltenVK Release v1.4.0

  • Add support for Vulkan 1.4.
  • Add support for extensions:
    • VK_KHR_dynamic_rendering_local_read
    • VK_KHR_global_priority
    • VK_KHR_line_rasterization
    • VK_KHR_maintenance5
    • VK_KHR_maintenance8
    • VK_KHR_present_id
    • VK_KHR_present_id2
    • VK_KHR_present_wait
    • VK_KHR_present_wait2
    • VK_KHR_shader_float_controls2
    • VK_KHR_shader_maximal_reconvergence
    • VK_KHR_shader_quad_control
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_KHR_shader_subgroup_uniform_control_flow
    • VK_KHR_surface_protected_capabilities
    • VK_EXT_line_rasterization
  • vkDeviceWaitIdle() & vkQueueWaitIdle() now wait even when VK_ERROR_DEVICE_LOST error is encountered.
  • For behaviouraly consistency, require deprecated unofficial extension VK_MVK_moltenvk be enabled to access
    the proc addrs for functions vkSetMoltenVKConfigurationMVK() and vkGetPhysicalDeviceMetalFeaturesMVK().
  • Fix missed supported usage in image format properties checks.
  • Fix high latency on present wait.
  • Fix shader cache misses within pipeline cache.
  • Fix misalignment between pipeline pixel formats and dynamic rendering attachments.
  • Fix attempting to add memoryless images to residency sets.
  • Fix color-depth image copies and image copies using buffer with multiple layers.
  • Enable shaderRoundingModeRTEFloat16/32.
  • Move vkGetPhysicalDeviceMetalFeaturesMVK() from mvk_private_api.h to mvk_deprecated_api.h.
  • Re-expose proc addr for deprecated VK_MVK_moltenvk extension functions.
  • Add the AMD Radeon PRO W6800X as a device with 32-wide SIMD-groups.
  • Apple, AMD, and Intel devices use parallelograms for lines.
  • Fix counter set memory leak on workaround to AMD RDNA devices
  • Update to latest SPIRV-Cross:
    • MSL: Add support for DebugPrintf.
    • MSL: Fix crash due to regression caused by recent changes to location calculations.
    • MSL: Add option to provide a default point size.
    • MSL: Implement clustered subgroup operations for sizes other than 4.
    • MSL: Fix generation of the WorkgroupSize built-in.
    • MSL: Implement accurate OpSMod.
    • MSL: Always emit gl_Layer for multiview.
    • MSL: Don't emit const for BDA pointers.
    • MSL: Fix loading BDA from std140 UBO.
    • MSL: Fix issues with fp16 trancendentals.
    • MSL: Fix edge case where a reference is taken of packed vector element.
    • MSL: Fix crash when using force-native-arrays in some cases.
    • MSL: Don't use fast::normalize for half at all.
    • MSL: Implement atomic_thread_fence for MSL 3.2+.
    • MSL: Always emit access qualifier when emitting coherency.
    • MSL: Support SPIR-V Fast Math execution modes and decorations.
    • MSL: Deal with spec constant arrays which depend on composite extract.
    • MSL: Attempt to deal with float controls and trancendentals.
    • MSL: Rethink add_pragma_line() and add_typedef_line().
    • GLSL/MSL: Add support for SPV_KHR_quad_control.

Release Release v1.4.0 · KhronosGroup/MoltenVK