[sldev] Opensl on SPARC..... Not yet....

David Fries david at fries.net
Tue Apr 17 18:29:18 PDT 2007


On Mon, Apr 16, 2007 at 09:23:50AM -0400, Dana Fagerstrom wrote:
> Folks,
> 
> I've been quietly watching this alias.  One of my new tasks is to get a 
> Solaris pkg of the viewer built for x86/x64 and SPARC.  Though these 
> aren't "official" builds the work should help opensl.  I have an x86 
> version of the pkg done but discovered that my graphics card doesn't 
> support 32-bit color.  Therefore I have yet to test it.  Once I get an 
> appropriate platform for testing I plan on using DTrace to look for hot 
> spots in the code.

Try the included patch.  slviewer requests a 24 bit depth buffer, and
the software mesa driver only provides a 16 bit depth buffer.  One of
these days I should rework the patch to find out what is available
instead of just blindly trying a 16 bit depth buffer.

This will let you make progress, slowly rendered progress though.  Or
do you have a hardware accelerated graphics card that doesn't support
a 24 bit depth buffer?  Just look at the output of glxinfo in the column.

dp
bf

-- 
David Fries <david at fries.net>
http://fries.net/~david/ (PGP encryption key available)
-------------- next part --------------
Index: llwindowsdl.cpp
===================================================================
RCS file: /home/david/src/.cvs/programming/SecondLife/linden/indra/llwindow/llwindowsdl.cpp,v
retrieving revision 1.1
diff -u -r1.1 llwindowsdl.cpp
--- llwindowsdl.cpp	28 Feb 2007 04:43:12 -0000	1.1
+++ llwindowsdl.cpp	28 Feb 2007 04:52:45 -0000
@@ -393,6 +393,13 @@
 		}
 
 		mWindow = SDL_SetVideoMode(width, height, bits, sdlflags | SDL_FULLSCREEN);
+		if (!mWindow)
+		{
+			llwarns << "createContext: window creation failure. SDL: " << SDL_GetError() << llendl;
+			llwarns << "createContext: Trying again with 16 bit depth buffer" << llendl;
+			SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
+			mWindow = SDL_SetVideoMode(width, height, bits, sdlflags);
+		}
 
 		if (mWindow)
 		{
@@ -435,6 +442,13 @@
 
 		llinfos << "createContext: creating window " << width << "x" << height << "x" << bits << llendl;
 		mWindow = SDL_SetVideoMode(width, height, bits, sdlflags);
+		if (!mWindow)
+		{
+			llwarns << "createContext: window creation failure. SDL: " << SDL_GetError() << llendl;
+			llwarns << "createContext: Trying again with 16 bit depth buffer" << llendl;
+			SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
+			mWindow = SDL_SetVideoMode(width, height, bits, sdlflags);
+		}
 
 		if (!mWindow)
 		{


More information about the SLDev mailing list