<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - Some Unity games fail assertion on startup in glXCreateContextAttribsARB"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99781#c20">Comment # 20</a>
on <a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - Some Unity games fail assertion on startup in glXCreateContextAttribsARB"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99781">bug 99781</a>
from <span class="vcard"><a class="email" href="mailto:psychon@znc.in" title="Uli Schlachter <psychon@znc.in>"> <span class="fn">Uli Schlachter</span></a>
</span></b>
<pre>Random guess for where the regression comes from:
X11DRV_expect_error() is used to say "I expect that the next request might
fail":
<a href="https://github.com/wine-mirror/wine/blob/6d801377055911d914226a3c6af8d8637a63fa13/dlls/winex11.drv/x11drv_main.c#L228-L241">https://github.com/wine-mirror/wine/blob/6d801377055911d914226a3c6af8d8637a63fa13/dlls/winex11.drv/x11drv_main.c#L228-L241</a>
...which is then used by the error handler to check if the error is expected
and should be ignored:
<a href="https://github.com/wine-mirror/wine/blob/6d801377055911d914226a3c6af8d8637a63fa13/dlls/winex11.drv/x11drv_main.c#L262-L271">https://github.com/wine-mirror/wine/blob/6d801377055911d914226a3c6af8d8637a63fa13/dlls/winex11.drv/x11drv_main.c#L262-L271</a>
So... apparently Wine wants to catch errors for "the next X11 request" while
mesa tries to invent errors that do not come from any X11 request.
Another random idea for a fix would be: Add a call to XSync(dpy, False) to the
"invent an error"-functions. That should guarantee that dpy->request ==
dpy->last_request_read and so it does not matter any more which of the two
sequence numbers mesa uses.
(Well, actually XSync() does a XGetInputFocus() internally, so mesa would then
use the sequence number of this GetInputFocus request for its claim that
something failed that never happened.)</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 the QA Contact for the bug.</li>
</ul>
</body>
</html>