Releases
v1.0.36
Release for 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.
You can’t perform that action at this time.