a few missed cases where blits can't do read/drawpixels

This commit is contained in:
Keith Whitwell 2006-02-25 15:33:48 +00:00
parent ffcc1cdb41
commit 4e8845fc0c
2 changed files with 9 additions and 3 deletions

View file

@ -26,6 +26,7 @@
**************************************************************************/
#include "enums.h"
#include "state.h"
#include "swrast/swrast.h"
#include "intel_context.h"
@ -35,7 +36,11 @@
GLboolean intel_check_blit_fragment_ops( const GLcontext *ctx )
{
return !(ctx->Color.AlphaEnabled ||
if (ctx->NewState)
_mesa_update_state(ctx);
return !(ctx->_ImageTransferState ||
ctx->Color.AlphaEnabled ||
ctx->Depth.Test ||
ctx->Fog.Enabled ||
ctx->Scissor.Enabled ||

View file

@ -183,12 +183,13 @@ static GLboolean do_blit_readpixels( GLcontext *ctx,
}
if (!intel_check_blit_format(src, format, type)) {
if (ctx->_ImageTransferState ||
!intel_check_blit_format(src, format, type)) {
_mesa_printf("%s - bad format for blit\n", __FUNCTION__);
return GL_FALSE;
}
if (pack->SwapBytes || pack->LsbFirst) {
if (pack->Alignment != 1 || pack->SwapBytes || pack->LsbFirst) {
_mesa_printf("%s: bad packing params\n", __FUNCTION__);
return GL_FALSE;
}