radv: mark the fence as submitted and signalled in vkAcquireNextImageKHR

This stops the debug layers from complaining when fences are used to
throttle image acquisition.

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 0a153f4ee4)
This commit is contained in:
Fredrik Höglund 2016-10-25 20:31:41 +02:00 committed by Emil Velikov
parent cc5995d9e6
commit 8ec30b87c0
3 changed files with 18 additions and 9 deletions

View file

@ -44,12 +44,6 @@
#include "util/debug.h"
struct radv_dispatch_table dtable;
struct radv_fence {
struct radeon_winsys_fence *fence;
bool submitted;
bool signalled;
};
static VkResult
radv_physical_device_init(struct radv_physical_device *device,
struct radv_instance *instance,

View file

@ -1206,6 +1206,13 @@ void radv_initialise_cmask(struct radv_cmd_buffer *cmd_buffer,
struct radv_image *image, uint32_t value);
void radv_initialize_dcc(struct radv_cmd_buffer *cmd_buffer,
struct radv_image *image, uint32_t value);
struct radv_fence {
struct radeon_winsys_fence *fence;
bool submitted;
bool signalled;
};
#define RADV_DEFINE_HANDLE_CASTS(__radv_type, __VkType) \
\
static inline struct __radv_type * \

View file

@ -318,13 +318,21 @@ VkResult radv_AcquireNextImageKHR(
VkSwapchainKHR _swapchain,
uint64_t timeout,
VkSemaphore semaphore,
VkFence fence,
VkFence _fence,
uint32_t* pImageIndex)
{
RADV_FROM_HANDLE(wsi_swapchain, swapchain, _swapchain);
RADV_FROM_HANDLE(radv_fence, fence, _fence);
return swapchain->acquire_next_image(swapchain, timeout, semaphore,
pImageIndex);
VkResult result = swapchain->acquire_next_image(swapchain, timeout, semaphore,
pImageIndex);
if (fence && result == VK_SUCCESS) {
fence->submitted = true;
fence->signalled = true;
}
return result;
}
VkResult radv_QueuePresentKHR(