Skip to content

Releases: KhronosGroup/MoltenVK

v1.2.11-artifacts

08 Oct 20:12
1a2a131
Compare
Choose a tag to compare

Build artifacts for release v1.2.11.

v1.2.11-rc1

01 Oct 15:34
81541f6
Compare
Choose a tag to compare
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

02 Oct 22:35
81541f6
Compare
Choose a tag to compare

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 and MVK_CONFIG_PREALLOCATE_DESCRIPTORS environment variable.
  • vkAllocateDescriptorSets(): Per Vulkan spec, if any descriptor set allocation
    fails, populate all descriptor set pointers with VK_NULL_HANDLE. In addition,
    return VK_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() and vkDeviceWaitIdle() 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 and VK_FORMAT_A2R10G10B10_UNORM_PACK32 formats as surface formats on all platforms.
  • Add MTLStoreAction mapping for VK_ATTACHMENT_STORE_OP_NONE.
  • Add estimate of presentMargin in returned data from vkGetPastPresentationTimingGOOGLE().
  • Update value of minSubgroupSize on AMD RX6600 to 32.
  • 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 variable MVK_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 version 43.
  • Update to latest SPIRV-Cross:
    • Various non-feature maintenance updates.

v1.2.11-b1

10 Sep 22:15
cf3a02d
Compare
Choose a tag to compare
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

19 Jul 13:09
edbdcf0
Compare
Choose a tag to compare
Merge pull request #2276 from billhollings/sdk-testing-fixes

Fixes from Vulkan SDK 1.3.290 testing.

v1.2.10-rc1

16 Jul 03:09
d459406
Compare
Choose a tag to compare
Merge pull request #2274 from billhollings/sdk-1.3.290

Update dependency libraries to match Vulkan SDK 1.3.290.

v1.2.9-rc1

07 May 04:13
bf097ed
Compare
Choose a tag to compare
Merge pull request #2231 from billhollings/fix-arg-buff-padding

Fix shader argument buffer padding and atomics.

Release for Vulkan SDK 1.3.283

08 May 19:24
bf097ed
Compare
Choose a tag to compare
  • Add support for extensions:
    • VK_EXT_host_image_copy
  • To support legacy apps, restore MoltenVK/dylib directory via symlink to MoltenVK/dynamic/dylib.
  • Enhancements to MVKPerformanceStatistics. Add MVKPerformanceTracker::previous,
    MVKQueuePerformance::waitSubmitCommandBuffers, and MVKQueuePerformance::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 to 41.
  • 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

12 Mar 18:41
1d98bab
Compare
Choose a tag to compare
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

13 Mar 19:29
1d98bab
Compare
Choose a tag to compare
  • 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.
  • Add MVK_USE_METAL_PRIVATE_API build setting to allow MoltenVK to be built with access to Metal private API calls.
    • VkPhysicalDeviceFeatures::wideLines enabled when MVK_USE_METAL_PRIVATE_API is enabled in a MoltenVK build.
    • VkPhysicalDeviceFeatures::logicOp enabled when MVK_USE_METAL_PRIVATE_API is enabled in a MoltenVK build.
    • VkPhysicalDeviceFeatures::depthBounds enabled on AMD GPUs when MVK_USE_METAL_PRIVATE_API is enabled in a MoltenVK build.
    • VkPhysicalDevicePortabilitySubsetFeaturesKHR::samplerMipLodBias enabled when MVK_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 to 40.
  • 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() support CompilerMSL:msl_options.texture_1D_as_2D.