Releases
v1.0.37
Release for Vulkan SDK 1.1.121
Add support for extensions:
VK_KHR_device_group
VK_EXT_fragment_shader_interlock
Add support for VkEvent
, using either native MTLEvent
or emulation when MTLEvent
not available.
vkInvalidateMappedMemoryRanges()
synchronizes managed device memory to CPU.
Track supported instance and device extensions correctly.
Revert to supporting host-coherent memory for linear images on macOS.
Report limit of 64KB for constant buffer bindings on macOS.
Disable depth and/or stencil testing if corresponding attachment is missing.
Ensure Vulkan loader magic number is set every time before returning any dispatchable Vulkan handle.
Fix crash when VkDeviceCreateInfo
specifies queue families out of numerical order.
Fix crash in vkDestroyPipelineLayout()
.
Fix crash when signalling swapchain semaphore using MTLEvent
.
Fix crash when determining alignment of invalid pixel formats.
vkCmdBlitImage():
Support format component swizzling.
vkCmdClearImage():
Set error if attempt made to clear 1D image, and fix validation of depth attachment formats.
vkCreateRenderPass():
Return VK_ERROR_FORMAT_NOT_SUPPORTED
if format not supported.
vkCmdFillBuffer():
Improve performance 150x by using parallelism more effectively.
Support optional use of MTLFence
for Vulkan semaphores via the MVK_ALLOW_METAL_FENCES
environment variable.
Remove error logging on VK_TIMEOUT
of VkSemaphore
and VkFence
.
Remove log message warning of obsolescence of vkCreateMacOSSurfaceMVK()
and vkCreateIOSSurfaceMVK()
functions.
Report error only on the first time a format substitution is made.
Streamline design and use of MVKSemaphore
.
Consolidate the various linkable objects into a MVKLinkableMixin
template base class.
Use MVKVector
whenever possible in MoltenVK, especially within render loop.
No longer prefer dedicated allocations for buffer memory, including buffer-backed images.
Handle the compositeAlpha
member of VkSwapchainCreateInfoKHR
.
VkPhysicalDevicePortabilitySubsetFeaturesEXTX::events
set to true
.
Always submit surface presentations using MTLCommandBuffer
.
MVKConfiguration::presentWithCommandBuffer
is now obsolete.
Don't use MTLCommandBuffer push/popDebugGroup
if not available.
MVKSwapchain::signalWhenAvailable()
add autoreleasepool around MTLCommandBuffer
use.
Add ability to automatically cause an Xcode GPU capture without developer intervention.
Update VK_MVK_MOLTENVK_SPEC_VERSION
to version 22.
Update dependency libraries to match Vulkan SDK 1.1.121.
Update to renaming of VK_INTEL_shader_integer_functions2
enums and structs in latest Vulkan headers.
Update to latest SPIRV-Cross version:
Support the SPV_EXT_fragment_shader_interlock
extension.
MSL: Deal with array copies from and to threadgroup.
MSL: Deal with Modf/Frexp
where output is access chain to scalar.
MSL: Inline all emitted functions.
MSL: Inline all non-entry-point functions.
MSL: Add {Base,}{Vertex,Instance}{,Index}
to bitcast_from_builtin_load
.
MSL: Add support for sampler Y'CbCr conversion.
MSL: Force storage images on iOS to use discrete descriptors.
MSL: Support dynamic offsets for buffers in argument buffers.
MSL: Cleanup temporary use with emit_uninitialized_temporary
.
MSL: Unify the get_*_address_space()
methods.
Assume image and sampler can be RelaxedPrecision
.
Fix post-depth coverage for ESSL.
Fix variable scope when switch block exits multiple times.
Fix severe performance issue with invariant expression invalidation.
Fix ParsedIR::mark_used_as_array_length(uint32_t id)
Deal correctly with sign on bitfield operations.
Elide branches to continue block when continue block is also a merge.
Move branchless analysis to CFG.
Deal with ldexp
taking uint
input.
Do not allow base expressions for non-native row-major matrices.
Do not force temporary unless continue-only for loop dominates.
Fix ParsedIR::mark_used_as_array_length(uint32_t id)
.
Refactor into stronger types in public API.
You can’t perform that action at this time.