Hi,

as I'm trying to port the savage driver I stumbled over this. The mga
and r128 drivers define different values for DEPTH_SCALE in xxx_tris.c.
This is a parameter of t_dd_tritmp.h and specifies the minimum
resolvable unit of depth coordinates for computing polygon offsets. In
mgatris.c it is defined as mmesa->depth_scale, while in r128_tris.c it
is defined as 1.0. I couldn't find any difference in the way the two
drivers setup vertices (including the hw_viewport matrix **) that would
explain the difference. I'm wondering which one is correct. My guess
based on my vague memory of how the projection transformation works is
mga, but I may be wrong. Any ideas?

Regards,
  Felix

** Actually there is a difference, but it does not affect the z
coordinates. In mga the drawable position is added to the x and y
coordinates. R128 has a register specifying the viewport offset.

------------    __\|/__    ___     ___       -------------------------
 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

Reply via email to