Leif,
After some debugging it seems I was right: the texture unit isn't being
updated for enabling multitexturing before drawing the primitives.
In case you want to reproduce do the following:
gdb multiarb
run
(on my laptop there is an math exception because there is no SSE2
so I grab the opportunity mach64.so is loaded to make some breakpoints)
break mach64ChooseVertex
break mach64_texstate.c:410
break mach64_draw_quad
continue
continue
...
...
(when it gets in mach64_draw_quad quite unless you want experience
the lock)
quit
For the mach64_draw_quad breakpoint to work you have to disable the inline
function expansion:
--- mach64_tris.c 6 Mar 2002 03:07:05 -0000 1.1.6.8
+++ mach64_tris.c 8 Mar 2002 01:30:00 -0000
@@ -116,7 +116,7 @@
COPY_DWORDS( j, vb, vertsize, v2 );
}
#else
-static __inline void mach64_draw_quad( mach64ContextPtr mmesa,
+/*static __inline*/ void mach64_draw_quad( mach64ContextPtr mmesa,
mach64VertexPtr v0,
mach64VertexPtr v1,
mach64VertexPtr v2,
You'll see that mach64UpdateTextureUnit is not being called between the
ChooseVertex sets multitex to 1 and _draw_quad.
Why and how to fix I still didn't look figured it out (I'm going now to
bed, but I wanted to let you know before that).
BTW, I've stopped trying to enable the PCI thing. I just made a fresh
checkout because I was wasting too much time and wasn't getting nowhere
since the X didn't even started properly. When I get some more time I try
to repeat the changes incrementally to see whats's breaking.
Regards,
Jos� Fonseca
PS: It's sad to know that mipmapping is really broken, but it was nice
that you made that check on windows, so that now we can focus on more
important things.
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel