Ticket #171 (assigned usability)

Opened 2 years ago

Last modified 5 months ago

XGetImage() fails for GL windows

Reported by: michael.mccarty@… Owned by: jeremyhu@…
Priority: Important Milestone: later
Component: GLX Version: 2.3.1 (xserver-1.4)
Keywords: Cc:

Description

I'm porting an X11 application to OS X and there's a section of code that uses XGetImage() to get the color of the pixel below the mouse cursor (i.e. XGetImage(dpy,d,x,y,1,1,...) ). This works as expected unless the cursor happens to be over a GL window in which case it simply returns the X window background color.

Change History

Changed 2 years ago by jeremyhu@…

  • version changed from 2.1.4 (xserver-1.3) to 2.3.1 (xserver-1.4)
  • milestone set to OpenGL.framework DRI

Changed 2 years ago by jeremyhu@…

  • owner changed from jeremyhu@… to gstaplin@…

Changed 19 months ago by gstaplin@…

Unfortunately this is a known problem. The way that the Xplugin surfaces work with OpenGL and XQuartz is that they are layered above the actual window used for X11 rendering, so the surface stacks above the other memory for the window. When you call XGetImage you get none of the actual OpenGL content. I have some ideas for working around this that I have experimented with, but nothing concrete the completely solves the problem. For now, you can work around it with glReadPixels and things like that.

Changed 11 months ago by jeremyhu@…

  • owner changed from gstaplin@… to jeremyhu@…

Changed 5 months ago by jeremyhu@…

  • status changed from new to assigned
  • component changed from xserver to Xplugin

Changed 5 months ago by wsiegrist@…

  • component changed from Xplugin to GLX

Changed 5 months ago by jeremyhu@…

  • milestone changed from OpenGL.framework DRI to later
Note: See TracTickets for help on using tickets.