summaryrefslogtreecommitdiffstats
path: root/src/vulkan
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-11-02 09:11:11 -0700
committerEmil Velikov <emil.l.velikov@gmail.com>2016-11-23 13:56:49 +0000
commit8dab75a2eef2fc4d63416a42df651268c135b34a (patch)
tree4c2bcd3c404a43bdb7581e8e54212c42e80e133f /src/vulkan
parent64c818d6a6586c8be9992018ffac5aedf390a8d7 (diff)
downloadexternal_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')
0 files changed, 0 insertions, 0 deletions