diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2016-11-02 09:11:11 -0700 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2016-11-23 13:56:49 +0000 |
commit | 8dab75a2eef2fc4d63416a42df651268c135b34a (patch) | |
tree | 4c2bcd3c404a43bdb7581e8e54212c42e80e133f /src/vulkan/wsi/wsi_common_wayland.c | |
parent | 64c818d6a6586c8be9992018ffac5aedf390a8d7 (diff) | |
download | external_mesa3d-8dab75a2eef2fc4d63416a42df651268c135b34a.zip external_mesa3d-8dab75a2eef2fc4d63416a42df651268c135b34a.tar.gz external_mesa3d-8dab75a2eef2fc4d63416a42df651268c135b34a.tar.bz2 |
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 <jason@jlekstrand.net>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 843775bab78a6b4d5cb4f02bd95d9d0e95c1c5e3)
Diffstat (limited to 'src/vulkan/wsi/wsi_common_wayland.c')
0 files changed, 0 insertions, 0 deletions