Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: KhronosGroup/MoltenVK
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.4.1
Choose a base ref
...
head repository: KhronosGroup/MoltenVK
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
  • 8 commits
  • 16 files changed
  • 2 contributors

Commits on Nov 26, 2025

  1. Fix buffer and heap out-of-sync in initExternalMemory()

    If a buffer is created before a heap in MVKDeviceMemory, the buffer would
    be used in some places (for example `MVKDeviceMemory::map` and the heap
    would be used in other places (for example `MVKBuffer::getMTLBuffer()`).
    This leads to inconsistent memory mappings.
    
    Specifically, there are two cases when this happens:
    1. When `vkAllocateMemory` is called with an imported buffer.
    2. When `vkAllocateMemory` expects `HANDLE_TYPE_MTLBUFFER` to be exported.
    
    In either case, `ensureMTLBuffer()` gets called before `ensureMTLHeap()`
    which sets `_mtlBuffer` to a buffer not allocated from the placement heap.
    
    This change fixes this by making sure that if a placement heap is needed,
    we will always create it prior to allocating the buffer. In cases where
    the heap is not used at all (imported buffer), we will return error if the
    user tries to specify a `HANDLE_TYPE_MTLHEAP` for export.
    osy committed Nov 26, 2025
    Configuration menu
    Copy the full SHA
    8961682 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2025

  1. Fix incorrect varable usage in MVKImagePlane::getMTLTexture()

    `_mtlTexture` can still be nil at this point which means that we may
    have a memoryless texture attempt to get added to the residency set.
    osy committed Dec 1, 2025
    Configuration menu
    Copy the full SHA
    d748ad7 View commit details
    Browse the repository at this point in the history
  2. Introduce KHR_external_semaphore_fd only for FD==-1

    There is a special use case for when importing/exporting a semaphore of
    handle type `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT` and FD == -1.
    According to the Vulkan specs, calling `vkImportSemaphoreFdKHR` has the
    effect of signaling the binary semaphore and calling `vkGetSemaphoreFdKHR`
    has the effect of waiting on the binary semaphore.
    
    Outside of KHR_external_semaphore_fd extension, there is no other way to
    achieve this behaviour. For example, `vkWaitSemaphores` does not operate
    on a binary semaphore and there is no other defined way for a CPU to send
    a signal operation.
    
    In theory, we can use EXT_metal_objects and export the VkSemaphore to a
    `MTLSharedEvent` but we do not have access to the `MVKSemaphoreMTLEvent` in
    order to determine the `_mtlEventValue` (last encoded wait value).
    
    This functionality is required to implement Venus on macOS which uses these
    functions to synchronize the guest semaphore state to the host.
    osy committed Dec 1, 2025
    Configuration menu
    Copy the full SHA
    2f1358e View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2025

  1. Merge pull request #2669 from osy/submit/fix-getmtltexture

    Fix incorrect variable usage in `MVKImagePlane::getMTLTexture()`
    billhollings authored Dec 12, 2025
    Configuration menu
    Copy the full SHA
    4055c60 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2670 from osy/submit/semaphore-fd

    Introduce KHR_external_semaphore_fd only for FD==-1
    billhollings authored Dec 12, 2025
    Configuration menu
    Copy the full SHA
    2c3f25d View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2667 from osy/main

    Fix buffer and heap out-of-sync in initExternalMemory()
    billhollings authored Dec 12, 2025
    Configuration menu
    Copy the full SHA
    d6d49e0 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2025

  1. Update version to 1.4.2.

    - Update to latest SPIRV-Cross.
    - Add top CMake file to Xcode projects to support editing versions in future.
    - Update documentation.
    billhollings committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    9b11b2a View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2673 from billhollings/update-version

    Update version to 1.4.2.
    billhollings authored Dec 13, 2025
    Configuration menu
    Copy the full SHA
    bf60f60 View commit details
    Browse the repository at this point in the history
Loading