summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2016-10-13 12:43:07 +1000
committerDave Airlie <[email protected]>2016-10-14 04:45:11 +1000
commit8980ac041167fb5a80be76e2f912b96117afa2cf (patch)
tree58971c0b7e204b8d8c1d87391431bbca14a31f0a
parent8bdac874e667179bd2682f0111cd7db58b858e5b (diff)
anv/wsi: fix apps that acquire multiple images up front
This fix was found in the radv codebase when running dota2, no idea if anyone has reported it on anv, but the same problem occurs. Once an image is acquired we need to mark it busy. Acked-by: Edward O'Callaghan <[email protected]> Cc: "12.0" <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r--src/intel/vulkan/anv_wsi_wayland.c1
-rw-r--r--src/intel/vulkan/anv_wsi_x11.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_wsi_wayland.c b/src/intel/vulkan/anv_wsi_wayland.c
index afce96f2df4..e6cc09ff216 100644
--- a/src/intel/vulkan/anv_wsi_wayland.c
+++ b/src/intel/vulkan/anv_wsi_wayland.c
@@ -523,6 +523,7 @@ wsi_wl_swapchain_acquire_next_image(struct anv_swapchain *anv_chain,
if (!chain->images[i].busy) {
/* We found a non-busy image */
*image_index = i;
+ chain->images[image_index].busy = true;
return VK_SUCCESS;
}
}
diff --git a/src/intel/vulkan/anv_wsi_x11.c b/src/intel/vulkan/anv_wsi_x11.c
index 010c86c4f26..57485060322 100644
--- a/src/intel/vulkan/anv_wsi_x11.c
+++ b/src/intel/vulkan/anv_wsi_x11.c
@@ -574,6 +574,7 @@ x11_acquire_next_image(struct anv_swapchain *anv_chain,
/* We found a non-busy image */
xshmfence_await(chain->images[i].shm_fence);
*image_index = i;
+ chain->images[i].busy = true;
return VK_SUCCESS;
}
}