<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [i915] Feature request: Add support for fencing for PRIME setups"
href="https://bugs.freedesktop.org/show_bug.cgi?id=95472#c25">Comment # 25</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [i915] Feature request: Add support for fencing for PRIME setups"
href="https://bugs.freedesktop.org/show_bug.cgi?id=95472">bug 95472</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>Hmm, I am definitely seeing fences being passed from nouveau to i915 with DRI3.
Can you please try with something like:
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 98294f1..55a54cd 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -1442,6 +1442,8 @@ static int eb_add_reservations(struct reservation_object
*resv,
if (!fence_get_rcu(fence))
continue;
+ printk(KERN_ERR "third party read fence\n");
+
ret = kfence_await_dma_fence(&req->submit, fence,
GFP_NOWAIT |
__GFP_NOWARN);
fence_put(fence);
@@ -1452,6 +1454,7 @@ static int eb_add_reservations(struct reservation_object
*resv,
fence = rcu_dereference(resv->fence_excl);
if (fence && !fence_is_i915(fence) && fence_get_rcu(fence)) {
+ printk(KERN_ERR "third party write fence\n");
ret = kfence_await_dma_fence(&req->submit, fence,
GFP_NOWAIT | __GFP_NOWARN);
just to make sure we are seeing the fences?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>