0x00000000 in ?? ()
(gdb) f 1
#1 0xb7960627 in _tnl_VertexAttrib3fARB (index=19, x=1, y=0.5, z=0.25)
472 tnl->vtx.tabfv[index][3-1]( &z );
(gdb) p index
$1 = 19
_tnl_VertexAttrib3fARB (and other functions in t_vtx_generic.) have the
following code snippet:
if (index >= MAX_VERTEX_ATTRIBS)
index = ERROR_ATTRIB;
index += VERT_ATTRIB_GENERIC0;
MAX_VERTEX_ATTRIBS == VERT_ATTRIB_GENERIC0 == 16, and tabfv only has 17 slots,
so this doesn't make sense.
The segfault happened with the r300 driver, but it doesn't seem to be driver
Created attachment 5376 [details] [review]
Don't add VERT_ATTRIB_GENERIC0 to the indices
I'm guessing the fix doesn't need to be applied to _tnl_VertexAttrib3fARB only.
We're kind of mid-way through some vertex attrib changes. Previously the
generic vertex attribs aliased the conventional attribs. With OpenGL 2.0,
however, the generic attribs are separate from the conventional attribs (no
aliasing). I'll have to examine some other code before making these changes.
Works for me now.
Mass version move, cvs -> git