From 9bd2cb7f90ac434ec5be7d388f899976bf902dc1 Mon Sep 17 00:00:00 2001 From: Zou Nan hai Date: Tue, 26 Feb 2008 17:20:12 +0800 Subject: [PATCH] [i915] fix texture size exceed limit case when running celestia --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index 941f7a6..3209545 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -180,6 +180,7 @@ int intel_miptree_pitch_align (struct intel_context *intel, struct intel_mipmap_tree *mt, int pitch) { + GLcontext *ctx = &intel->ctx; if (!mt->compressed) { int pitch_align; @@ -201,7 +202,8 @@ int intel_miptree_pitch_align (struct intel_context *intel, * of 1024 and sometimes 512 bytes - performance can drop by several * times. Go to the next multiple of the required alignment for now. */ - if (!(pitch & 511)) + if (!(pitch & 511) && + (pitch + pitch_align) < (1 << ctx->Const.MaxTextureLevels)) pitch += pitch_align; #endif -- 2.7.4