Skip to content

3rd Party: Bump MoltenVK to 1.2.11 (Vulkan SDK 1.3.296) - #16190

Merged
Megamouse merged 6 commits into
RPCS3:masterfrom
shinra-electric:mvk-1211
Oct 15, 2024
Merged

Megamouse merged 6 commits into
RPCS3:masterfrom
shinra-electric:mvk-1211

Conversation

@shinra-electric

Copy link
Copy Markdown
Contributor

Testing:

  • Ensure CI passes for both Arm and x64 builds
  • Ensure games still work

Changelog for 1.2.11:

  • 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 occasional 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.

@shinra-electric

Copy link
Copy Markdown
Contributor Author

The build failure is unrelated to this PR.

Merging should be held until the issue is fixed and this PR can be properly tested.

@shinra-electric shinra-electric changed the title Bump MoltenVK to 1.2.11 (Vulkan SDK 1.3.296) 3rd Party: Bump MoltenVK to 1.2.11 (Vulkan SDK 1.3.296) Oct 9, 2024
@Megamouse Megamouse added Build and CI Anything related to the build process and continuous integration Driver: MoltenVK Open-source macOS Vulkan driver labels Oct 9, 2024
@shinra-electric

Copy link
Copy Markdown
Contributor Author

Both x86 and Arm CI builds are working. Should be ok to merge.

Closes #16179

@Megamouse
Megamouse merged commit 4cd1d63 into RPCS3:master Oct 15, 2024
@shinra-electric
shinra-electric deleted the mvk-1211 branch October 15, 2024 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build and CI Anything related to the build process and continuous integration Driver: MoltenVK Open-source macOS Vulkan driver OS: macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants