Skip to content

Release for Vulkan SDK 1.2.176

Compare
Choose a tag to compare
@billhollings billhollings released this 27 Apr 17:14
55dd4ed
  • 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 11.0 (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.