[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