http://bugs.freedesktop.org/show_bug.cgi?id=15202
Summary: glGetAttribLocation not supported in display list. Product: Mesa Version: CVS Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Mesa core AssignedTo: mesa3d-dev@lists.sourceforge.net ReportedBy: [EMAIL PROTECTED] Using glGetAttribLocation() in display list does not cause immediate execution but leads to an error message about some no-op dispatch. with git SHA1 ID 4e6c2c4f85914f89248da6414218f1fab6ae2584 (2008/03/25) How to reproduce: Starting with mesa/progs/demos/fslight.c Run fslight, so far, so good Set static GLint CoordAttrib = 1; at line 28, run fslight, so far so good. At line 46, add MyList in the list of variables for display list ids: static GLuint SphereList, RectList, CurList, MyList; Also, at line 517, there is a if(CoordAttrib) statement: Surround the following lines glBindAttribLocation_func(program, CoordAttrib, "coord"); i = glGetAttribLocation_func(program, "coord"); by: MyList = glGenLists(1); glNewList(MyList, GL_COMPILE); and: glEndList(); the code will look like: if (CoordAttrib) { int i; MyList = glGenLists(1); glNewList(MyList, GL_COMPILE); glBindAttribLocation_func(program, CoordAttrib, "coord"); i = glGetAttribLocation_func(program, "coord"); glEndList(); [...] Run fslight, it displays things fine but you get the following message: Mesa: CPU vendor: GenuineIntel Mesa: CPU name: Intel(R) Pentium(R) 4 CPU 3.00GHz Mesa: Mesa 7.1 DEBUG build Mar 25 2008 12:43:22 DiffusePos 8 SpecularPos 9 TexturePos -1 Mesa warning: User called no-op dispatch function (an unsupported extension function?) Mesa warning: User called no-op dispatch function (an unsupported extension function?) Hmmm, NVIDIA bug? GL_RENDERER = Mesa X11 Press p to toggle between per-pixel and per-vertex lighting The OpenGL 2.1 spec or the following extension spec http://www.opengl.org/registry/specs/ARB/vertex_shader.txt states that: Modify Section 5.4, Display Lists (p. 198) (change second paragraph, p. 202) Certain commands, when called when compiling a display list, are not compiled into the display list but are executed immediately. These are: IsList,...Flush, Finish, GetAttribLocationARB, GetActiveAttribARB, BindAttribLocationARB, VertexAttribPointerARB, EnableVertexAttribArrayARB, DisableVertexAttribArrayARB as well as IsEnabled and all of the Get commands defined in Section 6.1.12. This bug is the reason why the following VTK test is failing: http://public.kitware.com/CDash/testDetails.php?test=1583889&build=35612 This VTK test does not fail with other OpenGL implementations and does not fail with Mesa if we force VTK to not use display lists (force ImmediateModeRendering to true on the mapper). -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev