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>
This commit is contained in:
Jesse Natalie 2023-05-05 11:16:00 -07:00 committed by Marge Bot
parent eec07cdde4
commit 7cc59ad973
2 changed files with 13 additions and 22 deletions

View file

@ -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

View file

@ -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,