intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.
authorEric Anholt <eric@anholt.net>
Tue, 12 Oct 2010 21:08:00 +0000 (14:08 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 12 Oct 2010 21:08:00 +0000 (14:08 -0700)
The format selection of the CopyTexSubImage is pretty bogus still, but
this at least avoids software fallbacks in nexuiz, bringing
performance from 7.5fps to 12.8fps on my machine.

src/mesa/drivers/dri/intel/intel_tex_copy.c

index 6efb2ddc553e21acfaa26462920c2ebf9c89c1a0..d59b8711f23dbd50564616632bf8e764ffcf1758 100644 (file)
@@ -72,6 +72,7 @@ get_teximage_source(struct intel_context *intel, GLenum internalFormat)
       if (irb && irb->region && irb->region->cpp == 4)
          return irb->region;
       return NULL;
+   case 4:
    case GL_RGBA:
    case GL_RGBA8:
       irb = intel_renderbuffer(intel->ctx.ReadBuffer->_ColorReadBuffer);
@@ -82,6 +83,7 @@ get_teximage_source(struct intel_context *intel, GLenum internalFormat)
       if (irb->Base._BaseFormat == GL_RGB)
         return NULL;
       return irb->region;
+   case 3:
    case GL_RGB:
    case GL_RGB8:
       return intel_readbuf_region(intel);