Note: An issue occurred in publishing the build artifacts for this release. If you are looking for the release build artifacts, you can find them here.
- Support dynamically allocating descriptors when pool is exhausted.
- Deprecate
MVKConfiguration::preallocateDescriptors
andMVK_CONFIG_PREALLOCATE_DESCRIPTORS
environment variable. vkAllocateDescriptorSets()
: Per Vulkan spec, if any descriptor set allocation
fails, populate all descriptor set pointers withVK_NULL_HANDLE
. In addition,
returnVK_ERROR_FRAGMENTED_POOL
if failure was due to pool fragmentation.vkUpdateDescriptorSets()
: Per Vulkan spec, allow write or copy beyond the
end of a descriptor binding count, including inline uniform block descriptors.- Update
VkFormat
capabilities based on latest Metal docs. - Ensure all MoltenVK config info set by
VK_EXT_layer_settings
is used. - Advertise
VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
and
VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
for storage texel buffers. - Support storage images in Metal argument buffers on iOS.
vkUpdateDescriptorSets()
: Support writing beyond descriptor binding size if subsequent bindings are of same type.- Fix rendering issue with render pass that immediately follows a kernel dispatch.
- Fix occasional GPU crash when a smaller descriptor set replaces a larger one.
- Fix race condition when
VkImage
destroyed while used by descriptor. - Fix crash in
vkCmdPushDescriptorSetWithTemplateKHR()
when entries in
VkDescriptorUpdateTemplateCreateInfo
are not sorted by offset. - Fix issue where
vkQueueWaitIdle()
andvkDeviceWaitIdle()
were not
waiting for all commands to be enqueued before enqueuing wait operation. - Fix occassional incorrect detection of available descriptor sets during
vkAllocateDescriptorSets()
. - Fix shader conversion failure when using storage images on iOS & tvOS with Tier 1 argument buffer support.
- Fix occasional memory leak where spurious texel buffer was accidentally created during image-memory unbinding.
- Fix memory leak in debug utils messenger.
- Fix crash when
VkDescriptorSetLayout
is destroyed while descriptor set is in use. - Fix build failure on VisionOS 2.0 platform.
- Support
VK_FORMAT_A2B10G10R10_UNORM_PACK32
andVK_FORMAT_A2R10G10B10_UNORM_PACK32
formats as surface formats on all platforms. - Add
MTLStoreAction
mapping forVK_ATTACHMENT_STORE_OP_NONE
. - Add estimate of
presentMargin
in returned data fromvkGetPastPresentationTimingGOOGLE()
. - Update value of
minSubgroupSize
on AMD RX6600 to32
. - Fix support for running on
tvOS 13
. - Only add present handler if
VK_GOOGLE_display_timing
info is available during presentation. - Move primitive-restart-disabled warning from renderpass to pipeline creation, to reduce voluminous log noise.
- iOS: Support storage images in Metal argument buffers.
- Add
MVKConfiguration::shaderLogEstimatedGLSL
, and environment variableMVK_CONFIG_SHADER_LOG_ESTIMATED_GLSL
,
to enable or disable the logging of estimated GLSL code, and disable it by default - Fix endless loop in
fetchDependencies
when--
is missing on platform names. - Update dependency libraries to match Vulkan SDK 1.3.296.
- Update
MVK_PRIVATE_API_VERSION
to version43
. - Update to latest SPIRV-Cross:
- Various non-feature maintenance updates.