Software 42315 Published by

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





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.

New in Vulkan SDK 1.2.148
  • Add support for extensions:
    • VK_KHR_driver_properties
    • VK_KHR_sampler_ycbcr_conversion
    • VK_EXT_image_robustness
    • VK_EXT_robustness2
  • Add native support for VK_FORMAT_D16_UNORM on iOS 13.0+ and tvOS 13.0+.
  • Add support for tvOS platform.
  • Add support for iOS Simulator and tvOS Simulator build destinations.
  • Cube demo runs on tvOS, iOS Simulator, and tvOS Simulator.
  • MoltenVK Xcode schemes support building fat Platform+Simulator binaries.
  • Makefile supports building fat Platform+Simulator binaries, plus Debug builds.
  • fetchDependencies script supports platform build selection, plus parallel builds.
  • vkCmdBlitImage() returns error if scaling or inverting to linear image on macOS.
  • Support VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a surface format.
  • Support VkPipelineMultisampleStateCreateInfo::pSampleMask.
  • Support VkPhysicalDeviceSubgroupProperties.
  • Fix memory layout of inline uniform blocks.
  • Fix issue where mapped host-coherent device memory not updated from image contents on macOS.
  • Fix image memory sizing and offsets.
  • Fix small memory leak when setting swapchain color space.
  • Fix new and unexpected App Store failure on newly deprecated color space values.
  • Fix intermittent concurrent shader specialization race condition.
  • Fix offsets when flushing buffer data to GPU.
  • Fix issue where expected buffer-sizes buffer not bound to Metal compute encoder.
  • Ensure fragment shader inputs to have as many components as vertex shader outputs.
  • Include vertex attribute size when testing whether attribute offset exceeds stride.
  • Add support for USCALED/SSCALED vertex formats.
  • Add host-coherent texel buffer caching just for buffer views.
  • Include MoltenVK Git revision hash in VkPhysicalDeviceProperties::pipelineCacheUUID.
  • Add MVKPhysicalDeviceMetalFeatures::vertexStrideAlignment to track Metal vertex binding stride alignment.
  • Add MVKPhysicalDeviceMetalFeatures::indirectTessellationDrawing to track if indirect tessellation drawing is supported.
  • Remove use of @available() directive as it was causing issues in some build environments.
  • Pass pipeline sample mask, if present, to SPIRV-Cross.
  • Refactor MoltenVK Xcode build architectures.
  • Demo API-Samples generateSPIRVShaders no longer builds MoltenVKShaderController tool.
  • Update VK_MVK_MOLTENVK_SPEC_VERSION to 27.
  • Update dependency libraries to match Vulkan SDK 1.2.148.
  • Update to latest SPIRV-Cross version:
    • MSL: Add support for processing more than one patch per workgroup.
    • MSL: Workaround broken scalar access chain behavior in MSL LLVM IR / AIR.
    • MSL: Do not emit swizzled writes in packing fixups.
    • MSL: Ensure OpStore source operands are marked for inclusion in function arguments.
    • MSL: Enabling setting an additional fixed sampleMask in fragment shaders.
    • MSL: Remove obsolete MSLVertexAttr and MSLShaderInput members.
    • MSL: Fix up input variables' vector lengths in all stages.
    • MSL: Improve handling of array types in buffer objects.
    • MSL: Deal with loading non-value-type arrays.
    • MSL: Deal with array load-store in buffer-block structs.
    • MSL: Use input attachment index directly for resource index fallback.
    • Fix missing switch cases in Y'CbCr conversion.
    • Implement context-sensitive expression read tracking.

Download