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: [email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev