On Sat, 03 Jan 2004 22:06:27 +0000 Keith Whitwell <[EMAIL PROTECTED]> wrote:
> Felix Kühling wrote: > > Hi, > > > > I was wondering why flightgear was so slow so I did some profiling and > > debugging. And I found out that apperently the entire vtxfmt code path > > is not working. I believe the root cause is that radeonNotifyBegin is > > never called with current Mesa. So the driver's own vtxfmt functions are > > never installed into the exec API. > > > > As evidence, when I run > > > > RADEON_DEBUG=vfmt fgfs > > > > I get no debugging output at all. Also profile output shows some > > functions that should never be used if vtxfmt was working (e.g. > > tnl_Vertex3fv). > > > > I couldn't figure out how to fix this. Whatever I tried gave me > > segfaults :(. It's also hard to figure out where tnl->Driver.NotifyBegin > > should be called. I couldn't find any central _mesa_Begin function, only > > tnl_Begin which is a function of a different vtxfmt. Does anyone know > > how this is supposed to work? > > Felix, > > This is something that changed as a result of the recent rework in the tnl/ > module in mesa. The NotifyBegin thing was always a bit of a hack, and > hopefully we can work out a better replacement. It would be good to try and > do this perhaps from the r200ValidateState() function. Poke around, well done Isn't r200ValidateState called too late? _tnl_Begin calls (through _mesa_update_state) the driver's UpdateState callback which is r200InvalidateState. _tnl_Begin assumes that the driver has installed its own vtxfmt when _mesa_update_state returns. So the right place to call r200ValidateVtxfmt may be r200InvalidateState. This is what I proposed in my first patch. But I think this would be overkill since r200InvalidateState is called in many more situations. Also this didn't seem to work 100% correctly. > for spotting the bug, but it'll be a couple of days before I'm able to look at it. > > Keith ------------ __\|/__ ___ ___ ------------------------- Felix ___\_e -_/___/ __\___/ __\_____ You can do anything, Kühling (_____\Ä/____/ /_____/ /________) just not everything [EMAIL PROTECTED] \___/ \___/ U at the same time. ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel