Software 42773 Published by

Bill Hollings has announced the release of MoltenVK Vulkan SDK 1.1.114




Add support for extensions:
VK_KHR_device_group_creation
VK_KHR_swapchain_mutable_format
VK_KHR_uniform_buffer_standard_layout
VK_EXT_metal_surface
VK_EXT_post_depth_coverage
VK_EXT_scalar_block_layout
VK_EXT_shader_stencil_export
VK_EXT_swapchain_colorspace
VK_EXT_texel_buffer_alignment
VK_AMD_shader_image_load_store_lod
VK_AMD_shader_trinary_minmax
VK_INTEL_shader_integer_functions2
Support VK_FORMAT_A2R10G10B10_UNORM_PACK32 as a surface format and view format.
For shaders created directly from MSL, set function name from
VkPipelineShaderStageCreateInfo::pName.
On iOS GPU family 2 and earlier, support immutable depth-compare samplers
as constexpr samplers hardcoded in MSL.
vkCmdCopyImage() support copying between compressed and uncompressed formats
and validate that formats are compatible for copying.
vkCmdBufferImageCopy() fix crash when setting bytes per image in non-arrayed images.
vkCmdBlitImage() supports blit between different texture formats, and multisampled images.
vkCmdResolveImage() supports textures of different sizes.
vkCmdClearImage() returns error if texture is not renderable.
Move push constant binding to vkCmdBindPipeline() from vkCmdBindDescriptorSet().
MVKDeviceMemory keep MTLResourceOptions aligned with MTLStorageMode & MTLCPUCacheMode.
Texture memory requirements don't use shared storage on macOS.
Add MTLCommandBuffer completion timing performance tracking option.
Expand MVK_CONFIG_TRACE_VULKAN_CALLS to optionally log Vulkan call timings.
Skip SPIRV-Tools build in Travis because Travis does not support the required Python 3.
Separate SPIRVToMSLConverterContext into input config and output results.
Use native Metal texture buffers when available.
Fix issue with push constants used across multiple draw calls not being applied.
Fix memory leak in debug marker and debug utils labelling.
Reduce memory leaks when autorelease pools are not available.
Fix pipeline cache lookups.
Fix race condition between swapchain image destruction and presentation completion callback.
Set Metal texture usage to allow texture copy via view.
Fix memory leak in debug marker and debug utils labelling.
Fix issue with push constants used across multiple draw calls not being applied.
Fix crash when binding descriptor set to layout that has been destroyed and recreated.
Return error when MVKImage created as 1D attachment.
Reduce use of autoreleased Obj-C objects, and ensure those remaining are
covered by deliberate autorelease pools.
Document that the functions in vk_mvk_moltenvk.h cannot be used with objects
retrieved through the Vulkan SDK Loader and Layers framework.
Update VK_MVK_MOLTENVK_SPEC_VERSION to 21.
Update dependency libraries to match Vulkan SDK 1.1.114.
Update to latest SPIRV-Cross version:
MSL: Support SPV_KHR_multiview extension.
MSL: Support the SPV_KHR_post_depth_coverage extension.
MSL: Support the SPV_AMD_shader_trinary_minmax extension.
MSL: Support the SPV_KHR_device_group extension.
MSL: Support the SPV_INTEL_shader_integer_functions2 extension.
MSL: Support SubgroupSize / SubgroupInvocationID in fragment.
MSL: Support OpImageQueryLod.
MSL: Support MinLod operand.
MSL: Support PrimitiveID in fragment and barycentrics.
MSL: Support 64-bit integers.
MSL: Support OpOuterProduct.
MSL: Support SubgroupLocalInvocationId and SubgroupSize in all stages.
MSL: Support scalar reflect and refract.
MSL: Support scalar block layout.
MSL: Use the select() function for OpSelect.
MSL: Handle coherent, volatile, and restrict.
MSL: Refactor buffer packing logic from ground up.
MSL: Fix alignment of packed types.
MSL: Handle packed matrices.
MSL: Conditionally validate MSL 2.2 shaders.
MSL: Rewrite how resource indices are fallback-assigned.
MSL: Support custom bindings for argument buffers.
MSL: Fix sampling with FP16 coordinates.
MSL: Deal with scalar input values for distance/length/normalize.
MSL: Error out on int64_t/uint64_t buffer members as unsupported by Metal.
MSL: Deal with scalar input values for distance/length/normalize.
MSL: Re-roll array expressions in initializers.
MSL: New SDK errors out on cull distance.
Rewrite how switch block case labels are emitted.
Fixes to handling of OpPhi and case fallthrough.
Fix declaration of loop variables with a OpPhi helper copy.
Handle more cases with FP16 and texture sampling.
Fix variable scope when an if or else block dominates a variable.
Fall back to complex loop if non-trivial continue block is found.
Remove unreasonable assertion for OpTypeImage Sampled parameter.
Propagate NonUniformEXT to dependent expressions.
Deal correctly with return sign of bitscan operations.
  MoltenVK Vulkan SDK 1.1.114 released