[i915] fix texture size exceed limit case when running celestia

This commit is contained in:
Zou Nan hai 2008-02-26 17:20:12 +08:00
parent 32879e1461
commit 9bd2cb7f90
1 changed files with 3 additions and 1 deletions

View File

@ -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