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_readVK_KHR_global_priorityVK_KHR_line_rasterizationVK_KHR_maintenance5VK_KHR_maintenance8VK_KHR_present_idVK_KHR_present_id2VK_KHR_present_waitVK_KHR_present_wait2VK_KHR_shader_float_controls2VK_KHR_shader_maximal_reconvergenceVK_KHR_shader_quad_controlVK_KHR_shader_relaxed_extended_instructionVK_KHR_shader_subgroup_uniform_control_flowVK_KHR_surface_protected_capabilitiesVK_EXT_line_rasterizationvkDeviceWaitIdle()&vkQueueWaitIdle()now wait even whenVK_ERROR_DEVICE_LOSTerror is encountered.- For behaviouraly consistency, require deprecated unofficial extension
VK_MVK_moltenvkbe enabled to access
the proc addrs for functionsvkSetMoltenVKConfigurationMVK()andvkGetPhysicalDeviceMetalFeaturesMVK().- 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()frommvk_private_api.htomvk_deprecated_api.h.- Re-expose proc addr for deprecated
VK_MVK_moltenvkextension 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
WorkgroupSizebuilt-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
std140UBO.- MSL: Fix issues with
fp16trancendentals.- 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_fencefor 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()andadd_typedef_line().- GLSL/MSL: Add support for
SPV_KHR_quad_control.
