softpipe: clean up lod computation
authorRoland Scheidegger <sroland@vmware.com>
Sat, 9 Feb 2013 02:42:17 +0000 (18:42 -0800)
committerRoland Scheidegger <sroland@vmware.com>
Sat, 9 Feb 2013 02:54:40 +0000 (18:54 -0800)
commit75d99673a8f47f62458034b0566d6c0221fae5d1
treee55fb994549b7747626e3f66a1d9c04e2a8e0e19
parent4f1d757b8617e83f6a5e55f8dd9c8ddd45e32da3
softpipe: clean up lod computation

This should handle the new lod_zero modifier more correctly.
The runtime-conditional is a bit more complex however we now also do
scalar lod computation when appropriate which should more than make up for it.
The refactoring should also fix an issue with explicit lods
(lod clamp wasn't applied to them).
Also, always pass lod as the 5th element from tgsi executor, which simplifies
things (get rid of annoying conditionals later).

v2: based on Brian's feedback, use switch in a couple of places, fix up
some function parameter names, fix up comments.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/tgsi/tgsi_exec.h
src/gallium/drivers/softpipe/sp_tex_sample.c
src/gallium/drivers/softpipe/sp_tex_sample.h