[Mesa-dev] [PATCH 2/2] anv/wsi: fix apps that acquire multiple images up front

Dave Airlie airlied at gmail.com
Thu Oct 13 02:44:03 UTC 2016


From: Dave Airlie <airlied at redhat.com>

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.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/intel/vulkan/anv_wsi_wayland.c | 1 +
 src/intel/vulkan/anv_wsi_x11.c     | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/intel/vulkan/anv_wsi_wayland.c b/src/intel/vulkan/anv_wsi_wayland.c
index afce96f..e6cc09f 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 010c86c..5748506 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;
          }
       }
-- 
2.5.5



More information about the mesa-dev mailing list