Yes.  The "implementation" was too naive and didn't actually work.  GLX 
Pixmaps are implemented as Pbuffers behind the scenes in VirtualGL, so I 
was modifying the arguments of glXBindTexImageEXT() and 
glXReleaseTexImageEXT(), replacing "display" with the 3D X Server 
connection handle and "drawable" with the Pbuffer handle representing 
the GLX Pixmap.  Unfortunately, however, the underlying implementation 
of glXBindTexImageEXT() only works with an actual Pixmap, not a Pbuffer, 
so rather than leave a broken implementation in the code, I ripped it 
out until I could implement it properly.  I'm embarrassed to say that it 
has fallen off my radar until now.

Bearing in mind that GLXDrawables in VirtualGL are actually always 
GLXPbuffers, that is what will be passed into glXBindTexImageEXT(). 
Thus, that function would need to create a temporary GLXPixmap on the 3D 
X server, copy the pixels from the GLXPbuffer into the temporary 
GLXPixmap, then call glXBindTexImageEXT() in the underlying libGL, 
modifying the arguments accordingly so that it is invoked on the 3D X 
server using the temporary GLXPixmap.  Then, glXReleaseTexImageEXT() 
would copy the pixels back from the temporary GLXPixmap to the 
GLXPbuffer and destroy the temporary GLXPixmap.  There would have to be 
an additional hash added to track the relationship between GLXDrawable 
handles and temporary GLXPixmap handles.

This is all probably 3-5 hours of work, not including testing, so I'll 
try to find some time to look into it.

Unless I'm really missing something (which is always possible), I think 
the above will provide "minimal" support for the extension, but if 
history is any indication, there's probably some app somewhere that will 
figure out a clever way to break it by doing something that is not 
strictly kosher but which they can get away with on a "local" 
implementation.

On 1/11/13 3:09 AM, Leho Kraav wrote:
> Ohh, that's strange, I could've sworn 2.1.4 changelog said "implemented
> GLX_EXT_texture_from_pixmap for compiz". Did that get reverted somewhere
> on the way to 2.3+?

------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
_______________________________________________
VirtualGL-Users mailing list
VirtualGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to