Bug 2875 - Incorrect set of GLX extensions reported for remote display
Summary: Incorrect set of GLX extensions reported for remote display
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: GLX (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Ian Romanick
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 1690
  Show dependency treegraph
 
Reported: 2005-03-31 13:06 UTC by Ian Romanick
Modified: 2009-08-24 12:23 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Example of incorrect glxinfo output. (3.95 KB, text/plain)
2005-03-31 13:07 UTC, Ian Romanick
Details

Description Ian Romanick 2005-03-31 13:06:06 UTC
Running glxinfo on system A with DISPLAY set to system B, which is DRI capable,
results in the correct "server GLX extension", the correct "client GLX
extensions", but INCORRECT "GLX extensions".

I dug a bit into the code and it appears that libGL is acting as though direct
rendering is enabled, even though the display is remote (and direct rendering is
impossible).  Since the non-existant DRI driver didn't enable any GLX extensions
in its __driCreateNewScreen function, the extensions aren't enabled.

So, it looks like the test to determine whether or not direct rendering is
possible in glXQueryExtensionsString is wrong.
Comment 1 Ian Romanick 2005-03-31 13:07:10 UTC
Created attachment 2278 [details]
Example of incorrect glxinfo output.
Comment 2 Ian Romanick 2005-07-01 10:12:31 UTC
Assigning bug to myself.  I should have a patch by July 7th or so.
Comment 3 Ian Romanick 2005-08-06 05:15:01 UTC
Fixed by looking at driScreen.private instead of driDisplay.private.

In order to create the set of available extensions, we have to know if
direct-rendering is possible on a given screen.  It is not possible to determine
this by just looking at driDisplay.private in the display structure.  However,
it is possible to determine this by looking at driScreen.private in the screen
structure.  This field is only non-NULL if a DRI driver has been successfully
loaded and bootstrapped.  Once we get to that point, we know that
direct-rendering is at least theoretically possible.
Comment 4 Adam Jackson 2009-08-24 12:23:07 UTC
Mass version move, cvs -> git


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.