Releases: KhronosGroup/MoltenVK
Releases · KhronosGroup/MoltenVK
v1.2.11-artifacts
Build artifacts for release v1.2.11.
v1.2.11-rc1
Merge pull request #2360 from billhollings/vulkan-sdk-1.3.296 Update dependency libraries to match Vulkan SDK 1.3.296.
Release for Vulkan SDK 1.3.296
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.
v1.2.11-b1
Merge pull request #2333 from billhollings/sdk-1.3.295b Update dependency libraries to match Vulkan SDK 1.3.295 beta.
v1.2.10-rc2
Merge pull request #2276 from billhollings/sdk-testing-fixes Fixes from Vulkan SDK 1.3.290 testing.
v1.2.10-rc1
Merge pull request #2274 from billhollings/sdk-1.3.290 Update dependency libraries to match Vulkan SDK 1.3.290.
v1.2.9-rc1
Merge pull request #2231 from billhollings/fix-arg-buff-padding Fix shader argument buffer padding and atomics.
Release for Vulkan SDK 1.3.283
- Add support for extensions:
VK_EXT_host_image_copy
- To support legacy apps, restore
MoltenVK/dylib
directory via symlink toMoltenVK/dynamic/dylib
. - Enhancements to
MVKPerformanceStatistics
. AddMVKPerformanceTracker::previous
,
MVKQueuePerformance::waitSubmitCommandBuffers
, andMVKQueuePerformance::waitPresentSwapchains
. - Add
MVK_CONFIG_SHADER_DUMP_DIR
configuration parameter to optionally dump shaders to files. - Return MoltenVK log level string in
pMessageIdName
field of debug utils callback data. - Fix crash when using
VK_EXT_metal_objects
under ARC. - Fix deadlock when creating a swapchain on a thread other than the main thread.
- Fix potential memory leak in
vkQueueWaitIdle()
. - Fix argument buffer padding on shader conversion.
- Avoid atomic image usage if native atomics are not supported on the platform.
- Ensure buffer bindings are actually used to avoid potential overrun on Metal buffer indexes.
- Update dependency libraries to match Vulkan SDK 1.3.283.
- Update
MVK_PRIVATE_API_VERSION
to41
. - Update to latest SPIRV-Cross:
- MSL: Add support for overlapping bindings.
- MSL: Use recursive template for
spvArrayCopy()
. - MSL: Improve argument buffer descriptor aliasing implementation.
- MSL: Workaround compiler issue with image fence when used as reference.
- MSL: Fix SUMulExtended for 64-bit inputs.
- MSL: Handle Atomic{S,U}{Min,Max} with mismatched image sign.
- MSL: Handle missing FP16 trancendental overloads.
- MSL: Remove pointer wrapper stored in
spvDescriptorArray()
to avoid potential Metal compiler bug. - MSL: Fix argument buffer padding.
v1.2.8-rc1
Merge pull request #2181 from billhollings/vulkan-sdk-1.3.280 Update dependency libraries to match Vulkan SDK 1.3.280.
Release for Vulkan SDK 1.3.280
- Add support for extensions:
VK_KHR_shader_integer_dot_product
- Improve support for iOS App Store rules by using dynamic XCFramework, instead of naked
dylib
.- Static XCFramework now available in
Package/Latest/MoltenVK/static/MoltenVK.xcframework
. - Dynamic XCFramework now available in
Package/Latest/MoltenVK/dynamic/MoltenVK.xcframework
. - macOS dynamic library now available in
Package/Latest/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib
.
- Static XCFramework now available in
- Add
MVK_USE_METAL_PRIVATE_API
build setting to allow MoltenVK to be built with access to Metal private API calls.VkPhysicalDeviceFeatures::wideLines
enabled whenMVK_USE_METAL_PRIVATE_API
is enabled in a MoltenVK build.VkPhysicalDeviceFeatures::logicOp
enabled whenMVK_USE_METAL_PRIVATE_API
is enabled in a MoltenVK build.VkPhysicalDeviceFeatures::depthBounds
enabled on AMD GPUs whenMVK_USE_METAL_PRIVATE_API
is enabled in a MoltenVK build.VkPhysicalDevicePortabilitySubsetFeaturesKHR::samplerMipLodBias
enabled whenMVK_USE_METAL_PRIVATE_API
is enabled in a MoltenVK build.- Metal native pipeline sample masks supported when
MVK_USE_METAL_PRIVATE_API
is enabled in a MoltenVK build.
- Enable use of native texture atomics where supported.
- Fix potential crash when using multi-planar images.
- Fix translation of fully remapped multi vertex attribute bindings.
- Fix unresolvable layered compute resolve.
- Fix visionOS build.
- Handle depth/stencil swizzle sample correctly.
- Ensure buffers available for buffer addresses in push constants.
- Don't update
currentExtent
of headless surface when swapchain attached. - Don't return
VK_SUBOPTIMAL_KHR
for headless surfaces. runcts
script also output a file containing a list of the failed CTS tests.- Add documentation for using Metal GPU capture with MoltenVK.
- Update minimum macOS deployment target to 10.15.
- Update minimum iOS/tvOS deployment target to 13.0.
- Update dependency libraries to match Vulkan SDK 1.3.280.
- Update
MVK_PRIVATE_API_VERSION
to40
. - Update to latest SPIRV-Cross:
- MSL: Plumb through member state to image/sampler types.
- MSL: Support variable sized descriptor array in argument buffer.
- MSL: Implement
spvDescriptorArray
path for SSBO/UBO. - MSL: Add support for SPV_EXT_integer_dot_product.
- MSL: Fix misc sign issues with dot product impl and add more coverage.
- MSL: Handle volatile properly for emulated image atomics.
- MSL: OpCopyObject declare a temp var of base type, not pointer type.
- MSL: Pass texture array index separately to atomic texture operations.
- MSL: Test image atomic for image2DArray.
- MSL: Improve handling of BDA + atomics.
- MSL: Fix type hierarchy for extended vectors.
- MSL: Fix type hierarchy for extended vectors.
- MSL:
atomic_compare_exchange_weak()
supportCompilerMSL:msl_options.texture_1D_as_2D
.