diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index 3c698a62..0eb10282 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -16,28 +16,39 @@ Copyright (c) 2015-2023 [The Brenwill Workshop Ltd.](http://www.brenwill.com) MoltenVK 1.2.4 -------------- -Released TBD +Released 2023/05/23 - Add support for extensions: - `VK_KHR_map_memory2` +- Deprecate the obsolete and non-standard `VK_MVK_moltenvk` extension. + - Add `mvk_config.h`, `mvk_private_api.h`, and `mvk_deprecated_api.h`, and deprecate `vk_mvk_moltenvk.h`. - Support BC compression on iOS/tvOS where available (iOS/tvOS 16.4 and above and supported by the GPU). - Support separate depth and stencil attachments during dynamic rendering. -- Deprecate the obsolete and non-standard `VK_MVK_moltenvk` extension. - Fix memory leak when waiting on timeline semaphores. - Fix race condition when updating values in `VkPastPresentationTimingGOOGLE`, and ensure swapchain image presented time is always populated when requested. -- Report error, but do not fail on request for timestamp query pool that is too large for `MTLCounterSampleBuffer`. +- Report error, but do not fail on request for timestamp query pool that is too + large for `MTLCounterSampleBuffer`, and fall back to emulation via CPU timestamps. - Ensure shaders that use `PhysicalStorageBufferAddresses` encode the use of the associated `MTLBuffer`. - Disable pipeline cache compression prior to macOS 10.15 and iOS/tvOS 13.0. -- Add `MVK_ENABLE_EXPLICIT_LOD_WORKAROUND` environment variable to selectively - disable recent fixes to handling LOD for arrayed depth images in shaders, - on Apple Silicon, when those fixes cause regression in rendering behavior. -- Identify each unsupported device feature flag that the app attempts to be enable. +- Respect the bind point supplied to `vkCmdBindDescriptorSets()` / `vkCmdPushDescriptorSets()`. +- Check if shader compiled before adding it to a pipeline, to avoid Metal validation error. +- Identify each unsupported device feature flag that the app attempts to enable. - Populate `deviceUUID` from `MTLDevice` location and peer group info, which should be unique, and constant across OS reboots. - Populate `deviceLUID` from `MTLDevice.registryID`. +- Avoid Metal validation warning when depth component swizzled away. +- Fix depth clamp and texture swizzle feature discovery on simulator builds. - For correctness, set `VkPhysicalDeviceLimits::lineWidthGranularity` to `1`. - Improve GitHub CI production of binary artifacts on submission and release. +- Update dependency libraries to match _Vulkan SDK 1.3.250_. +- Update to latest SPIRV-Cross: + - MSL: Fix for argument buffer index compare when invalid. + - MSL: Fix dref lod workaround on combined texture/samplers. + - MSL: Do not override variable name with v_ identifier. + - MSL: Use name_id consistently in argument declaration. + - MSL: Don't hit array copy path for pointer to array. + - MSL: Use templated array type when emitting BDA to arrays. diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision index 90262665..d2ea9c60 100644 --- a/ExternalRevisions/SPIRV-Cross_repo_revision +++ b/ExternalRevisions/SPIRV-Cross_repo_revision @@ -1 +1 @@ -34cd230e5e22d08869be878055a2267ba66cc601 +12542fc6fc05000e04742daf93892a0b10edbe80 diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision index c0981ee2..e48127cb 100644 --- a/ExternalRevisions/Vulkan-Headers_repo_revision +++ b/ExternalRevisions/Vulkan-Headers_repo_revision @@ -1 +1 @@ -fa204df59c6caea6b9be3cf0754a88cd89056a87 +9e61870ecbd32514113b467e0a0c46f60ed222c7 diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision index a36355f5..4359b342 100644 --- a/ExternalRevisions/Vulkan-Tools_repo_revision +++ b/ExternalRevisions/Vulkan-Tools_repo_revision @@ -1 +1 @@ -f196c8d3cafcaf7e628b7b76a799c940999ee984 +695887a994ef9cc00a7aa3f9c00b31a56ea79534 diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision index 4ec3c538..d336b042 100644 --- a/ExternalRevisions/glslang_repo_revision +++ b/ExternalRevisions/glslang_repo_revision @@ -1 +1 @@ -14e5a04e70057972eef8a40df422e30a3b70e4b5 +d1517d64cfca91f573af1bf7341dc3a5113349c0 diff --git a/Templates/spirv-tools/build.zip b/Templates/spirv-tools/build.zip index c78f151c..ee4797c8 100644 Binary files a/Templates/spirv-tools/build.zip and b/Templates/spirv-tools/build.zip differ