Indirect OpenGL -- partially working?

Ilya Anfimov ilan at tzirechnoy.com
Thu Jun 16 09:03:49 UTC 2016


On Wed, Jun 15, 2016 at 05:05:28PM -0700, L. A. Walsh wrote:
> 
> 
> 
> 
> Thomas L??bking wrote:
> >On Tue, May 31, 2016 at 08:33:14AM -0700, L. A. Walsh wrote:
> >>Glynn Clements wrote:
> >>>L. A. Walsh wrote:
> >>>
> >>>>I have sometimes gotten some GLX programs to work for a short while,
> >>>>but more often than not, I don't get them to work at all.
> >>>
> >>>The most likely reason for this is that the program needs a later
> >>>version of OpenGL than Cygwin's X server provides.
> >>----
> >>  Hmmm....what does this mean, then?
> >>OpenGL vendor string: NVIDIA Corporation
> >>OpenGL renderer string: GeForce GTX 590/PCIe/SSE2
> >>OpenGL version string: 1.4 (4.5.0 NVIDIA 355.98)
> >
> >Indirect GL is confined to GL 1.4 (ie. fixed function path, notably no
> >glsl)
> >The driver and GPU support 4.5, but only on direct contexts.
> >
> >You should check whether indirect GL works generally (there're somet
> >pitfalls), ie. whether glxgears works.
> >If so, you best contact the authors of the failing GL clients and ask
> >whether they provide a fixed function path (and how to select it)
> ----
> Glx gears draws the gears but they don't move.

 Yes, interesting set of bugs.
 Drawing requests from glxgears are small, and X11 holds a lot of
them in it's receive buffers. Sometime ago I had ~16k requests on
nvidia card with nvidia driver.
 As  the  new glxgears calculates per-frame rotation from fps, it
receives very large fps value (16k requests gets out  almost  in-
stantly)  and  sets  very  low per-frame rotation. On the screen,
however, there is usually 60 fps rendering speed -- as it is sync
to vblank.
 This results in the very slow visible gear motion.

 Also,  after  pulling  16k requests, glx would stack and prevent
glxgears from pulling more. This would  result  in  glxgears  not
printing it's fps results for some time.

 And even suspended glxgears would draw something for minutes.

 Well,  XFlush()  after  frame drawing in glxgears would fix that
more or less fine.



More information about the xorg mailing list