[Mesa-dev] [PATCH] radv: handle queue present directly to winsys
Edward O'Callaghan
funfunctor at folklore1984.net
Fri Dec 23 07:30:46 UTC 2016
Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>
On 12/23/2016 05:26 PM, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> Don't call the QueueSubmit interface, just call direct to the
> winsys, so we can pass the wait semaphores.
>
> Noticed while debugging doom, doesn't fix anything.
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
> src/amd/vulkan/radv_wsi.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/src/amd/vulkan/radv_wsi.c b/src/amd/vulkan/radv_wsi.c
> index 1f1ab1c..2eb8e45 100644
> --- a/src/amd/vulkan/radv_wsi.c
> +++ b/src/amd/vulkan/radv_wsi.c
> @@ -362,7 +362,15 @@ VkResult radv_QueuePresentKHR(
> 1, &swapchain->fences[0]);
> }
>
> - radv_QueueSubmit(_queue, 0, NULL, swapchain->fences[0]);
> + RADV_FROM_HANDLE(radv_fence, fence, swapchain->fences[0]);
> + struct radeon_winsys_fence *base_fence = fence->fence;
> + struct radeon_winsys_ctx *ctx = queue->device->hw_ctx;
> + queue->device->ws->cs_submit(ctx, queue->queue_idx,
> + &queue->device->empty_cs[queue->queue_family_index],
> + 1,
> + (struct radeon_winsys_sem **)pPresentInfo->pWaitSemaphores,
> + pPresentInfo->waitSemaphoreCount, NULL, 0, false, base_fence);
> + fence->submitted = true;
>
> result = swapchain->queue_present(swapchain,
> pPresentInfo->pImageIndices[i]);
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161223/967fb85e/attachment-0001.sig>
More information about the mesa-dev
mailing list