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

Reply via email to