Leif Delgass wrote:
On Thu, 2 Jan 2003, Daniel Vogel wrote:


A bit unrelated:


Log: OpenGL Error: GL_INVALID_ENUM (UOpenGLRenderDevice::Unlock)
(if anyone wants the full log let me know)
On OS X 10.2.3 this is caused by

glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_SRC_COLOR );

This is indeed one of the sources of the GL_INVALID_ENUMs; however, it
appears to be a bug in Mesa.  There seems to be a missing break after
texstate.c:423 :

--- texstate.c  Tue Jan 21 17:10:15 2003
+++ texstate.fixed.c    Tue Jan 21 17:11:19 2003
@@ -421,6 +421,7 @@
                  return;
               FLUSH_VERTICES(ctx, _NEW_TEXTURE);
               texUnit->CombineOperandRGB[2] = operand;
+              break;
            default:
                TE_ERROR(GL_INVALID_ENUM, "glTexEnv(param=%s)", operand);
               return;

Brian, does that look right to you?
Yes. There should be a break there. I'm surprised this wasn't found when running the texcombine conformance test or Glean test. Hmmm.

I'll check in this change to the Mesa CVS branches. Can you do it for the DRI CVS branches?


The other INVALID_ENUMS appear to be caused by an assumption that GL_ARB_texture_cube_map is supported, which it isn't in the current DRI Radeon driver. There appear to be calls to glDisable and glTexParameter using GL_TEXTURE_CUBE_MAP_ARB even thought the extension isn't supported. At least that's what I found with MESA_DEBUG=1 just from the intro/menu screens.
I tried exporting GL_ARB_texture_cube_map from the Radeon driver and along with the above patch, it makes all the OpenGL errors go away. The lack of combine3/4 seems to be handled in the version I'm using (from the UT2003.log):

Init: OpenGL: WARNING: no support for combine3/4 extensions -> not all blend modes supported

However, I still see the same corruption reported before. This could be in part because of the missing cube map support, but it looks to me like something is causing vertex data corruption. Just a guess.
Cube mapping works in the R200 driver with one caveat: glTexCoord3*() commands don't work. Normally, a texgen mode like GL_REFLECT is used with cube maps so the texcoords are generated in hardware. The h/w vertex setup code needs to be updated to handle 3-component texture coords.

Not sure if this is the problem you're seeing though. The Mesa/demos/cubemap program shows the problem.

-Brian



-------------------------------------------------------
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to