[Dri-devel] Marbleblast & UT2003.

2003-02-23 Thread Adam K Kirchhoff

Hello all,

I thought I should send out an e-mail reporting on some changes
with bugs that I initially reported on this list.

With the DRI trunk and a Radeon 8500, I'm happy to say that
Marbleblast now plays pretty much flawlessly.  In fact, where I was
getting strange rendering issues with the FireGL drivers from ATI, the DRI
drivers rendering everything perfectly.  The only thing I've noticed
that's still lacking is an option in the game to enable stencil shadows,
which doesn't seem to do anything.  Is this supported with the DRI?

Also, there are still pretty significant rendering errors with
the latest patch for UT2003 (Patch 2199).  You can see a screen shot at
http://memory.visualtech.com/shot.png

On the plus side, I'm no longer getting the computer lockups I was
originally getting after "playing" the game for a few minutes.

Adam





---
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] MarbleBlast

2003-02-13 Thread Ian Romanick
Adam K Kirchhoff wrote:


Program received signal SIGSEGV, Segmentation fault.
r200UpdateTextureEnv (ctx=0x8391a38, unit=0) at r200_texstate.c:739
739const GLenum format = tObj->Image[tObj->BaseLevel]->Format;
(gdb) bt
#0  r200UpdateTextureEnv (ctx=0x8391a38, unit=0) at r200_texstate.c:739
#1  0x40cc5419 in disable_tex (ctx=0x8391a38, unit=0) at
r200_texstate.c:1401


I finally got Marble Blast and was able to reproduce this. 
Unfortunatly, this was caused by some of my recent changes. :(  The 
problem is that in if texture unit 1 is enabled and texture unit 0 is 
disabled, disable_tex will call r200UpdateTextureEnv to put it into a 
"pass through" mode.  This is apparently as close as the r200 can get to 
disabling a texture unit.  When the unit is disabled, texUnit->_Current 
will be NULL.  Therefore, tObj will also be NULL.

In any case, here is a patch against the trunk that should fix the 
problem.  I verified the fix by playing a few levels of Marble Blast. 
Cute game.  It reminds me of Super Monkey Ball 2, but it's not quite as 
annoying. :)

This won't need to be applied to the mesa-4-0-4 branch as the problem 
was never introduced there.
Index: lib/GL/mesa/src/drv/r200/r200_texstate.c
===
RCS file: /cvsroot/dri/xc/xc/lib/GL/mesa/src/drv/r200/r200_texstate.c,v
retrieving revision 1.11
diff -u -d -r1.11 r200_texstate.c
--- lib/GL/mesa/src/drv/r200/r200_texstate.c7 Feb 2003 20:07:03 -   1.11
+++ lib/GL/mesa/src/drv/r200/r200_texstate.c13 Feb 2003 23:27:49 -
@@ -748,16 +748,18 @@
 {
r200ContextPtr rmesa = R200_CONTEXT(ctx);
const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
-   const struct gl_texture_object *tObj = texUnit->_Current;
-   const GLenum format = tObj->Image[tObj->BaseLevel]->Format;
GLuint color_combine, alpha_combine;
GLuint color_scale = rmesa->hw.pix[unit].cmd[PIX_PP_TXCBLEND2];
GLuint alpha_scale = rmesa->hw.pix[unit].cmd[PIX_PP_TXABLEND2];
 
+   /* texUnit->_Current can be NULL if and only if the texture unit is
+* not actually enabled.
+*/
+   assert( (texUnit->_ReallyEnabled == 0)
+  || (texUnit->_Current != NULL) );
 
if ( R200_DEBUG & DEBUG_TEXTURE ) {
-  fprintf( stderr, "%s( %p, %d ) format=%s\n", __FUNCTION__,
-  ctx, unit, _mesa_lookup_enum_by_nr( format ) );
+  fprintf( stderr, "%s( %p, %d )\n", __FUNCTION__, ctx, unit );
}
 
/* Set the texture environment state.  Isn't this nice and clean?
@@ -775,6 +777,8 @@
   alpha_combine = r200_alpha_combine[unit][R200_DISABLE];
}
else {
+  const struct gl_texture_object *tObj = texUnit->_Current;
+  const GLenum format = tObj->Image[tObj->BaseLevel]->Format;
   GLuint color_arg[3], alpha_arg[3];
   GLuint i, numColorArgs = 0, numAlphaArgs = 0;
   GLuint RGBshift = texUnit->CombineScaleShiftRGB;
@@ -1064,6 +1068,10 @@
 
 case GL_DOT3_RGB_EXT:
 case GL_DOT3_RGBA_EXT:
+   /* The EXT version of the DOT3 extension does not support the
+* scale factor, but the ARB version (and the version in OpenGL
+* 1.3) does.
+*/
RGBshift = 0;
Ashift = 0;
/* FALLTHROUGH */
@@ -1188,9 +1196,7 @@
 }
 
 /* Step 3:
- * Apply the scale factor.  The EXT version of the DOT3 extension does
- * not support the scale factor, but the ARB version (and the version in
- * OpenGL 1.3) does.
+ * Apply the scale factor.
  */
 color_scale &= ~R200_TXC_SCALE_MASK;
 alpha_scale &= ~R200_TXA_SCALE_MASK;



Re: [Dri-devel] MarbleBlast

2003-02-05 Thread Adam K Kirchhoff

On Wed, 5 Feb 2003, Ian Romanick wrote:

> Adam K Kirchhoff wrote:
> > So there's this really great game from Garagegames called
> > MarbleBlast, which they've ported to Linux.  Game requires TNT2 and higher
> > or Radeon 8500 and higher.  It plays just fine on my Radeon 8500 using the
> > ATI FireGL drivers, but segfaults when trying to use the opensource
> > drivers:
> >
> > Program received signal SIGFPE, Arithmetic exception.
> > [Switching to Thread 16384 (LWP 2053)]
> > 0x40c9fa70 in _mesa_test_os_sse_exception_support () from
> > /usr/X11R6/lib/modules/dri/r200_dri.so
> > (gdb) bt
> > #0  0x40c9fa70 in _mesa_test_os_sse_exception_support () from
> > /usr/X11R6/lib/modules/dri/r200_dri.so
> > #1  0x40c9f7e7 in check_os_sse_support () at common_x86.c:191
>
> This is a FAQ x 1,000,000.  This is not a crash or anything bad.  This
> is the driver trying to detect if you CPU supports the SSE instruction
> set.  Type 'continue' and move on. :)

So I've been told :-)

> Is there a demo version of this game available?  If so, it would be
> useful for testing.

http://www.garagegames.com/pg/demo.php?id=3

Have fun :-)  It's quite an addictive little game.

Adam




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] MarbleBlast

2003-02-05 Thread Alan Cox
On Wed, 2003-02-05 at 22:58, Adam K Kirchhoff wrote:
> Hello all,
> 
>   So there's this really great game from Garagegames called
> MarbleBlast, which they've ported to Linux.  Game requires TNT2 and higher
> or Radeon 8500 and higher.  It plays just fine on my Radeon 8500 using the
> ATI FireGL drivers, but segfaults when trying to use the opensource
> drivers:
> 
> Program received signal SIGFPE, Arithmetic exception.
> [Switching to Thread 16384 (LWP 2053)]
> 0x40c9fa70 in _mesa_test_os_sse_exception_support () from
> /usr/X11R6/lib/modules/dri/r200_dri.so

This is meant to happen. Its testing if FPE works. What you want to do
is ignore the FPU exceptions in gdb, then run it and get the real
segfault

> 


---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] MarbleBlast

2003-02-05 Thread Adam K Kirchhoff

> > Program received signal SIGFPE, Arithmetic exception.
> > [Switching to Thread 16384 (LWP 2053)]
> > 0x40c9fa70 in _mesa_test_os_sse_exception_support () from
>
> This is expected, just press 'c' to continue.  Look at the name of the
> function -- it's deliberately trying to raise an exception.

D'oh..  Thanks Keith and Leif.  Can't believe I messed that up...

Anyway, here's the important output:

(gdb) c
Continuing.
[New Thread 32769 (LWP 1136)]
[New Thread 16386 (LWP 1137)]
[New Thread 32771 (LWP 1138)]
[New Thread 49156 (LWP 1139)]

Program received signal SIGSEGV, Segmentation fault.
r200UpdateTextureEnv (ctx=0x8391a38, unit=0) at r200_texstate.c:739
739const GLenum format = tObj->Image[tObj->BaseLevel]->Format;
(gdb) bt
#0  r200UpdateTextureEnv (ctx=0x8391a38, unit=0) at r200_texstate.c:739
#1  0x40cc5419 in disable_tex (ctx=0x8391a38, unit=0) at
r200_texstate.c:1401
#2  0x40cc5966 in r200UpdateTextureUnit (ctx=0x8391a38, unit=0) at
r200_texstate.c:1644
#3  0x40cc598a in r200UpdateTextureState (ctx=0x8391a38) at
r200_texstate.c:1656
#4  0x40caa521 in r200ValidateState (ctx=0x8391a38) at r200_state.c:2036
#5  0x40cc8c42 in r200NotifyBegin (ctx=0x8391a38, p=5) at
r200_vtxfmt.c:918
#6  0x40c771d7 in _tnl_Begin (mode=5) at t_imm_api.c:215
#7  0x40c77301 in _tnl_hard_begin (ctx=0x8391a38, p=5) at t_imm_api.c:245
#8  0x40c7517a in fallback_drawelements (ctx=0x8391a38, mode=5, count=9,
indices=0x850ea10) at t_array_api.c:65
#9  0x40c7572f in _tnl_DrawElements (mode=5, count=9, type=5123,
indices=0x4091ec3c)
at t_array_api.c:336

I'll gladly test what I can.

Adam




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] MarbleBlast

2003-02-05 Thread Ian Romanick
Adam K Kirchhoff wrote:

	So there's this really great game from Garagegames called
MarbleBlast, which they've ported to Linux.  Game requires TNT2 and higher
or Radeon 8500 and higher.  It plays just fine on my Radeon 8500 using the
ATI FireGL drivers, but segfaults when trying to use the opensource
drivers:

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 16384 (LWP 2053)]
0x40c9fa70 in _mesa_test_os_sse_exception_support () from
/usr/X11R6/lib/modules/dri/r200_dri.so
(gdb) bt
#0  0x40c9fa70 in _mesa_test_os_sse_exception_support () from
/usr/X11R6/lib/modules/dri/r200_dri.so
#1  0x40c9f7e7 in check_os_sse_support () at common_x86.c:191


This is a FAQ x 1,000,000.  This is not a crash or anything bad.  This 
is the driver trying to detect if you CPU supports the SSE instruction 
set.  Type 'continue' and move on. :)

Is there a demo version of this game available?  If so, it would be 
useful for testing.



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] MarbleBlast

2003-02-05 Thread Keith Whitwell
Adam K Kirchhoff wrote:

Hello all,

	So there's this really great game from Garagegames called
MarbleBlast, which they've ported to Linux.  Game requires TNT2 and higher
or Radeon 8500 and higher.  It plays just fine on my Radeon 8500 using the
ATI FireGL drivers, but segfaults when trying to use the opensource
drivers:

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 16384 (LWP 2053)]
0x40c9fa70 in _mesa_test_os_sse_exception_support () from


This is expected, just press 'c' to continue.  Look at the name of the 
function -- it's deliberately trying to raise an exception.

Keith




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] MarbleBlast

2003-02-05 Thread Leif Delgass
You need to continue past this exception to get to the segfault.  This is 
just Mesa testing for SSE.

On Wed, 5 Feb 2003, Adam K Kirchhoff wrote:

> 
> Hello all,
> 
>   So there's this really great game from Garagegames called
> MarbleBlast, which they've ported to Linux.  Game requires TNT2 and higher
> or Radeon 8500 and higher.  It plays just fine on my Radeon 8500 using the
> ATI FireGL drivers, but segfaults when trying to use the opensource
> drivers:
> 
> Program received signal SIGFPE, Arithmetic exception.
> [Switching to Thread 16384 (LWP 2053)]
> 0x40c9fa70 in _mesa_test_os_sse_exception_support () from
> /usr/X11R6/lib/modules/dri/r200_dri.so
> (gdb) bt
> #0  0x40c9fa70 in _mesa_test_os_sse_exception_support () from
> /usr/X11R6/lib/modules/dri/r200_dri.so
> #1  0x40c9f7e7 in check_os_sse_support () at common_x86.c:191
> #2  0x40c9f96d in _mesa_init_all_x86_transform_asm () at common_x86.c:275
> #3  0x40c1b557 in _math_init () at m_xform.c:218
> #4  0x40bada66 in one_time_init (ctx=0x8391a38) at context.c:564
> #5  0x40bafee0 in _mesa_initialize_context (ctx=0x8391a38,
> visual=0xbfffbc40, share_list=0x0,
> driver_ctx=0x838e908, direct=1) at context.c:1663
> #6  0x40bb083f in _mesa_create_context (visual=0xbfffbc40, share_list=0x0,
> driver_ctx=0x838e908, direct=1)
> at context.c:1900
> #7  0x40ca483f in r200CreateContext (glVisual=0xbfffbc40,
> driContextPriv=0x838d350, sharedContextPrivate=0x0)
> at r200_context.c:252
> #8  0x40b9ca94 in driCreateContext (dpy=0x8381a50, vis=0x838ce20,
> sharedPrivate=0x0, pctx=0x838e0d4)
> at dri_util.c:852
> #9  0x40b53a07 in CreateContext (dpy=0x8381a50, vis=0x838ce20,
> shareList=0x0, allowDirect=1, contextID=0)
> at glxcmds.c:184
> #10 0x40b53b19 in glXCreateContext (dpy=0x8381a50, vis=0x838ce20,
> shareList=0x0, allowDirect=1) at glxcmds.c:221
> #11 0x4004cab9 in X11_GL_CreateContext () from /usr/lib/libSDL-1.2.so.0
> #12 0x4005086d in X11_CheckMouseMode () from /usr/lib/libSDL-1.2.so.0
> #13 0x40050b9a in X11_CheckMouseMode () from /usr/lib/libSDL-1.2.so.0
> #14 0x4004690d in SDL_SetVideoMode () from /usr/lib/libSDL-1.2.so.0
> 
>   Any ideas what might be causing this?
> 
> Adam
> 
> 
> 
> 
> ---
> This SF.NET email is sponsored by:
> SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
> http://www.vasoftware.com
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel
> 

-- 
Leif Delgass 
http://www.retinalburn.net



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] MarbleBlast

2003-02-05 Thread Adam K Kirchhoff

Hello all,

So there's this really great game from Garagegames called
MarbleBlast, which they've ported to Linux.  Game requires TNT2 and higher
or Radeon 8500 and higher.  It plays just fine on my Radeon 8500 using the
ATI FireGL drivers, but segfaults when trying to use the opensource
drivers:

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 16384 (LWP 2053)]
0x40c9fa70 in _mesa_test_os_sse_exception_support () from
/usr/X11R6/lib/modules/dri/r200_dri.so
(gdb) bt
#0  0x40c9fa70 in _mesa_test_os_sse_exception_support () from
/usr/X11R6/lib/modules/dri/r200_dri.so
#1  0x40c9f7e7 in check_os_sse_support () at common_x86.c:191
#2  0x40c9f96d in _mesa_init_all_x86_transform_asm () at common_x86.c:275
#3  0x40c1b557 in _math_init () at m_xform.c:218
#4  0x40bada66 in one_time_init (ctx=0x8391a38) at context.c:564
#5  0x40bafee0 in _mesa_initialize_context (ctx=0x8391a38,
visual=0xbfffbc40, share_list=0x0,
driver_ctx=0x838e908, direct=1) at context.c:1663
#6  0x40bb083f in _mesa_create_context (visual=0xbfffbc40, share_list=0x0,
driver_ctx=0x838e908, direct=1)
at context.c:1900
#7  0x40ca483f in r200CreateContext (glVisual=0xbfffbc40,
driContextPriv=0x838d350, sharedContextPrivate=0x0)
at r200_context.c:252
#8  0x40b9ca94 in driCreateContext (dpy=0x8381a50, vis=0x838ce20,
sharedPrivate=0x0, pctx=0x838e0d4)
at dri_util.c:852
#9  0x40b53a07 in CreateContext (dpy=0x8381a50, vis=0x838ce20,
shareList=0x0, allowDirect=1, contextID=0)
at glxcmds.c:184
#10 0x40b53b19 in glXCreateContext (dpy=0x8381a50, vis=0x838ce20,
shareList=0x0, allowDirect=1) at glxcmds.c:221
#11 0x4004cab9 in X11_GL_CreateContext () from /usr/lib/libSDL-1.2.so.0
#12 0x4005086d in X11_CheckMouseMode () from /usr/lib/libSDL-1.2.so.0
#13 0x40050b9a in X11_CheckMouseMode () from /usr/lib/libSDL-1.2.so.0
#14 0x4004690d in SDL_SetVideoMode () from /usr/lib/libSDL-1.2.so.0

Any ideas what might be causing this?

Adam




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel