Software 42361 Published by

Bill Hollings has announced the release of MoltenVK Vulkan SDK 1.2.176.





MoltenVK is a driver-level implementation of the Vulkan 1.0 graphics and compute API, that runs on Apple's Metal graphics and compute framework on both iOS and macOS.

MoltenVK allows you to use the Vulkan graphics and compute API to develop modern, cross-platform, high-performance graphical games and applications, and to run them across many platforms, including both iOS and macOS.

  • Add beta support for using Metal argument buffers for shader resources on macOS, by setting
    MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS environment variable (disabled by default). This dramatically
    expands the number of resources that can be submitted to a pipeline stage, per the Vulkan
    VK_EXT_descriptor_indexing extension. Currently available on macOS 10.16 (Big Sur) or later,
    and on earlier macOS versions on Intel GPU's
    .
  • Add support for HDR10 colorspace via VK_COLOR_SPACE_HDR10_HLG_EXT and VK_COLOR_SPACE_HDR10_ST2084_EXT.
  • Always explicitly set CAMetalLayer colorspace property based on Vulkan parameters,
    and don't rely on Metal default values.
  • Add MVKConfiguration::resumeLostDevice and MVK_CONFIG_RESUME_LOST_DEVICE env var,
    to allow VkDevice to resume after non-fatal VK_ERROR_DEVICE_LOST error.
  • MVKDescriptorPool pools its descriptor sets.
  • Enable MVKConfiguration::preallocateDescriptors and MVK_CONFIG_PREALLOCATE_DESCRIPTORS
    environment variable by default to preallocate descriptors when a VkDescriptorPool is created.
  • Avoid use of Metal renderpass load and store actions on memoryless attachments.
  • Fix memory leak on swapchain destruction.
  • Fix MVKPhysicalDevice::getSurfaceFormats() returning VK_FORMAT_UNDEFINED.
  • Fix memory leak where swapchains and images were not destroyed due to a retention loop.
  • Fix advertising single-texel alignment capability for texel buffers.
  • Fix time and space inefficiencies caused by missed shader cache lookup hits in MVKShaderLibraryCache.
  • Log enhanced command buffer errors in debug mode.
  • Ensure queue submission message logging occurs before submission object is destroyed.
  • Remove project qualifiers from references to SPIRV-Cross header files.
  • Only perform automatic GPU capture on queue identified by MVKConfiguration::defaultGPUCaptureScopeQueueIndex
    and defaultGPUCaptureScopeQueueFamilyIndex.
  • Introduce MVKConfigLogLevelBits, MVKConfigAutoGPUCaptureScopeBits, and MVKConfigTraceVulkanCallsBits
    enums to specify config API values in a Vulkan-friendly manner, while automatically documenting the same values for env vars.
  • Add MVKConfiguration::apiVersionToAdvertise and MVK_CONFIG_API_VERSION_TO_ADVERTISE
    env var to configure MoltenVK to advertise a particular Vulkan version.
  • Add MVKConfiguration::advertiseExtensions and MVK_CONFIG_ADVERTISE_EXTENSIONS
    env var to configure MoltenVK to force advertising support for no, or minimally few, Vulkan extensions.
  • Remove the Hologram and API-Samples demo apps, and remove
    LunarG/VulkanSamples as a dependency library.
  • Add NDEBUG macro to all Release builds to remove assert() calls.
  • Update VK_MVK_MOLTENVK_SPEC_VERSION to 31.
  • Update dependency libraries to match Vulkan SDK 1.2.176.
  • Update to latest SPIRV-Cross version:
    • MSL: Support long ulong types in buffers in 2.3+.
    • MSL: Support padding Metal argument buffer entries based on argument index.
    • Add interfaces to aid with LTO-style optimization
    • Handle edge cases in OpCopyMemory.
Vulkan

Download