More in-depth tracing for when we pick an fbconfig for a visual that
we haven't seen attribs for (via glXChooseVisual).
I used this when an NVIDIA driver with specific Quadro card (and only
32-bit, not 64-bit!) was giving a weird StaticGrey 128bit visual when
_MatchConfig asked for something more regular. Turns out the spec says
the visual was legal, just not what you normally get. I think this
trace info is generally useful.
-Nathan
--
Open Text Connectivity Solutions Group
Nathan Kidd http://connectivity.opentext.com/
Research and Development Phone: +1 905 762 6001
[email protected] Toll Free: 1 877 359 4866
>From 467ae308e84a0a8a5e2428050f148fcd2ac56328 Mon Sep 17 00:00:00 2001
From: Nathan Kidd <[email protected]>
Date: Fri, 25 Feb 2011 13:32:52 -0500
Subject: [PATCH 1/2] Log local glXChooseFBConfig calls
More in-depth tracing for when we pick an fbconfig for a visual that
we haven't seen attribs for (via glXChooseVisual).
---
rr/faker-glx.cpp | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/rr/faker-glx.cpp b/rr/faker-glx.cpp
index 96d9d86..267d4d9 100644
--- a/rr/faker-glx.cpp
+++ b/rr/faker-glx.cpp
@@ -76,16 +76,16 @@ static GLXFBConfig _MatchConfig(Display *dpy, XVisualInfo *vis)
else
#endif
{
- configs=_glXChooseFBConfig(_localdpy, DefaultScreen(_localdpy), attribs, &n);
+ configs=glXChooseFBConfig(_localdpy, DefaultScreen(_localdpy), attribs, &n);
if((!configs || n<1) && attribs[11])
{
attribs[11]=0;
- configs=_glXChooseFBConfig(_localdpy, DefaultScreen(_localdpy), attribs, &n);
+ configs=glXChooseFBConfig(_localdpy, DefaultScreen(_localdpy), attribs, &n);
}
if((!configs || n<1) && attribs[1])
{
attribs[1]=0;
- configs=_glXChooseFBConfig(_localdpy, DefaultScreen(_localdpy), attribs, &n);
+ configs=glXChooseFBConfig(_localdpy, DefaultScreen(_localdpy), attribs, &n);
}
if(!configs || n<1) return 0;
}
@@ -108,7 +108,18 @@ GLXFBConfig *glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list,
TRY();
// Prevent recursion
- if(!_isremote(dpy)) return _glXChooseFBConfig(dpy, screen, attrib_list, nelements);
+ if(!_isremote(dpy))
+ {
+ opentrace(_glXChooseFBConfig); prargd(dpy); prargi(screen);
+ prargal13(attrib_list); starttrace();
+
+ configs = _glXChooseFBConfig(dpy, screen, attrib_list, nelements);
+
+ stoptrace(); if(configs) {prargc(configs[0]);}
+ if(nelements) {prargi(*nelements);} closetrace();
+
+ return configs;
+ }
////////////////////
opentrace(glXChooseFBConfig); prargd(dpy); prargi(screen);
--
1.6.3.3
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
VirtualGL-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtualgl-users