Merge branch 'llvm-cliptest-viewport'
[mesa.git] / src / mesa / x86 / mmx.h
index 0fad3988037c87de0435d12d66e98cf71c389724..d4bda07eade9fadfc3b2063e5d59aec8124a8f5b 100644 (file)
@@ -1,10 +1,8 @@
-/* $Id: mmx.h,v 1.3 2000/10/23 00:16:28 gareth Exp $ */
-
 /*
  * Mesa 3-D graphics library
- * Version:  3.5
+ * Version:  6.5.2
  *
- * Copyright (C) 1999  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
  */
 
 
-
-
-
 #ifndef ASM_MMX_H
 #define ASM_MMX_H
 
+#include "main/compiler.h"
+#include "main/mtypes.h"
 
 extern void _ASMAPI
-gl_mmx_blend_transparency( GLcontext *ctx, GLuint n, const GLubyte mask[],
-                                                  GLubyte rgba[][4], const GLubyte dest[][4] );
-
+_mesa_mmx_blend_transparency( struct gl_context *ctx, GLuint n, const GLubyte mask[],
+                              GLvoid *rgba, const GLvoid *dest,
+                              GLenum chanType );
 
-void gl_mmx_set_blend_function( GLcontext *ctx )
-{
-   const GLenum eq = ctx->Color.BlendEquation;
-   const GLenum srcRGB = ctx->Color.BlendSrcRGB;
-   const GLenum dstRGB = ctx->Color.BlendDstRGB;
-   const GLenum srcA = ctx->Color.BlendSrcA;
-   const GLenum dstA = ctx->Color.BlendDstA;
+extern void _ASMAPI
+_mesa_mmx_blend_add( struct gl_context *ctx, GLuint n, const GLubyte mask[],
+                     GLvoid *rgba, const GLvoid *dest,
+                     GLenum chanType );
 
+extern void _ASMAPI
+_mesa_mmx_blend_min( struct gl_context *ctx, GLuint n, const GLubyte mask[],
+                     GLvoid *rgba, const GLvoid *dest,
+                     GLenum chanType );
 
-   if (srcRGB != srcA || dstRGB != dstA) {
-      ctx->Color.BlendFunc = blend_general;
-   }
-   else if (eq==GL_FUNC_ADD_EXT && srcRGB==GL_SRC_ALPHA
-       && dstRGB==GL_ONE_MINUS_SRC_ALPHA) {
-      ctx->Color.BlendFunc = gl_mmx_blend_transparency;
-   }
-   else if (eq==GL_FUNC_ADD_EXT && srcRGB==GL_ONE && dstRGB==GL_ONE) {
-      ctx->Color.BlendFunc = blend_add;
-   }
-   else if (((eq==GL_FUNC_ADD_EXT || eq==GL_FUNC_REVERSE_SUBTRACT_EXT)
-             && (srcRGB==GL_ZERO && dstRGB==GL_SRC_COLOR))
-            ||
-            ((eq==GL_FUNC_ADD_EXT || eq==GL_FUNC_SUBTRACT_EXT)
-             && (srcRGB==GL_DST_COLOR && dstRGB==GL_ZERO))) {
-      ctx->Color.BlendFunc = blend_modulate;
-   }
-   else if (eq==GL_MIN_EXT) {
-      ctx->Color.BlendFunc = blend_min;
-   }
-   else if (eq==GL_MAX_EXT) {
-      ctx->Color.BlendFunc = blend_max;
-   }
-   else {
-      ctx->Color.BlendFunc = blend_general;
-   }
-}
+extern void _ASMAPI
+_mesa_mmx_blend_max( struct gl_context *ctx, GLuint n, const GLubyte mask[],
+                     GLvoid *rgba, const GLvoid *dest,
+                     GLenum chanType );
 
+extern void _ASMAPI
+_mesa_mmx_blend_modulate( struct gl_context *ctx, GLuint n, const GLubyte mask[],
+                          GLvoid *rgba, const GLvoid *dest,
+                          GLenum chanType );
 
 #endif