diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index 8c0b5568..04effc39 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -16,19 +16,24 @@ Copyright (c) 2015-2022 [The Brenwill Workshop Ltd.](http://www.brenwill.com) MoltenVK 1.1.9 -------------- -Released TBD +Released 2022/04/11 - Add support for extensions: - - `VK_EXT_sample_locations` -- Fixes to pipeline layout compatibility. + - `VK_EXT_sample_locations` _(Custom locations settable via_ `vkCmdBeginRenderPass()` _only, + since_ `VkPhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations` _is `false`)_. +- Fixes to pipeline layout compatibility between sequentially bound pipelines. - Reinstate memory barriers on non-Apple GPUs, which were inadvertently disabled in an earlier update. - Support base vertex instance support in shader conversion. - Fix alignment between outputs and inputs between shader stages when using nested structures. - Fix issue where the depth component of a stencil-only renderpass attachment was incorrectly attempting to be stored. - Fix deletion of GPU counter `MTLFence` while it is being used by `MTLCommandBuffer`. +- Fix crash in `vkGetMTLCommandQueueMVK()`. +- Fix leak of `CoreFoundation` objects during calls to `vkUseIOSurfaceMVK()`. - Remove limit on `VkPhysicalDeviceLimits::maxSamplerAllocationCount` when not using Metal argument buffers. - Avoid adjusting SRGB clear color values by half-ULP on GPUs that round float clear colors down. - Fixes to optimize resource objects retained by descriptors beyond their lifetimes. +- Optimize behavior for `VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT` when + `MVK_CONFIG_PREFILL_METAL_COMMAND_BUFFERS` is used - `MoltenVKShaderConverter` tool defaults to the highest MSL version supported on runtime OS. - Update *glslang* version, to use `python3` in *glslang* scripts, to replace missing `python` on *macOS 12.3*. - Update `VK_MVK_MOLTENVK_SPEC_VERSION` to version `34`. @@ -36,9 +41,13 @@ Released TBD - MSL: Support input/output blocks containing nested struct arrays. - MSL: Use var name instead of var-type name for flattened interface members. - MSL: Handle aliased variable names for resources placed in IB struct. + - MSL: Handle awkward mix and match of `Offset` / `ArrayStride` in constants. - MSL: Append entry point args to local variable names to avoid conflicts. - - MSL: Consider that gl_IsHelperInvocation can be Volatile. + - MSL: Consider that `gl_IsHelperInvocation` can be `Volatile`. - MSL: Refactor and fix use of quadgroup vs simdgroup. + - Handle `OpTerminateInvocation`. + - Fixup names of anonymous inner structs. + - Fix regression from adding 64-bit switch support. diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision index 78a1017a..777346a0 100644 --- a/ExternalRevisions/SPIRV-Cross_repo_revision +++ b/ExternalRevisions/SPIRV-Cross_repo_revision @@ -1 +1 @@ -0b51794f0142a3124f4e351cfc0616a48268ba97 +0d4ce028bf8b8a94d325dc1e1c20446153ba19c4 diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision index 3c99c897..30e1cdb0 100644 --- a/ExternalRevisions/Vulkan-Headers_repo_revision +++ b/ExternalRevisions/Vulkan-Headers_repo_revision @@ -1 +1 @@ -1dace16d8044758d32736eb59802d171970e9448 +76f00ef6cbb1886eb1162d1fa39bee8b51e22ee8 diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision index 4eae18e4..cbd21e4d 100644 --- a/ExternalRevisions/Vulkan-Tools_repo_revision +++ b/ExternalRevisions/Vulkan-Tools_repo_revision @@ -1 +1 @@ -bb32aa13d4920261b5086219028ef329605d0126 +3903162ac4b01ed376bfa55a72ef7217a72c0b74 diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision index cf673c40..31aa78d4 100644 --- a/ExternalRevisions/glslang_repo_revision +++ b/ExternalRevisions/glslang_repo_revision @@ -1 +1 @@ -90d4bd05cd77ef5782a6779a0fe3d084440dc80d +9bb8cfffb0eed010e07132282c41d73064a7a609 diff --git a/Templates/spirv-tools/build.zip b/Templates/spirv-tools/build.zip index 7d28bc7c..4759c862 100644 Binary files a/Templates/spirv-tools/build.zip and b/Templates/spirv-tools/build.zip differ