Software 42191 Published by

Bill Hollings has announced the release of the MoltenVK Vulkan SDK 1.3.231 Beta with support for Vulkan 1.2.

Release for Vulkan SDK 1.3.231 BETA

  • Add support for Vulkan 1.2.
  • Add support for extensions:
    • VK_KHR_shader_float_controls
    • VK_KHR_spirv_1_4
  • Vulkan semaphore functional improvements:
    • Replace use of MTLFence with an option to limit to a single Vulkan queue and use Metal's implicit submisison order guarantees.
    • Support option to force use of MTLEvents for Vulkan semaphores on NVIDIA and Rosetta2.
    • MVKConfiguration replace booleans semaphoreUseMTLEvent and semaphoreUseMTLFence with enumerated semaphoreSupportStyle.
  • Support config option to automatically use Metal argument buffers when VK_EXT_descriptor_indexing
    extension is enabled. MVKConfiguration::useMetalArgumentBuffers (MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS)
    is now an enum field. The use of Metal argument buffers is still disabled by default (MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS_NEVER).
  • MVKPipeline: Add builtins that are read but not written to tessellation pipelines.
  • Fix occassional crash from retention of MVKSwapchain for future drawable presentations.
  • Fix crash in vkCreateSwapchainKHR() on macOS 10.14 and earlier
  • Fix undefined reference to vkGetBufferDeviceAddressEXT when building with MVK_HIDE_VULKAN_SYMBOLS=1.
  • Update Makefile to forward any build setting declared on the command line to Xcode.
  • Add non-functional Vulkan 1.3 core function stubs, to avoid link errors with some external
    libraries that assume Vulkan 1.3 linkages from the standard Vulkan header files included with MoltenVK.
  • Add MVK_USE_CEREAL build setting to avoid use of Cereal external library (for pipeline caching).
  • MoltenVKShaderConverter tool automatically maps bindings when converting GLSL.
  • Update VK_MVK_MOLTENVK_SPEC_VERSION to version 36.
  • Update to latest SPIRV-Cross:
    • MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff.
    • MSL: Emit correct address space when casting during OpStore.
    • MSL: Add a mechanism to fix up shader outputs.
    • MSL: Handle descriptor aliasing of raw buffer descriptors.
    • MSL: Do not attempt to alias push constants.
    • MSL: only fix up gl_FragCoord if really necessary.
    • MSL: Expose way to query if a buffer needs array length.
    • MSL: Report unsupported 64-bit atomics.
    • Don't rename remapped variables like gl_LastFragDepthARM

Release for Vulkan SDK 1.3.231 - BETA