summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i915/i830_texstate.c
diff options
context:
space:
mode:
authorDave Airlie <airliedfreedesktop.org>2004-07-15 10:47:13 +0000
committerDave Airlie <airliedfreedesktop.org>2004-07-15 10:47:13 +0000
commitc058917343e51610ddc4f1ad32e3f02d7c131129 (patch)
tree16bcf30f2e110205b694fe2b74bcff5df484638d /src/mesa/drivers/dri/i915/i830_texstate.c
parent78e19b5f9891705e845f2d21a4f7370504fd0d31 (diff)
downloadexternal_mesa3d-c058917343e51610ddc4f1ad32e3f02d7c131129.zip
external_mesa3d-c058917343e51610ddc4f1ad32e3f02d7c131129.tar.gz
external_mesa3d-c058917343e51610ddc4f1ad32e3f02d7c131129.tar.bz2
fix up heights for i830/i915 texture compression
Diffstat (limited to 'src/mesa/drivers/dri/i915/i830_texstate.c')
-rw-r--r--src/mesa/drivers/dri/i915/i830_texstate.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i915/i830_texstate.c b/src/mesa/drivers/dri/i915/i830_texstate.c
index 476ee19..39ba0b8 100644
--- a/src/mesa/drivers/dri/i915/i830_texstate.c
+++ b/src/mesa/drivers/dri/i915/i830_texstate.c
@@ -157,7 +157,15 @@ static GLboolean i830SetTexImages( i830ContextPtr i830,
t->intel.image[0][i].offset = total_height * pitch;
t->intel.image[0][i].internalFormat = baseImage->Format;
- total_height += MAX2(2, t->intel.image[0][i].image->Height);
+ if (t->intel.image[0][i].image->IsCompressed)
+ {
+ if (t->intel.image[0][i].image->Height > 4)
+ total_height += t->intel.image[0][i].image->Height/4;
+ else
+ total_height += 1;
+ }
+ else
+ total_height += MAX2(2, t->intel.image[0][i].image->Height);
}
t->intel.Pitch = pitch;