In the code to set MaxTextureLevels in the Rage128 and Radeon drivers, 
4 bytes/texel is assumed when calculating for the max texture size.  If we
always convert to 2 bytes/texel for a 16bpp screen when choosing texture
formats, shouldn't that be factored into the calculation?  So we'd use
mach64Screen->cpp for the calculation instead of a fixed 4 bytes/texel?
Then the comparison would be:

if mach64Screen->texSize[0] >= 
   2 * mach64Screen->cpp * 1024 * 1024, then MaxTextureLevels = 11
else if mach64Screen->texSize[0] >= 
   2 * mach64Screen->cpp * 512  * 512 , then MaxTextureLevels = 10
else MaxTextureLevels = 9 (256x256)

This should apply to Rage128 and Radeon as well.  Am I missing something 
here?

-- 
Leif Delgass 
http://www.retinalburn.net


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to