summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Natalie <jenatali@microsoft.com>2023-05-05 11:16:00 -0700
committerMarge Bot <emma+marge@anholt.net>2023-05-15 17:14:20 +0000
commit7cc59ad9736ddaaeeeeee7bc5c2f21c0b1df6be1 (patch)
tree7613e319bc45f6cdd7175636027628fb421baea3
parenteec07cdde4cba653c8ca778f41e3ef6124bbc76b (diff)
downloadmesa-7cc59ad9736ddaaeeeeee7bc5c2f21c0b1df6be1.tar.gz
dzn: Finish implementing KHR_synchronization2
This was already mostly implemented. Without this, the synchronization2 sharing tests will crash, because there's a CTS bug that's missing a skip check for Windows. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22879>
-rw-r--r--src/microsoft/vulkan/dzn_cmd_buffer.c34
-rw-r--r--src/microsoft/vulkan/dzn_device.c1
2 files changed, 13 insertions, 22 deletions
diff --git a/src/microsoft/vulkan/dzn_cmd_buffer.c b/src/microsoft/vulkan/dzn_cmd_buffer.c
index 1942628631b..06118dee6ec 100644
--- a/src/microsoft/vulkan/dzn_cmd_buffer.c
+++ b/src/microsoft/vulkan/dzn_cmd_buffer.c
@@ -5376,9 +5376,9 @@ dzn_CmdBindIndexBuffer(VkCommandBuffer commandBuffer,
}
VKAPI_ATTR void VKAPI_CALL
-dzn_CmdResetEvent(VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask)
+dzn_CmdResetEvent2(VkCommandBuffer commandBuffer,
+ VkEvent event,
+ VkPipelineStageFlags2 stageMask)
{
VK_FROM_HANDLE(dzn_cmd_buffer, cmdbuf, commandBuffer);
VK_FROM_HANDLE(dzn_event, evt, event);
@@ -5388,9 +5388,9 @@ dzn_CmdResetEvent(VkCommandBuffer commandBuffer,
}
VKAPI_ATTR void VKAPI_CALL
-dzn_CmdSetEvent(VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask)
+dzn_CmdSetEvent2(VkCommandBuffer commandBuffer,
+ VkEvent event,
+ const VkDependencyInfo *pDependencyInfo)
{
VK_FROM_HANDLE(dzn_cmd_buffer, cmdbuf, commandBuffer);
VK_FROM_HANDLE(dzn_event, evt, event);
@@ -5400,17 +5400,10 @@ dzn_CmdSetEvent(VkCommandBuffer commandBuffer,
}
VKAPI_ATTR void VKAPI_CALL
-dzn_CmdWaitEvents(VkCommandBuffer commandBuffer,
- uint32_t eventCount,
- const VkEvent *pEvents,
- VkPipelineStageFlags srcStageMask,
- VkPipelineStageFlags dstStageMask,
- uint32_t memoryBarrierCount,
- const VkMemoryBarrier *pMemoryBarriers,
- uint32_t bufferMemoryBarrierCount,
- const VkBufferMemoryBarrier *pBufferMemoryBarriers,
- uint32_t imageMemoryBarrierCount,
- const VkImageMemoryBarrier *pImageMemoryBarriers)
+dzn_CmdWaitEvents2(VkCommandBuffer commandBuffer,
+ uint32_t eventCount,
+ const VkEvent *pEvents,
+ const VkDependencyInfo *pDependencyInfo)
{
VK_FROM_HANDLE(dzn_cmd_buffer, cmdbuf, commandBuffer);
@@ -5462,12 +5455,9 @@ dzn_CmdWaitEvents(VkCommandBuffer commandBuffer,
ID3D12GraphicsCommandList1_ResourceBarrier(cmdbuf->cmdlist, 1, &barrier);
}
}
- cmdbuf->vk.base.device->dispatch_table.CmdPipelineBarrier(
+ cmdbuf->vk.base.device->dispatch_table.CmdPipelineBarrier2(
vk_command_buffer_to_handle(&cmdbuf->vk),
- srcStageMask, dstStageMask, 0,
- memoryBarrierCount, pMemoryBarriers,
- bufferMemoryBarrierCount, pBufferMemoryBarriers,
- imageMemoryBarrierCount, pImageMemoryBarriers);
+ pDependencyInfo);
}
VKAPI_ATTR void VKAPI_CALL
diff --git a/src/microsoft/vulkan/dzn_device.c b/src/microsoft/vulkan/dzn_device.c
index edf94ecc7b1..2f38603fe19 100644
--- a/src/microsoft/vulkan/dzn_device.c
+++ b/src/microsoft/vulkan/dzn_device.c
@@ -127,6 +127,7 @@ dzn_physical_device_get_extensions(struct dzn_physical_device *pdev)
#ifdef DZN_USE_WSI_PLATFORM
.KHR_swapchain = true,
#endif
+ .KHR_synchronization2 = true,
.KHR_timeline_semaphore = true,
.KHR_uniform_buffer_standard_layout = true,
.EXT_descriptor_indexing = pdev->shader_model >= D3D_SHADER_MODEL_6_6,