intel: Merge check_blit_fragment_ops between i915/i965.

Both had some useful bits for the other.
This commit is contained in:
Eric Anholt
2008-06-24 11:34:42 -07:00
parent 90d33edf37
commit f23adc504d
4 changed files with 9 additions and 28 deletions
+1
View File
@@ -19,6 +19,7 @@ DRIVER_SOURCES = \
intel_regions.c \
intel_screen.c \
intel_span.c \
intel_pixel.c \
intel_pixel_copy.c \
intel_pixel_bitmap.c \
intel_state.c \
+1
View File
@@ -0,0 +1 @@
../intel/intel_pixel.c
@@ -70,34 +70,6 @@ copypix_src_region(struct intel_context *intel, GLenum type)
return NULL;
}
/**
* Check if any fragment operations are in effect which might effect
* glDraw/CopyPixels.
*/
GLboolean
intel_check_blit_fragment_ops(GLcontext * ctx)
{
if (ctx->NewState)
_mesa_update_state(ctx);
return !(ctx->_ImageTransferState ||
ctx->RenderMode != GL_RENDER ||
ctx->Color.AlphaEnabled ||
ctx->Depth.Test ||
ctx->Fog.Enabled ||
ctx->Stencil.Enabled ||
!ctx->Color.ColorMask[0] ||
!ctx->Color.ColorMask[1] ||
!ctx->Color.ColorMask[2] ||
!ctx->Color.ColorMask[3] || /* can do this! */
ctx->Texture._EnabledUnits ||
ctx->FragmentProgram._Enabled ||
ctx->Color.BlendEnabled);
}
/* Doesn't work for overlapping regions. Could do a double copy or
* just fallback.
*/
+7
View File
@@ -99,6 +99,11 @@ intel_check_blit_fragment_ops(GLcontext * ctx)
return GL_FALSE;
}
if (ctx->RenderMode != GL_RENDER) {
DBG("fallback due to render mode\n");
return GL_FALSE;
}
return GL_TRUE;
}
@@ -157,7 +162,9 @@ intelInitPixelFuncs(struct dd_function_table *functions)
if (!getenv("INTEL_NO_BLIT")) {
functions->Bitmap = intelBitmap;
functions->CopyPixels = intelCopyPixels;
#ifdef I915
functions->ReadPixels = intelReadPixels;
functions->DrawPixels = intelDrawPixels;
#endif
}
}