This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
Re: Probable bug in WGL implementation (AIGLX) of GLX calls in XWin -wgl
On 16/10/2012 21:34, Tim Edwards wrote:
>> The current implementation of GLX using WGL takes a few shortcuts, basically
>> anything that is drawn with OpenGL isn't composed into the screen, it's just
>> drawn on top of it.
>
> I wouldn't want to sound too peevish, as I was quite happy to find that
> OpenGL hardware acceleration was even possible, as it was not on the
> previous version of Cygwin that I had downloaded. That it fails in
> obscure applications is sort of to be expected.
>
>> This works well enough when the GLX window is a top-level window, or is
>> non-top-level and has no occluding relatives and is drawn after anything it
>> occludes, but mis-renders in more complex scenarios.
>>
>> This is discussed a bit more in [1]
>>
>> As mentioned there I have done a bit of work fix the mis-rendering in some
>> cases. I can't quite tell from you description exactly what's going wrong, so
>> I am not sure if those changes are going to help in this particular case.
>>
>> I have built a test release including the changes discussed there, available
>> at [2], if you would like to test if it makes things better/worse/no
>> difference.
>
> I downloaded the link, ran the X server, ran my application, and get no
> difference in the behavior.
Ok. Thanks for testing, anyhow.
>
>> The proper solution is probably something like rendering the OpenGL to an
>> offscreen buffer, and then composing it into the un-occluded area of the
>> window, but that is considerably more complex to implement.
>
> The two problems with this approach are that (1) I have found more
> buggy implementations in OpenGL servers by doing offscreen rendering;
> and (2) this particular tool is a VLSI layout editor and must be
> rendered directly on the front buffer. The general approach is to
> render everything as fast as possible and always be willing to break
> on key interrupt to start over. And I have misappropriated the back
> buffer for backing store purposes. . .
Sorry, I wasn't clear here. I'm not suggesting that the application should be
changed. I'm just describing a possible approach to fixing this problem in
the X server.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/