Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 40 additions & 14 deletions Docs/Whats_New.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,19 @@ Copyright (c) 2015-2025 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
MoltenVK 1.4.1
--------------

Released TBD
Released 2025-11-24

- Add support for the following extensions:
- `VK_KHR_maintenance9`
- `VK_KHR_shader_fma`
- `VK_KHR_surface_maintenance1`
- `VK_KHR_swapchain_maintenance1`
- Add support for new features and extensions when using `MVK_USE_METAL_PRIVATE_API`:
- Disabling primitive restart
- `VK_EXT_legacy_dithering`
- `VK_EXT_non_seamless_cube_map`
- `VK_EXT_primitive_topology_list_restart`
- `VK_EXT_provoking_vertex`
- Improved occlusion query support:
- Add support for occlusion queries across multiple renderpasses.
- Improve performance by accumulating occlusion quieries in parallel,
Expand All @@ -28,35 +39,50 @@ Released TBD
of their descriptors (and bind them after the objects they point to have been destroyed).
Use `MVK_CONFIG_LIVE_CHECK_ALL_RESOURCES=1` to revert any crashes this might cause,
or mark potentially-destroyed descriptors with `VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT`.
- Add CMake build support.
- Added working demo target for VisionOS in Cube Demo.
- Raise minimum target to _macOS 11.0 / iOS 14.0 / tvOS 14.0_
- Add support for `VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT`.
- Add support for the following extensions:
- `VK_KHR_maintenance9`
- `VK_KHR_shader_fma`
- `VK_KHR_surface_maintenance1`
- `VK_KHR_swapchain_maintenance1`
- Add support for new features and extensions when using `MVK_USE_METAL_PRIVATE_API`:
- Disabling primitive restart
- `VK_EXT_legacy_dithering`
- `VK_EXT_non_seamless_cube_map`
- `VK_EXT_primitive_topology_list_restart`
- `VK_EXT_provoking_vertex`
- Reject image usages whose format features are not supported.
- Return `VK_ERROR_OUT_OF_POOL_MEMORY` when running out of descriptor sets.
- Make vkGetPhysicalDeviceToolProperties() an instance function.
- Enable sample LOD bias for Xcode 26.
- Update robustness support levels for different GPU types.
- Update max texture dimensions for Apple10 GPU.
- Allow host-coherent optimal tiling images on macOS with Apple GPU.
- Add Metal4 and Apple10 GPU family logs.
- Fix depth bounds test and logic op implementations.
- Fix VkExternalMemory*CreateInfo not allowing host memory handle types.
- Fix improper boundary error when requesting exactly the number of variable descriptors allocated.
- Fix regression on functions used by multiple extensions.
- Fix improper use of dynamic depth/stencil attachment.
- Fix out-of-bound access when using multiview with multiple subpasses.
- Fix vertexStrideAlignment value without Apple5.
- Fix tvOS ASTC HDR formats.
- Add base GPU family for `samplerMipLodBias` support.
- Deprecate configuration parameter `MVKConfiguration::supportLargeQueryPools` and corresponding environment variable
`MVK_CONFIG_SUPPORT_LARGE_QUERY_POOLS`, as obsolete and ignored. Large query pools are now supported always.
- Disable Mac Catalyst builds from `all` and `all-debug` in `Makefile`, due to unresolved issues with Mac Catalyst builds.
- Add CI job for building for macOS with private API.
- Update to latest SPIRV-Cross:


- MSL: Support image cube atomics on MSL 4.0+.
- MSL: Fix array copy to array inside stage IO Blocks.
- MSL: Fix boolean spec const as_type<> invalid output.
- MSL: Don't emit const device for readonly SSBO.
- MSL: Add some extra reserved function names.
- MSL: Support 64-bit subgroup shuffles.
- MSL: Get rid of obsolete buffer_aliases_argument vector.
- MSL: Ensure dynamic buffer offsets get a unique name.
- MSL: Fix missing use of add_local_variable_name for dynamic offset resources.
- MSL: Rethink how discrete variable count descriptor arrays are emitted.
- MSL: Throw on attempting to alias unrolled discrete descriptors.
- MSL: Fix mesh shader with no vertex outputs.
- MSL: Fix writing default gl_PointSize in tessellation shaders.
- MSL: Rethink "const device" handling.
- MSL: Narrow down which analysis passes need deep ID mapping.
- MSL: Support OpFmaKHR.



MoltenVK 1.4.0
--------------
Expand Down
2 changes: 1 addition & 1 deletion ExternalRevisions/SPIRV-Cross_repo_revision
Original file line number Diff line number Diff line change
@@ -1 +1 @@
97709575e2332548603d308890423126100608ae
adec7acbf41a988713cdb85f93f26c8ca5ea863e
2 changes: 1 addition & 1 deletion ExternalRevisions/SPIRV-Headers_repo_revision
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9268f3057354a2cb65991ba5f38b16d81e803692
b824a462d4256d720bebb40e78b9eb8f78bbb305
2 changes: 1 addition & 1 deletion ExternalRevisions/SPIRV-Tools_repo_revision
Original file line number Diff line number Diff line change
@@ -1 +1 @@
021f92a757002fcdba6a73154ed46a203d3a56b8
262bdab48146c937467f826699a40da0fdfc0f1a
2 changes: 1 addition & 1 deletion ExternalRevisions/Volk_repo_revision
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9767549a8bba5454555764ee0f3319bc5d205da9
59660878571aa99e3c9a366bb1d19fdcd701f0e7
2 changes: 1 addition & 1 deletion ExternalRevisions/Vulkan-Headers_repo_revision
Original file line number Diff line number Diff line change
@@ -1 +1 @@
33d7f512583b8de44d1b6384aa1cf482f92e53e9
6aefb8eb95c8e170d0805fd0f2d02832ec1e099a
2 changes: 1 addition & 1 deletion ExternalRevisions/Vulkan-Tools_repo_revision
Original file line number Diff line number Diff line change
@@ -1 +1 @@
17c41541e8e43364af6ccb4a6ce167274152cd7a
013058f74e2356347f8d9317233bc769816c9dfb
2 changes: 1 addition & 1 deletion MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
Original file line number Diff line number Diff line change
Expand Up @@ -820,7 +820,7 @@

// Create a SSOT for these Vulkan 1.2 properties, which can be queried via two mechanisms here.
bool isTier2 = isTier2MetalArgumentBuffers();
static constexpr VkConformanceVersion testedCTSVer = { 1, 4, 2, 0 }; // Latest version of CTS used to test
static constexpr VkConformanceVersion testedCTSVer = { 1, 4, 4, 0 }; // Latest version of CTS used to test
VkPhysicalDeviceVulkan12Properties supportedProps12;
supportedProps12.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES;
supportedProps12.pNext = nullptr;
Expand Down
Binary file modified Templates/spirv-tools/build.zip
Binary file not shown.