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>
This commit is contained in:
committed by
Dave Airlie
parent
f2770fb3d5
commit
0a153f4ee4
@@ -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,
|
||||
|
||||
@@ -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 * \
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user