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 whenVK_ERROR_DEVICE_LOST
error is encountered.- For behaviouraly consistency, require deprecated unofficial extension
VK_MVK_moltenvk
be 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.h
tomvk_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()
andadd_typedef_line()
.- GLSL/MSL: Add support for
SPV_KHR_quad_control
.