summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_wsi.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-11-02 09:11:11 -0700
committerJason Ekstrand <[email protected]>2016-11-09 18:17:29 -0800
commit843775bab78a6b4d5cb4f02bd95d9d0e95c1c5e3 (patch)
treebde610776326ede7ed7affc67cb596cd13bfb7e1 /src/intel/vulkan/anv_wsi.c
parent73701be667ae408772bf20cb504b70d1775d4a4b (diff)
anv: Rework fences
Our previous fence implementation was very simple. Fences had two states: signaled and unsignaled. However, this didn't properly handle all of the edge-cases that we need to handle. In order to handle the case where the client calls vkGetFenceStatus on a fence that has not yet been submitted via vkQueueSubmit, we need a three-status system. In order to handle the case where the client calls vkWaitForFences on fences which have not yet been submitted, we need more complex logic and a condition variable. It's rather annoying but, so long as the client doesn't do that, we should still hit the fast path and use i915_gem_wait to do all our waiting. Signed-off-by: Jason Ekstrand <[email protected]> Cc: "13.0" <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_wsi.c')
-rw-r--r--src/intel/vulkan/anv_wsi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_wsi.c b/src/intel/vulkan/anv_wsi.c
index 61d5db07979..b95e965a317 100644
--- a/src/intel/vulkan/anv_wsi.c
+++ b/src/intel/vulkan/anv_wsi.c
@@ -334,7 +334,7 @@ VkResult anv_AcquireNextImageKHR(
/* Thanks to implicit sync, the image is ready immediately. */
if (fence)
- fence->ready = true;
+ fence->state = ANV_FENCE_STATE_SIGNALED;
return result;
}