Hi,

I recently discovered some problem with normal vectors in the gflux hack
on my Duron, Radeon 7500 with and without TCL, even with
RADEON_NO_RAST=1. LIBGL_ALWAYS_INDIRECT works correctly, though.

A workaround is MESA_NO_3DNOW=1. Another way is to normalize the normals
in gflux and change glEnable(GL_NORMALIZE) to
glEnable(GL_RESCALE_NORMAL). By playing around with the -squares option
of gflux I could determine that every 216th normal vector is not
normalized correctly.

The normalization function used is
_mesa_3dnow_transform_normalize_normals in
xc/extras/Mesa/src/X86/3dnow_normal.S. I don't understand where the
"magical" 216 comes from. My guess is that
_mesa_3dnow_transform_normalize_normals always gets 216 normals to
transform and forgets one of them (first one or last one, can't tell). I
hope this info helps someone to spot the error quickly.

Felix

               __\|/__    ___     ___     ___
__Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___
_____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____
  [EMAIL PROTECTED]    >o<__/   \___/   \___/        at the same time!


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to