- Added assembly versions of rt_add4cols and rt_addclamp4cols.

SVN r773 (trunk)
This commit is contained in:
Randy Heit 2008-02-28 05:24:06 +00:00
commit db5938d22a
5 changed files with 342 additions and 149 deletions

View file

@ -81,6 +81,8 @@ extern "C" void STACK_ARGS DoubleHoriz_MMX (int height, int width, BYTE *dest, i
extern "C" void STACK_ARGS DoubleHorizVert_MMX (int height, int width, BYTE *dest, int pitch);
extern "C" void STACK_ARGS DoubleVert_ASM (int height, int width, BYTE *dest, int pitch);
extern "C" void R_SetupShadedCol();
extern "C" void R_SetupAddCol();
extern "C" void R_SetupAddClampCol();
#endif
// [RH] Pointers to the different column drawers.
@ -2271,7 +2273,9 @@ ESPSResult R_SetPatchStyle (FRenderStyle style, fixed_t alpha, int translation,
{
dc_colormap += fixedlightlev;
}
#ifdef USEASM
R_SetupShadedCol();
#endif
return r_columnmethod ? DoDraw1 : DoDraw0;
}
@ -2299,8 +2303,21 @@ ESPSResult R_SetPatchStyle (FRenderStyle style, fixed_t alpha, int translation,
dc_colormap = identitymap;
}
return R_SetBlendFunc (style.BlendOp, fglevel, bglevel, style.Flags) ?
(r_columnmethod ? DoDraw1 : DoDraw0) : DontDraw;
if (!R_SetBlendFunc (style.BlendOp, fglevel, bglevel, style.Flags))
{
return DontDraw;
}
#ifdef USEASM
if (hcolfunc_post4 == rt_addclamp4cols || hcolfunc_post4 == rt_tlateaddclamp4cols)
{
R_SetupAddClampCol();
}
else if (hcolfunc_post4 == rt_add4cols || hcolfunc_post4 == rt_tlateadd4cols)
{
R_SetupAddCol();
}
#endif
return r_columnmethod ? DoDraw1 : DoDraw0;
}
void R_FinishSetPatchStyle ()