Please do not reply to this email: if you want to comment on the bug, go to    
       
the URL shown below and enter yourcomments there.     
   
https://bugs.freedesktop.org/show_bug.cgi?id=7984          
     
           Summary: Display lists cause GL_INVALID_OPERATION when
                    glGetError() called if GL_COMPILE_AND_EXECUTE used with
                    large lists
           Product: Mesa
           Version: 6.4
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Mesa core
        AssignedTo: mesa3d-dev@lists.sourceforge.net
        ReportedBy: [EMAIL PROTECTED]


Ok this one is really obscure...

If you use Mesa to build a display list using GL_COMPILE_AND_EXECUTE and call
glGetError() inside the list then glGetError() returns GL_INVALID_OPERATION
after calling glEndList(). Also the list needs to contain a large number of
commands.

This was discovered using the Python OpenGL bindings - they call glGetError()
frequently and generate an exception if an error has occured.

I'm really not sure what is going but here are some hints I have been picking 
up:

o  The bug seems to be based on the number of commands in the display list, i.e.
if you replace the triangles with GL_QUADS then only approx. 1000 * 3 / 4 = 750
iterations are required.

o By using less vertices the bug still occurs if the display list is built
multiple times - it appears it occurs when the total number of commands hits a
threshold of approx. 3000.

Architecture: Intel Pentium 4 (at least two types), AMD XP2000+
OS: Ubuntu 6.06
Repeatable: Always
Occurs in versions: 6.4.1 (from Ubuntu 6.06) and 6.4.2 (from Mesa sf.net page).
Does not occur in ATI fglrx Linux drivers.

Here is a basic example that generates the error:
glNewList(4, GL_COMPILE_AND_EXECUTE); // Must be GL_COMPILE_AND_EXECUTE
glBegin(GL_TRIANGLES);
for(i = 0; i < 1000; i++) // Must be 1000 triangles in one frame to occur
{
   glVertex3f(-0.8, -0.8, 1.0);
   glVertex3f(0.8, -0.8, 1.0);
   glVertex3f(0.0, 0.8, 1.0);
}
glGetError();
glEnd();
glEndList();
printf("Error=%i\n", glGetError()); // Prints "Error = 1282"          
     
     
--           
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email         
     
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to