Add do_row_3d for mipmapping 3D textures
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 19 Dec 2008 21:03:51 +0000 (13:03 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 19 Dec 2008 21:06:53 +0000 (13:06 -0800)
commitf83f5ec8f5f1159cfd0ec2596ceab725c073266e
tree770f0fe2fcaa75d2920519ff1ed3ba5c87809fb1
parenta330933bb75c38148668637cd22b90d75d39506f
Add do_row_3d for mipmapping 3D textures

Previously 3D textures were mipmapped using multiple passed through
the 2D mipmap generation code.  This had 3 disadvantages.  First, the
extra passes were slow.  Second, this required the allocation of a
temporary buffer to hold intermediate data.  Third, and most
important, the extra passes caused loss of additional bits due to
integer division / bit-shifting.

With this change, our mipmapgen conformance test passes for
non-compressed texture formats.
src/mesa/main/mipmap.c