intel: Remove our special color packing macros and just use colormac.h.

This commit is contained in:
Eric Anholt
2009-11-18 03:39:20 -08:00
parent c4b7c47fe3
commit ee64347979
4 changed files with 16 additions and 39 deletions

View File

@@ -27,6 +27,7 @@
#include "main/mtypes.h" #include "main/mtypes.h"
#include "main/enums.h" #include "main/enums.h"
#include "main/colormac.h"
#include "intel_mipmap_tree.h" #include "intel_mipmap_tree.h"
#include "intel_tex.h" #include "intel_tex.h"
@@ -311,11 +312,10 @@ i830_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
CLAMPED_FLOAT_TO_UBYTE(border[2], tObj->BorderColor[2]); CLAMPED_FLOAT_TO_UBYTE(border[2], tObj->BorderColor[2]);
CLAMPED_FLOAT_TO_UBYTE(border[3], tObj->BorderColor[3]); CLAMPED_FLOAT_TO_UBYTE(border[3], tObj->BorderColor[3]);
state[I830_TEXREG_TM0S4] = INTEL_PACKCOLOR8888(border[0], state[I830_TEXREG_TM0S4] = PACK_COLOR_8888(border[3],
border[1], border[0],
border[2], border[1],
border[3]); border[2]);
I830_ACTIVESTATE(i830, I830_UPLOAD_TEX(unit), GL_TRUE); I830_ACTIVESTATE(i830, I830_UPLOAD_TEX(unit), GL_TRUE);
/* memcmp was already disabled, but definitely won't work as the /* memcmp was already disabled, but definitely won't work as the

View File

@@ -28,6 +28,7 @@
#include "main/mtypes.h" #include "main/mtypes.h"
#include "main/enums.h" #include "main/enums.h"
#include "main/macros.h" #include "main/macros.h"
#include "main/colormac.h"
#include "intel_mipmap_tree.h" #include "intel_mipmap_tree.h"
#include "intel_tex.h" #include "intel_tex.h"
@@ -363,15 +364,15 @@ i915_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
* R channel, while the hardware uses A. Spam R into all the channels * R channel, while the hardware uses A. Spam R into all the channels
* for safety. * for safety.
*/ */
state[I915_TEXREG_SS4] = INTEL_PACKCOLOR8888(border[0], state[I915_TEXREG_SS4] = PACK_COLOR_8888(border[0],
border[0], border[0],
border[0], border[0],
border[0]); border[0]);
} else { } else {
state[I915_TEXREG_SS4] = INTEL_PACKCOLOR8888(border[0], state[I915_TEXREG_SS4] = PACK_COLOR_8888(border[3],
border[1], border[0],
border[2], border[1],
border[3]); border[2]);
} }

View File

@@ -361,29 +361,6 @@ do { \
(intel)->prim.flush(intel); \ (intel)->prim.flush(intel); \
} while (0) } while (0)
/* ================================================================
* Color packing:
*/
#define INTEL_PACKCOLOR4444(r,g,b,a) \
((((a) & 0xf0) << 8) | (((r) & 0xf0) << 4) | ((g) & 0xf0) | ((b) >> 4))
#define INTEL_PACKCOLOR1555(r,g,b,a) \
((((r) & 0xf8) << 7) | (((g) & 0xf8) << 2) | (((b) & 0xf8) >> 3) | \
((a) ? 0x8000 : 0))
#define INTEL_PACKCOLOR565(r,g,b) \
((((r) & 0xf8) << 8) | (((g) & 0xfc) << 3) | (((b) & 0xf8) >> 3))
#define INTEL_PACKCOLOR8888(r,g,b,a) \
((a<<24) | (r<<16) | (g<<8) | b)
#define INTEL_PACKCOLOR(format, r, g, b, a) \
(format == DV_PF_555 ? INTEL_PACKCOLOR1555(r,g,b,a) : \
(format == DV_PF_565 ? INTEL_PACKCOLOR565(r,g,b) : \
(format == DV_PF_8888 ? INTEL_PACKCOLOR8888(r,g,b,a) : \
0)))
/* ================================================================ /* ================================================================
* From linux kernel i386 header files, copes with odd sizes better * From linux kernel i386 header files, copes with odd sizes better
* than COPY_DWORDS would: * than COPY_DWORDS would:

View File

@@ -228,10 +228,9 @@ do_blit_bitmap( GLcontext *ctx,
UNCLAMPED_FLOAT_TO_UBYTE(ubcolor[3], tmpColor[3]); UNCLAMPED_FLOAT_TO_UBYTE(ubcolor[3], tmpColor[3]);
if (dst->cpp == 2) if (dst->cpp == 2)
color = INTEL_PACKCOLOR565(ubcolor[0], ubcolor[1], ubcolor[2]); color = PACK_COLOR_565(ubcolor[0], ubcolor[1], ubcolor[2]);
else else
color = INTEL_PACKCOLOR8888(ubcolor[0], ubcolor[1], color = PACK_COLOR_8888(ubcolor[3], ubcolor[0], ubcolor[1], ubcolor[2]);
ubcolor[2], ubcolor[3]);
if (!intel_check_blit_fragment_ops(ctx, tmpColor[3] == 1.0F)) if (!intel_check_blit_fragment_ops(ctx, tmpColor[3] == 1.0F))
return GL_FALSE; return GL_FALSE;