Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for extension VK_KHR_synchronization2 #2021

Merged

Conversation

billhollings
Copy link
Contributor

  • MVKPhysicalDevice add support for VkPhysicalDeviceSynchronization2Features.
  • Pass sync2 structs to MVKPipelineBarrier, MVKCmdPipelineBarrier, MVKCmdSetEvent, MVKCmdResetEvent, MVKCmdWaitEvents, MVKRenderPass, MVKQueue & MVKQueueSubmission.
  • Replace use of VkPipelineStageFlags & VkAccessFlags with VkPipelineStageFlags2 & VkAccessFlags2.
  • Add stage masks to MVKPipelineBarrier, and redefine apply*MemoryBarrier() functions to remove separately passing stage masks.
  • Add MVKSemaphoreSubmitInfo to track semaphores in MVKQueueSubmission.
  • Add MVKCommandBufferSubmitInfo to track command buffers in MVKQueueCommandBufferSubmission.
  • Add MVKSubpassDependency to combine VkSubpassDependency & VkMemoryBarrier2 in MVKRenderPass.
  • Remove abstract MVKCmdSetResetEvent superclass.
  • Streamline code in MVKMTLFunction::operator= (unrelated).

Implements issue #1514.

MoltenVK/MoltenVK/API/mvk_datatypes.h Show resolved Hide resolved
MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm Outdated Show resolved Hide resolved
- MVKPhysicalDevice add support for VkPhysicalDeviceSynchronization2Features.
- Pass sync2 structs to MVKPipelineBarrier, MVKCmdPipelineBarrier, MVKCmdSetEvent,
  MVKCmdResetEvent, MVKCmdWaitEvents, MVKRenderPass, MVKQueue & MVKQueueSubmission.
- Replace use of VkPipelineStageFlags & VkAccessFlags
  with VkPipelineStageFlags2 & VkAccessFlags2.
- Add stage masks to MVKPipelineBarrier, and redefine apply*MemoryBarrier()
  functions to remove separately passing stage masks.
- Add MVKSemaphoreSubmitInfo to track semaphores in MVKQueueSubmission.
- Add MVKCommandBufferSubmitInfo to track command buffers
  in MVKQueueCommandBufferSubmission.
- Add MVKSubpassDependency to combine VkSubpassDependency & VkMemoryBarrier2 in MVKRenderPass.
- Remove abstract MVKCmdSetResetEvent superclass.
- Streamline code in MVKMTLFunction::operator= (unrelated).
@billhollings billhollings merged commit 6a4271c into KhronosGroup:main Sep 19, 2023
@billhollings billhollings deleted the VK_KHR_synchronization2 branch September 19, 2023 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants