guys,
 
as i have mentioned before i am working on adding s3tc texture compression support to the savage driver. i have added code to the savage driver based upon the radeon driver (and patches). the code i have added only supports uploading pre-compressed textures. as also previously mentioned, i have tested the code and texture on a different computer that uses nvidia's driver and everything works.
 
as it stands now, i have the compressed texture showing up but it does not look right. the colors are all messed up. the proportions and layout of the texture are correct.
 
i set the size of the texture from the compressedSize variable in the texture struct. i set the width and height from the formulas in the radeon driver. width = (ImageWidthUncompressed / 4) x 16. height = ImageHeightUncompressed / 4. the "16" in the width formula is used for DXT3 and DXT5, "8" is used for DXT1. this width and height are used as input to the tile upload code, as well as inputs to the texture registers (width & height in power of 2).
 
i have tried using all possible internal formats for s3tc, as enumerated in savage_bci.h, but none make the picture look any better. in fact, most make it look worse so i think i have these right.
 
i have also tried using a diffeerent bytes per texel which affects how the tiles are uploaded. currently i am using 1 byte per texel.
 
it seems that the right amount of data is getting uploaded. i have played with the formulas (i.e. width and height just divided by 4 instead of the current disproportional values) and the texture appears distorted in proportion and composition.
 
does anyone have an idea?
mark

Reply via email to