[Mesa-dev] [Bug 106337] eglWaitClient() doesn't work as documented using DRI2 backend

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed May 2 18:31:54 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=106337

--- Comment #7 from Tapani Pälli <lemody at gmail.com> ---
(In reply to Mike Gorchak from comment #6)
> I was able to test your changes and had to add following addition to the
> intel_screen.c:
> 
> @@ -171,7 +176,7 @@
>  }
> 
>  static const struct __DRI2flushExtensionRec intelFlushExtension = {
> -    .base = { __DRI2_FLUSH, 4 },
> +    .base = { __DRI2_FLUSH, 5 },

sorry did not remember to bump the version

>      .flush              = intel_dri2_flush,
>      .invalidate         = dri2InvalidateDrawable,
> 
> Now I can confirm that it flushes all data to drawable surface and waits for
> it properly. Speed has been decreases dramatically, only a bit better than
> glFinish(). I think we cannot do too much with it.

OK, yeah depending on the usecase you could perhaps do multibuffering

> Another "issue", which I'm not sure if it is issue or expected behavior,
> related to this topic: when FBO is used together with surfaceless contexts. 
> 
> eglWaitClient() bails out with error if surfaceless contexts are in use to
> draw to FBO. Is this expected behavior?
> 
> Specification says: "All rendering calls for the currently bound context,
> for the current rendering API, made prior to eglWaitClient are guaranteed to
> be executed before native rendering calls made after eglWaitClient." and it
> doesn't mention "surfaces", only "contexts".

Right, this feels like another bug.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180502/29f90268/attachment.html>


More information about the mesa-dev mailing list