mirror of
https://github.com/holub/mame
synced 2025-05-25 07:15:25 +03:00
More RDP optimization through branch flattening. [Harmony]
This commit is contained in:
parent
dd5315d0ce
commit
7ab8a6d8f6
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -3558,6 +3558,8 @@ src/mame/video/rdptpipe.c svneol=native#text/plain
|
|||||||
src/mame/video/rdptpipe.h svneol=native#text/plain
|
src/mame/video/rdptpipe.h svneol=native#text/plain
|
||||||
src/mame/video/rdptrect.c svneol=native#text/plain
|
src/mame/video/rdptrect.c svneol=native#text/plain
|
||||||
src/mame/video/rdptrect.h svneol=native#text/plain
|
src/mame/video/rdptrect.h svneol=native#text/plain
|
||||||
|
src/mame/video/rdptri.c svneol=native#text/plain
|
||||||
|
src/mame/video/rdptri.h svneol=native#text/plain
|
||||||
src/mame/video/realbrk.c svneol=native#text/plain
|
src/mame/video/realbrk.c svneol=native#text/plain
|
||||||
src/mame/video/redalert.c svneol=native#text/plain
|
src/mame/video/redalert.c svneol=native#text/plain
|
||||||
src/mame/video/redclash.c svneol=native#text/plain
|
src/mame/video/redclash.c svneol=native#text/plain
|
||||||
|
1228
src/mame/video/n64.c
1228
src/mame/video/n64.c
File diff suppressed because it is too large
Load Diff
@ -1,14 +1,14 @@
|
|||||||
INLINE int alpha_compare_nac_nda(running_machine *machine, UINT8 comb_alpha)
|
INLINE int alpha_compare_nac_nda(UINT8 comb_alpha)
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE int alpha_compare_nac_da(running_machine *machine, UINT8 comb_alpha)
|
INLINE int alpha_compare_nac_da(UINT8 comb_alpha)
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE int alpha_compare_ac_nda(running_machine *machine, UINT8 comb_alpha)
|
INLINE int alpha_compare_ac_nda(UINT8 comb_alpha)
|
||||||
{
|
{
|
||||||
if (comb_alpha < blend_color.i.a)
|
if (comb_alpha < blend_color.i.a)
|
||||||
{
|
{
|
||||||
@ -17,9 +17,9 @@ INLINE int alpha_compare_ac_nda(running_machine *machine, UINT8 comb_alpha)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE int alpha_compare_ac_da(running_machine *machine, UINT8 comb_alpha)
|
INLINE int alpha_compare_ac_da(UINT8 comb_alpha)
|
||||||
{
|
{
|
||||||
if (comb_alpha < (mame_rand(machine) & 0xff))
|
if (comb_alpha < (rdp_rand() & 0xff))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
INLINE int alpha_compare_nac_nda(running_machine *machine, UINT8 comb_alpha);
|
INLINE int alpha_compare_nac_nda(UINT8 comb_alpha);
|
||||||
INLINE int alpha_compare_nac_da(running_machine *machine, UINT8 comb_alpha);
|
INLINE int alpha_compare_nac_da(UINT8 comb_alpha);
|
||||||
INLINE int alpha_compare_ac_nda(running_machine *machine, UINT8 comb_alpha);
|
INLINE int alpha_compare_ac_nda(UINT8 comb_alpha);
|
||||||
INLINE int alpha_compare_ac_da(running_machine *machine, UINT8 comb_alpha);
|
INLINE int alpha_compare_ac_da(UINT8 comb_alpha);
|
||||||
|
|
||||||
static int (*rdp_alpha_compare_func[4])(running_machine *, UINT8) =
|
static int (*rdp_alpha_compare_func[4])(UINT8) =
|
||||||
{
|
{
|
||||||
alpha_compare_nac_nda, alpha_compare_nac_da, alpha_compare_ac_nda, alpha_compare_ac_da
|
alpha_compare_nac_nda, alpha_compare_nac_da, alpha_compare_ac_nda, alpha_compare_ac_da
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
INLINE UINT8 alpha_cvg_get_cta_ca(UINT8 comb_alpha)
|
INLINE void alpha_cvg_get_cta_ca(UINT8 *comb_alpha)
|
||||||
{
|
{
|
||||||
UINT32 temp = comb_alpha;
|
UINT32 temp = *comb_alpha;
|
||||||
UINT32 temp2 = curpixel_cvg;
|
UINT32 temp2 = curpixel_cvg;
|
||||||
UINT32 temp3 = 0;
|
UINT32 temp3 = 0;
|
||||||
|
|
||||||
@ -11,30 +11,34 @@ INLINE UINT8 alpha_cvg_get_cta_ca(UINT8 comb_alpha)
|
|||||||
|
|
||||||
if (temp > 0xff)
|
if (temp > 0xff)
|
||||||
{
|
{
|
||||||
temp = 0xff;
|
*comb_alpha = 0xff;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*comb_alpha = (UINT8)temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (UINT8)temp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT8 alpha_cvg_get_ncta_ca(UINT8 comb_alpha)
|
INLINE void alpha_cvg_get_ncta_ca(UINT8 *comb_alpha)
|
||||||
{
|
{
|
||||||
UINT32 temp = comb_alpha;
|
UINT32 temp = *comb_alpha;
|
||||||
UINT32 temp2 = curpixel_cvg;
|
UINT32 temp2 = curpixel_cvg;
|
||||||
|
|
||||||
temp = temp2 << 5;
|
temp = temp2 << 5;
|
||||||
|
|
||||||
if (temp > 0xff)
|
if (temp > 0xff)
|
||||||
{
|
{
|
||||||
temp = 0xff;
|
*comb_alpha = 0xff;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*comb_alpha = (UINT8)temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (UINT8)temp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT8 alpha_cvg_get_cta_nca(UINT8 comb_alpha)
|
INLINE void alpha_cvg_get_cta_nca(UINT8 *comb_alpha)
|
||||||
{
|
{
|
||||||
UINT32 temp = comb_alpha;
|
UINT32 temp = *comb_alpha;
|
||||||
UINT32 temp2 = curpixel_cvg;
|
UINT32 temp2 = curpixel_cvg;
|
||||||
UINT32 temp3 = 0;
|
UINT32 temp3 = 0;
|
||||||
|
|
||||||
@ -43,20 +47,24 @@ INLINE UINT8 alpha_cvg_get_cta_nca(UINT8 comb_alpha)
|
|||||||
|
|
||||||
if (temp > 0xff)
|
if (temp > 0xff)
|
||||||
{
|
{
|
||||||
temp = 0xff;
|
*comb_alpha = 0xff;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*comb_alpha = (UINT8)temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (UINT8)temp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT8 alpha_cvg_get_ncta_nca(UINT8 comb_alpha)
|
INLINE void alpha_cvg_get_ncta_nca(UINT8 *comb_alpha)
|
||||||
{
|
{
|
||||||
UINT32 temp = comb_alpha;
|
UINT32 temp = *comb_alpha;
|
||||||
|
|
||||||
if (temp > 0xff)
|
if (temp > 0xff)
|
||||||
{
|
{
|
||||||
temp = 0xff;
|
*comb_alpha = 0xff;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*comb_alpha = (UINT8)temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (UINT8)temp;
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
INLINE UINT8 alpha_cvg_get_cta_ca(UINT8 comb_alpha);
|
INLINE void alpha_cvg_get_cta_ca(UINT8 *comb_alpha);
|
||||||
INLINE UINT8 alpha_cvg_get_ncta_ca(UINT8 comb_alpha);
|
INLINE void alpha_cvg_get_ncta_ca(UINT8 *comb_alpha);
|
||||||
INLINE UINT8 alpha_cvg_get_cta_nca(UINT8 comb_alpha);
|
INLINE void alpha_cvg_get_cta_nca(UINT8 *comb_alpha);
|
||||||
INLINE UINT8 alpha_cvg_get_ncta_nca(UINT8 comb_alpha);
|
INLINE void alpha_cvg_get_ncta_nca(UINT8 *comb_alpha);
|
||||||
|
|
||||||
static UINT8 (*rdp_alpha_cvg_func[4])(UINT8) =
|
static void (*rdp_alpha_cvg_func[4])(UINT8*) =
|
||||||
{
|
{
|
||||||
alpha_cvg_get_ncta_nca, alpha_cvg_get_ncta_ca, alpha_cvg_get_cta_nca, alpha_cvg_get_cta_ca,
|
alpha_cvg_get_ncta_nca, alpha_cvg_get_ncta_ca, alpha_cvg_get_cta_nca, alpha_cvg_get_cta_ca,
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD0_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD0_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -24,11 +28,6 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + memory_cvg;
|
newcvg = curpixel_cvg + memory_cvg;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -37,23 +36,20 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!other_modes.force_blend && !curpixel_overlap)
|
if (!other_modes.force_blend && !curpixel_overlap)
|
||||||
{
|
{
|
||||||
@ -68,7 +64,11 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD1(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD1_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD1_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -94,11 +94,6 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD1(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + memory_cvg;
|
newcvg = curpixel_cvg + memory_cvg;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -107,30 +102,31 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD1(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor|((newcvg >> 2) & 1);
|
*fb = finalcolor|((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD2(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD2_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD2_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -156,11 +152,6 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD2(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + memory_cvg;
|
newcvg = curpixel_cvg + memory_cvg;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -169,30 +160,31 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD2(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor|1;
|
*fb = finalcolor|1;
|
||||||
*hb = 3;
|
*hb = 3;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD3(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD3_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD3_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -218,11 +210,6 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD3(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + memory_cvg;
|
newcvg = curpixel_cvg + memory_cvg;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -231,30 +218,31 @@ INLINE UINT32 FBWRITE_16_RDEN_CVGD3(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, U
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor|((memory_cvg >> 2) & 1);
|
*fb = finalcolor|((memory_cvg >> 2) & 1);
|
||||||
*hb = (memory_cvg & 3);
|
*hb = (memory_cvg & 3);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD0_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD0_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -279,11 +267,6 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + 8;
|
newcvg = curpixel_cvg + 8;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -292,22 +275,19 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!other_modes.force_blend && !curpixel_overlap)
|
if (!other_modes.force_blend && !curpixel_overlap)
|
||||||
{
|
{
|
||||||
@ -322,7 +302,11 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD0(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD1(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD1_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD1_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -347,11 +331,6 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD1(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + 8;
|
newcvg = curpixel_cvg + 8;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -360,29 +339,30 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD1(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor|1;
|
*fb = finalcolor|1;
|
||||||
*hb = 3;
|
*hb = 3;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD2(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD2_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD2_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -407,11 +387,6 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD2(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + 8;
|
newcvg = curpixel_cvg + 8;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -420,29 +395,30 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD2(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor|1;
|
*fb = finalcolor|1;
|
||||||
*hb = 3;
|
*hb = 3;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD3(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD3_COC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD3_NCOC(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
#undef CVG_DRAW
|
#undef CVG_DRAW
|
||||||
UINT16 finalcolor;
|
UINT16 finalcolor;
|
||||||
@ -467,11 +443,6 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD3(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
curpixel_overlap = 0;
|
curpixel_overlap = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curpixel_cvg > 8)
|
|
||||||
{
|
|
||||||
fatalerror("FBWRITE_16: curpixel_cvg %d", curpixel_cvg);
|
|
||||||
}
|
|
||||||
|
|
||||||
newcvg = curpixel_cvg + 8;
|
newcvg = curpixel_cvg + 8;
|
||||||
wrapflag = (newcvg > 8) ? 1 : 0;
|
wrapflag = (newcvg > 8) ? 1 : 0;
|
||||||
|
|
||||||
@ -480,29 +451,30 @@ INLINE UINT32 FBWRITE_16_RDNEN_CVGD3(UINT16 *fb, UINT8* hb, UINT32 r, UINT32 g,
|
|||||||
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
clampcvg = (newcvg > 8) ? 8 : newcvg;
|
||||||
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
newcvg = (wrapflag)? (newcvg - 8) : newcvg;
|
||||||
|
|
||||||
if (!curpixel_cvg)
|
|
||||||
{
|
|
||||||
fatalerror("cvg underflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
curpixel_cvg--;
|
curpixel_cvg--;
|
||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xfffe;
|
*fb &= 0xfffe;
|
||||||
*fb |= ((newcvg >> 2) & 1);
|
*fb |= ((newcvg >> 2) & 1);
|
||||||
*hb = (newcvg & 3);
|
*hb = (newcvg & 3);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor|1;
|
*fb = finalcolor|1;
|
||||||
*hb = 4;
|
*hb = 4;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD0_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD0_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 memory_cvg = ((*fb >>5) & 7) + 1;
|
UINT32 memory_cvg = ((*fb >>5) & 7) + 1;
|
||||||
@ -520,12 +492,14 @@ INLINE UINT32 FBWRITE_32_RDEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!other_modes.force_blend && !curpixel_overlap)
|
if (!other_modes.force_blend && !curpixel_overlap)
|
||||||
{
|
{
|
||||||
@ -538,7 +512,11 @@ INLINE UINT32 FBWRITE_32_RDEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD1(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD1_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD1_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 memory_cvg = ((*fb >>5) & 7) + 1;
|
UINT32 memory_cvg = ((*fb >>5) & 7) + 1;
|
||||||
@ -556,18 +534,24 @@ INLINE UINT32 FBWRITE_32_RDEN_CVGD1(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor | (newcvg << 5);
|
*fb = finalcolor | (newcvg << 5);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD2(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD2_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD2_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 memory_cvg = ((*fb >>5) & 7) + 1;
|
UINT32 memory_cvg = ((*fb >>5) & 7) + 1;
|
||||||
@ -585,18 +569,24 @@ INLINE UINT32 FBWRITE_32_RDEN_CVGD2(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor | 0xE0;
|
*fb = finalcolor | 0xE0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD3(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD3_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD3_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 memory_alphachannel = *fb & 0xff;
|
UINT32 memory_alphachannel = *fb & 0xff;
|
||||||
@ -615,18 +605,24 @@ INLINE UINT32 FBWRITE_32_RDEN_CVGD3(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
memory_cvg--;
|
memory_cvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor | memory_alphachannel;
|
*fb = finalcolor | memory_alphachannel;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD0_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD0_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 newcvg;
|
UINT32 newcvg;
|
||||||
@ -642,12 +638,14 @@ INLINE UINT32 FBWRITE_32_RDNEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!other_modes.force_blend && !curpixel_overlap)
|
if (!other_modes.force_blend && !curpixel_overlap)
|
||||||
{
|
{
|
||||||
@ -660,7 +658,11 @@ INLINE UINT32 FBWRITE_32_RDNEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD1(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD1_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD1_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 newcvg;
|
UINT32 newcvg;
|
||||||
@ -676,18 +678,24 @@ INLINE UINT32 FBWRITE_32_RDNEN_CVGD1(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor | (newcvg << 5);
|
*fb = finalcolor | (newcvg << 5);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD2(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD2_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD2_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 newcvg;
|
UINT32 newcvg;
|
||||||
@ -703,18 +711,24 @@ INLINE UINT32 FBWRITE_32_RDNEN_CVGD2(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor | 0xE0;
|
*fb = finalcolor | 0xE0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD3(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD3_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#else
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD3_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
UINT32 finalcolor=(r << 24) | (g << 16) | (b << 8);
|
||||||
UINT32 memory_alphachannel = *fb & 0xff;
|
UINT32 memory_alphachannel = *fb & 0xff;
|
||||||
@ -731,12 +745,14 @@ INLINE UINT32 FBWRITE_32_RDNEN_CVGD3(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b)
|
|||||||
newcvg--;
|
newcvg--;
|
||||||
clampcvg--;
|
clampcvg--;
|
||||||
|
|
||||||
if (other_modes.color_on_cvg && !wrapflag)
|
#if defined(COLOR_ON_CVG)
|
||||||
|
if (!wrapflag)
|
||||||
{
|
{
|
||||||
*fb &= 0xffffff00;
|
*fb &= 0xffffff00;
|
||||||
*fb |= ((newcvg << 5) & 0xff);
|
*fb |= ((newcvg << 5) & 0xff);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
*fb = finalcolor | memory_alphachannel;
|
*fb = finalcolor | memory_alphachannel;
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1,29 +1,49 @@
|
|||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD0(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD0_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD1(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD0_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD2(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD1_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_16_RDEN_CVGD3(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD1_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD0(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD2_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD1(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD2_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD2(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD3_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_16_RDNEN_CVGD3(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_16_RDEN_CVGD3_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD0_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD0_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD1_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD1_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD2_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD2_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD3_NCOC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_16_RDNEN_CVGD3_COC(UINT16 *fb, UINT8 *hb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD0_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD1(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD0_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD2(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD1_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_32_RDEN_CVGD3(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD1_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD0(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD2_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD1(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD2_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD2(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD3_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
INLINE UINT32 FBWRITE_32_RDNEN_CVGD3(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
INLINE UINT32 FBWRITE_32_RDEN_CVGD3_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD0_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD0_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD1_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD1_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD2_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD2_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD3_NCOC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
INLINE UINT32 FBWRITE_32_RDNEN_CVGD3_COC(UINT32 *fb, UINT32 r, UINT32 g, UINT32 b);
|
||||||
|
|
||||||
static UINT32 (*rdp_fbwrite_16_func[8])(UINT16*, UINT8*, UINT32, UINT32, UINT32) =
|
static UINT32 (*rdp_fbwrite_16_func[16])(UINT16*, UINT8*, UINT32, UINT32, UINT32) =
|
||||||
{
|
{
|
||||||
FBWRITE_16_RDNEN_CVGD0, FBWRITE_16_RDNEN_CVGD1, FBWRITE_16_RDNEN_CVGD2, FBWRITE_16_RDNEN_CVGD3,
|
FBWRITE_16_RDNEN_CVGD0_NCOC, FBWRITE_16_RDNEN_CVGD1_NCOC, FBWRITE_16_RDNEN_CVGD2_NCOC, FBWRITE_16_RDNEN_CVGD3_NCOC,
|
||||||
FBWRITE_16_RDEN_CVGD0, FBWRITE_16_RDEN_CVGD1, FBWRITE_16_RDEN_CVGD2, FBWRITE_16_RDEN_CVGD3,
|
FBWRITE_16_RDEN_CVGD0_NCOC, FBWRITE_16_RDEN_CVGD1_NCOC, FBWRITE_16_RDEN_CVGD2_NCOC, FBWRITE_16_RDEN_CVGD3_NCOC,
|
||||||
|
FBWRITE_16_RDNEN_CVGD0_COC, FBWRITE_16_RDNEN_CVGD1_COC, FBWRITE_16_RDNEN_CVGD2_COC, FBWRITE_16_RDNEN_CVGD3_COC,
|
||||||
|
FBWRITE_16_RDEN_CVGD0_COC, FBWRITE_16_RDEN_CVGD1_COC, FBWRITE_16_RDEN_CVGD2_COC, FBWRITE_16_RDEN_CVGD3_COC,
|
||||||
};
|
};
|
||||||
|
|
||||||
static UINT32 (*rdp_fbwrite_32_func[8])(UINT32*, UINT32, UINT32, UINT32) =
|
static UINT32 (*rdp_fbwrite_32_func[16])(UINT32*, UINT32, UINT32, UINT32) =
|
||||||
{
|
{
|
||||||
FBWRITE_32_RDNEN_CVGD0, FBWRITE_32_RDNEN_CVGD1, FBWRITE_32_RDNEN_CVGD2, FBWRITE_32_RDNEN_CVGD3,
|
FBWRITE_32_RDNEN_CVGD0_NCOC, FBWRITE_32_RDNEN_CVGD1_NCOC, FBWRITE_32_RDNEN_CVGD2_NCOC, FBWRITE_32_RDNEN_CVGD3_NCOC,
|
||||||
FBWRITE_32_RDEN_CVGD0, FBWRITE_32_RDEN_CVGD1, FBWRITE_32_RDEN_CVGD2, FBWRITE_32_RDEN_CVGD3,
|
FBWRITE_32_RDEN_CVGD0_NCOC, FBWRITE_32_RDEN_CVGD1_NCOC, FBWRITE_32_RDEN_CVGD2_NCOC, FBWRITE_32_RDEN_CVGD3_NCOC,
|
||||||
|
FBWRITE_32_RDNEN_CVGD0_COC, FBWRITE_32_RDNEN_CVGD1_COC, FBWRITE_32_RDNEN_CVGD2_COC, FBWRITE_32_RDNEN_CVGD3_COC,
|
||||||
|
FBWRITE_32_RDEN_CVGD0_COC, FBWRITE_32_RDEN_CVGD1_COC, FBWRITE_32_RDEN_CVGD2_COC, FBWRITE_32_RDEN_CVGD3_COC,
|
||||||
};
|
};
|
||||||
|
@ -439,46 +439,3 @@ INLINE void FETCH_TEXEL_INVALID(COLOR *color, int s, int t)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//typedef void (*rdp_fetch_texel_func)(COLOR *color, int s, int t);
|
//typedef void (*rdp_fetch_texel_func)(COLOR *color, int s, int t);
|
||||||
|
|
||||||
static void (*rdp_fetch_texel_func[128])(COLOR*, int, int) =
|
|
||||||
{
|
|
||||||
// 4-bit accessors
|
|
||||||
FETCH_TEXEL_RGBA4_TLUT_NEN, FETCH_TEXEL_RGBA4_TLUT_NEN, FETCH_TEXEL_RGBA4_TLUT_EN0, FETCH_TEXEL_RGBA4_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_CI4_TLUT_NEN, FETCH_TEXEL_CI4_TLUT_NEN, FETCH_TEXEL_CI4_TLUT_EN0, FETCH_TEXEL_CI4_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_IA4_TLUT_NEN, FETCH_TEXEL_IA4_TLUT_NEN, FETCH_TEXEL_IA4_TLUT_EN0, FETCH_TEXEL_IA4_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_I4_TLUT_NEN, FETCH_TEXEL_I4_TLUT_NEN, FETCH_TEXEL_I4_TLUT_EN0, FETCH_TEXEL_I4_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
|
|
||||||
// 8-bit accessors
|
|
||||||
FETCH_TEXEL_RGBA8_TLUT_NEN, FETCH_TEXEL_RGBA8_TLUT_NEN, FETCH_TEXEL_RGBA8_TLUT_EN0, FETCH_TEXEL_RGBA8_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_CI8_TLUT_NEN, FETCH_TEXEL_CI8_TLUT_NEN, FETCH_TEXEL_CI8_TLUT_EN0, FETCH_TEXEL_CI8_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_IA8_TLUT_NEN, FETCH_TEXEL_IA8_TLUT_NEN, FETCH_TEXEL_IA8_TLUT_EN0, FETCH_TEXEL_IA8_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_I8_TLUT_NEN, FETCH_TEXEL_I8_TLUT_NEN, FETCH_TEXEL_I8_TLUT_EN0, FETCH_TEXEL_I8_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
|
|
||||||
// 16-bit accessors
|
|
||||||
FETCH_TEXEL_RGBA16_TLUT_NEN,FETCH_TEXEL_RGBA16_TLUT_NEN,FETCH_TEXEL_RGBA16_TLUT_EN0,FETCH_TEXEL_RGBA16_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_YUV16, FETCH_TEXEL_YUV16, FETCH_TEXEL_YUV16, FETCH_TEXEL_YUV16,
|
|
||||||
FETCH_TEXEL_CI16_TLUT_NEN, FETCH_TEXEL_CI16_TLUT_NEN, FETCH_TEXEL_CI16_TLUT_EN0, FETCH_TEXEL_CI16_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_IA16_TLUT_NEN, FETCH_TEXEL_IA16_TLUT_NEN, FETCH_TEXEL_IA16_TLUT_EN0, FETCH_TEXEL_IA16_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
|
|
||||||
// 32-bit accessors
|
|
||||||
FETCH_TEXEL_RGBA32_TLUT_NEN,FETCH_TEXEL_RGBA32_TLUT_NEN,FETCH_TEXEL_RGBA32_TLUT_EN0,FETCH_TEXEL_RGBA32_TLUT_EN1,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
|
||||||
};
|
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
INLINE void FETCH_TEXEL_RGBA4_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA4_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA4_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA8_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA8_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA8_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA16_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA16_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA16_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA32_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA32_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_RGBA32_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_YUV16(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI4_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI4_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI4_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI8_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI8_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI8_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI16_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI16_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_CI16_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA4_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA4_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA4_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA8_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA8_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA8_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA16_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA16_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_IA16_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_I4_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_I4_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_I4_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_I8_TLUT_EN0(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_I8_TLUT_EN1(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_I8_TLUT_NEN(COLOR *color, int s, int t);
|
||||||
|
INLINE void FETCH_TEXEL_INVALID(COLOR *color, int s, int t);
|
||||||
|
|
||||||
|
static void (*rdp_fetch_texel_func[128])(COLOR*, int, int) =
|
||||||
|
{
|
||||||
|
// 4-bit accessors
|
||||||
|
FETCH_TEXEL_RGBA4_TLUT_NEN, FETCH_TEXEL_RGBA4_TLUT_NEN, FETCH_TEXEL_RGBA4_TLUT_EN0, FETCH_TEXEL_RGBA4_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_CI4_TLUT_NEN, FETCH_TEXEL_CI4_TLUT_NEN, FETCH_TEXEL_CI4_TLUT_EN0, FETCH_TEXEL_CI4_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_IA4_TLUT_NEN, FETCH_TEXEL_IA4_TLUT_NEN, FETCH_TEXEL_IA4_TLUT_EN0, FETCH_TEXEL_IA4_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_I4_TLUT_NEN, FETCH_TEXEL_I4_TLUT_NEN, FETCH_TEXEL_I4_TLUT_EN0, FETCH_TEXEL_I4_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
|
||||||
|
// 8-bit accessors
|
||||||
|
FETCH_TEXEL_RGBA8_TLUT_NEN, FETCH_TEXEL_RGBA8_TLUT_NEN, FETCH_TEXEL_RGBA8_TLUT_EN0, FETCH_TEXEL_RGBA8_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_CI8_TLUT_NEN, FETCH_TEXEL_CI8_TLUT_NEN, FETCH_TEXEL_CI8_TLUT_EN0, FETCH_TEXEL_CI8_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_IA8_TLUT_NEN, FETCH_TEXEL_IA8_TLUT_NEN, FETCH_TEXEL_IA8_TLUT_EN0, FETCH_TEXEL_IA8_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_I8_TLUT_NEN, FETCH_TEXEL_I8_TLUT_NEN, FETCH_TEXEL_I8_TLUT_EN0, FETCH_TEXEL_I8_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
|
||||||
|
// 16-bit accessors
|
||||||
|
FETCH_TEXEL_RGBA16_TLUT_NEN,FETCH_TEXEL_RGBA16_TLUT_NEN,FETCH_TEXEL_RGBA16_TLUT_EN0,FETCH_TEXEL_RGBA16_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_YUV16, FETCH_TEXEL_YUV16, FETCH_TEXEL_YUV16, FETCH_TEXEL_YUV16,
|
||||||
|
FETCH_TEXEL_CI16_TLUT_NEN, FETCH_TEXEL_CI16_TLUT_NEN, FETCH_TEXEL_CI16_TLUT_EN0, FETCH_TEXEL_CI16_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_IA16_TLUT_NEN, FETCH_TEXEL_IA16_TLUT_NEN, FETCH_TEXEL_IA16_TLUT_EN0, FETCH_TEXEL_IA16_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
|
||||||
|
// 32-bit accessors
|
||||||
|
FETCH_TEXEL_RGBA32_TLUT_NEN,FETCH_TEXEL_RGBA32_TLUT_NEN,FETCH_TEXEL_RGBA32_TLUT_EN0,FETCH_TEXEL_RGBA32_TLUT_EN1,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID, FETCH_TEXEL_INVALID,
|
||||||
|
};
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,202 @@
|
|||||||
static void render_spans_16_c1(running_machine *machine, int start, int end, TILE* tex_tile, int shade, int texture, int zbuffer, int flip);
|
INLINE void render_spans_16_c1_ns_nt_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
static void render_spans_16_c2(running_machine *machine, int start, int end, TILE* tex_tile, int shade, int texture, int zbuffer, int flip);
|
INLINE void render_spans_16_c2_ns_nt_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_nf_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_f_nzc(int start, int end, TILE* tex_tile);
|
||||||
|
|
||||||
static void (*rdp_render_spans_16_func[4])(running_machine*, int, int, TILE*, int, int, int, int) =
|
INLINE void render_spans_16_c1_ns_nt_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_nf_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_f_zc(int start, int end, TILE* tex_tile);
|
||||||
|
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_nf_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_f_nzc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_nf_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_nt_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_nt_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_ns_t_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_ns_t_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_nt_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_nt_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_nz_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c1_s_t_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
INLINE void render_spans_16_c2_s_t_z_f_zc_zu(int start, int end, TILE* tex_tile);
|
||||||
|
|
||||||
|
static void (*rdp_render_spans_16_func[128])(int, int, TILE*) =
|
||||||
{
|
{
|
||||||
render_spans_16_c1, render_spans_16_c2, render_spans_16_c1, render_spans_16_c1
|
render_spans_16_c1_ns_nt_nz_nf_nzc, render_spans_16_c2_ns_nt_nz_nf_nzc,
|
||||||
|
render_spans_16_c1_ns_nt_z_nf_nzc, render_spans_16_c2_ns_nt_z_nf_nzc,
|
||||||
|
render_spans_16_c1_ns_t_nz_nf_nzc, render_spans_16_c2_ns_t_nz_nf_nzc,
|
||||||
|
render_spans_16_c1_ns_t_z_nf_nzc, render_spans_16_c2_ns_t_z_nf_nzc,
|
||||||
|
render_spans_16_c1_s_nt_nz_nf_nzc, render_spans_16_c2_s_nt_nz_nf_nzc,
|
||||||
|
render_spans_16_c1_s_nt_z_nf_nzc, render_spans_16_c2_s_nt_z_nf_nzc,
|
||||||
|
render_spans_16_c1_s_t_nz_nf_nzc, render_spans_16_c2_s_t_nz_nf_nzc,
|
||||||
|
render_spans_16_c1_s_t_z_nf_nzc, render_spans_16_c2_s_t_z_nf_nzc,
|
||||||
|
render_spans_16_c1_ns_nt_nz_f_nzc, render_spans_16_c2_ns_nt_nz_f_nzc,
|
||||||
|
render_spans_16_c1_ns_nt_z_f_nzc, render_spans_16_c2_ns_nt_z_f_nzc,
|
||||||
|
render_spans_16_c1_ns_t_nz_f_nzc, render_spans_16_c2_ns_t_nz_f_nzc,
|
||||||
|
render_spans_16_c1_ns_t_z_f_nzc, render_spans_16_c2_ns_t_z_f_nzc,
|
||||||
|
render_spans_16_c1_s_nt_nz_f_nzc, render_spans_16_c2_s_nt_nz_f_nzc,
|
||||||
|
render_spans_16_c1_s_nt_z_f_nzc, render_spans_16_c2_s_nt_z_f_nzc,
|
||||||
|
render_spans_16_c1_s_t_nz_f_nzc, render_spans_16_c2_s_t_nz_f_nzc,
|
||||||
|
render_spans_16_c1_s_t_z_f_nzc, render_spans_16_c2_s_t_z_f_nzc,
|
||||||
|
|
||||||
|
render_spans_16_c1_ns_nt_nz_nf_zc, render_spans_16_c2_ns_nt_nz_nf_zc,
|
||||||
|
render_spans_16_c1_ns_nt_z_nf_zc, render_spans_16_c2_ns_nt_z_nf_zc,
|
||||||
|
render_spans_16_c1_ns_t_nz_nf_zc, render_spans_16_c2_ns_t_nz_nf_zc,
|
||||||
|
render_spans_16_c1_ns_t_z_nf_zc, render_spans_16_c2_ns_t_z_nf_zc,
|
||||||
|
render_spans_16_c1_s_nt_nz_nf_zc, render_spans_16_c2_s_nt_nz_nf_zc,
|
||||||
|
render_spans_16_c1_s_nt_z_nf_zc, render_spans_16_c2_s_nt_z_nf_zc,
|
||||||
|
render_spans_16_c1_s_t_nz_nf_zc, render_spans_16_c2_s_t_nz_nf_zc,
|
||||||
|
render_spans_16_c1_s_t_z_nf_zc, render_spans_16_c2_s_t_z_nf_zc,
|
||||||
|
render_spans_16_c1_ns_nt_nz_f_zc, render_spans_16_c2_ns_nt_nz_f_zc,
|
||||||
|
render_spans_16_c1_ns_nt_z_f_zc, render_spans_16_c2_ns_nt_z_f_zc,
|
||||||
|
render_spans_16_c1_ns_t_nz_f_zc, render_spans_16_c2_ns_t_nz_f_zc,
|
||||||
|
render_spans_16_c1_ns_t_z_f_zc, render_spans_16_c2_ns_t_z_f_zc,
|
||||||
|
render_spans_16_c1_s_nt_nz_f_zc, render_spans_16_c2_s_nt_nz_f_zc,
|
||||||
|
render_spans_16_c1_s_nt_z_f_zc, render_spans_16_c2_s_nt_z_f_zc,
|
||||||
|
render_spans_16_c1_s_t_nz_f_zc, render_spans_16_c2_s_t_nz_f_zc,
|
||||||
|
render_spans_16_c1_s_t_z_f_zc, render_spans_16_c2_s_t_z_f_zc,
|
||||||
|
|
||||||
|
render_spans_16_c1_ns_nt_nz_nf_nzc_zu, render_spans_16_c2_ns_nt_nz_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_ns_nt_z_nf_nzc_zu, render_spans_16_c2_ns_nt_z_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_ns_t_nz_nf_nzc_zu, render_spans_16_c2_ns_t_nz_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_ns_t_z_nf_nzc_zu, render_spans_16_c2_ns_t_z_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_s_nt_nz_nf_nzc_zu, render_spans_16_c2_s_nt_nz_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_s_nt_z_nf_nzc_zu, render_spans_16_c2_s_nt_z_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_s_t_nz_nf_nzc_zu, render_spans_16_c2_s_t_nz_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_s_t_z_nf_nzc_zu, render_spans_16_c2_s_t_z_nf_nzc_zu,
|
||||||
|
render_spans_16_c1_ns_nt_nz_f_nzc_zu, render_spans_16_c2_ns_nt_nz_f_nzc_zu,
|
||||||
|
render_spans_16_c1_ns_nt_z_f_nzc_zu, render_spans_16_c2_ns_nt_z_f_nzc_zu,
|
||||||
|
render_spans_16_c1_ns_t_nz_f_nzc_zu, render_spans_16_c2_ns_t_nz_f_nzc_zu,
|
||||||
|
render_spans_16_c1_ns_t_z_f_nzc_zu, render_spans_16_c2_ns_t_z_f_nzc_zu,
|
||||||
|
render_spans_16_c1_s_nt_nz_f_nzc_zu, render_spans_16_c2_s_nt_nz_f_nzc_zu,
|
||||||
|
render_spans_16_c1_s_nt_z_f_nzc_zu, render_spans_16_c2_s_nt_z_f_nzc_zu,
|
||||||
|
render_spans_16_c1_s_t_nz_f_nzc_zu, render_spans_16_c2_s_t_nz_f_nzc_zu,
|
||||||
|
render_spans_16_c1_s_t_z_f_nzc_zu, render_spans_16_c2_s_t_z_f_nzc_zu,
|
||||||
|
|
||||||
|
render_spans_16_c1_ns_nt_nz_nf_zc_zu, render_spans_16_c2_ns_nt_nz_nf_zc_zu,
|
||||||
|
render_spans_16_c1_ns_nt_z_nf_zc_zu, render_spans_16_c2_ns_nt_z_nf_zc_zu,
|
||||||
|
render_spans_16_c1_ns_t_nz_nf_zc_zu, render_spans_16_c2_ns_t_nz_nf_zc_zu,
|
||||||
|
render_spans_16_c1_ns_t_z_nf_zc_zu, render_spans_16_c2_ns_t_z_nf_zc_zu,
|
||||||
|
render_spans_16_c1_s_nt_nz_nf_zc_zu, render_spans_16_c2_s_nt_nz_nf_zc_zu,
|
||||||
|
render_spans_16_c1_s_nt_z_nf_zc_zu, render_spans_16_c2_s_nt_z_nf_zc_zu,
|
||||||
|
render_spans_16_c1_s_t_nz_nf_zc_zu, render_spans_16_c2_s_t_nz_nf_zc_zu,
|
||||||
|
render_spans_16_c1_s_t_z_nf_zc_zu, render_spans_16_c2_s_t_z_nf_zc_zu,
|
||||||
|
render_spans_16_c1_ns_nt_nz_f_zc_zu, render_spans_16_c2_ns_nt_nz_f_zc_zu,
|
||||||
|
render_spans_16_c1_ns_nt_z_f_zc_zu, render_spans_16_c2_ns_nt_z_f_zc_zu,
|
||||||
|
render_spans_16_c1_ns_t_nz_f_zc_zu, render_spans_16_c2_ns_t_nz_f_zc_zu,
|
||||||
|
render_spans_16_c1_ns_t_z_f_zc_zu, render_spans_16_c2_ns_t_z_f_zc_zu,
|
||||||
|
render_spans_16_c1_s_nt_nz_f_zc_zu, render_spans_16_c2_s_nt_nz_f_zc_zu,
|
||||||
|
render_spans_16_c1_s_nt_z_f_zc_zu, render_spans_16_c2_s_nt_z_f_zc_zu,
|
||||||
|
render_spans_16_c1_s_t_nz_f_zc_zu, render_spans_16_c2_s_t_nz_f_zc_zu,
|
||||||
|
render_spans_16_c1_s_t_z_f_zc_zu, render_spans_16_c2_s_t_z_f_zc_zu,
|
||||||
};
|
};
|
||||||
|
@ -45,30 +45,12 @@ INLINE void TEXTURE_PIPELINE_BILINEAR_NMID(COLOR* TEX, INT32 SSS, INT32 SST, TIL
|
|||||||
INVTF = 0x20 - TFRAC;
|
INVTF = 0x20 - TFRAC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FETCH_TEXEL(&t1, sss2, sst1, tex_tile);
|
||||||
|
FETCH_TEXEL(&t2, sss1, sst2, tex_tile);
|
||||||
|
|
||||||
if (!upper)
|
if (!upper)
|
||||||
{
|
{
|
||||||
FETCH_TEXEL(&t0, sss1, sst1, tex_tile);
|
FETCH_TEXEL(&t0, sss1, sst1, tex_tile);
|
||||||
}
|
|
||||||
FETCH_TEXEL(&t1, sss2, sst1, tex_tile);
|
|
||||||
FETCH_TEXEL(&t2, sss1, sst2, tex_tile);
|
|
||||||
if (upper)
|
|
||||||
{
|
|
||||||
FETCH_TEXEL(&t3, sss2, sst2, tex_tile);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (upper)
|
|
||||||
{
|
|
||||||
R32 = t3.i.r + ((INVSF*(t2.i.r - t3.i.r))>>5) + ((INVTF*(t1.i.r - t3.i.r))>>5);
|
|
||||||
TEX->i.r = (R32 < 0) ? 0 : R32;
|
|
||||||
G32 = t3.i.g + ((INVSF*(t2.i.g - t3.i.g))>>5) + ((INVTF*(t1.i.g - t3.i.g))>>5);
|
|
||||||
TEX->i.g = (G32 < 0) ? 0 : G32;
|
|
||||||
B32 = t3.i.b + ((INVSF*(t2.i.b - t3.i.b))>>5) + ((INVTF*(t1.i.b - t3.i.b))>>5);
|
|
||||||
TEX->i.b = (B32 < 0) ? 0 : B32;
|
|
||||||
A32 = t3.i.a + ((INVSF*(t2.i.a - t3.i.a))>>5) + ((INVTF*(t1.i.a - t3.i.a))>>5);
|
|
||||||
TEX->i.a = (A32 < 0) ? 0 : A32;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
R32 = t0.i.r + ((SFRAC*(t1.i.r - t0.i.r))>>5) + ((TFRAC*(t2.i.r - t0.i.r))>>5);
|
R32 = t0.i.r + ((SFRAC*(t1.i.r - t0.i.r))>>5) + ((TFRAC*(t2.i.r - t0.i.r))>>5);
|
||||||
TEX->i.r = (R32 < 0) ? 0 : R32;
|
TEX->i.r = (R32 < 0) ? 0 : R32;
|
||||||
G32 = t0.i.g + ((SFRAC*(t1.i.g - t0.i.g))>>5) + ((TFRAC*(t2.i.g - t0.i.g))>>5);
|
G32 = t0.i.g + ((SFRAC*(t1.i.g - t0.i.g))>>5) + ((TFRAC*(t2.i.g - t0.i.g))>>5);
|
||||||
@ -78,6 +60,18 @@ INLINE void TEXTURE_PIPELINE_BILINEAR_NMID(COLOR* TEX, INT32 SSS, INT32 SST, TIL
|
|||||||
A32 = t0.i.a + ((SFRAC*(t1.i.a - t0.i.a))>>5) + ((TFRAC*(t2.i.a - t0.i.a))>>5);
|
A32 = t0.i.a + ((SFRAC*(t1.i.a - t0.i.a))>>5) + ((TFRAC*(t2.i.a - t0.i.a))>>5);
|
||||||
TEX->i.a = (A32 < 0) ? 0 : A32;
|
TEX->i.a = (A32 < 0) ? 0 : A32;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FETCH_TEXEL(&t3, sss2, sst2, tex_tile);
|
||||||
|
R32 = t3.i.r + ((INVSF*(t2.i.r - t3.i.r))>>5) + ((INVTF*(t1.i.r - t3.i.r))>>5);
|
||||||
|
TEX->i.r = (R32 < 0) ? 0 : R32;
|
||||||
|
G32 = t3.i.g + ((INVSF*(t2.i.g - t3.i.g))>>5) + ((INVTF*(t1.i.g - t3.i.g))>>5);
|
||||||
|
TEX->i.g = (G32 < 0) ? 0 : G32;
|
||||||
|
B32 = t3.i.b + ((INVSF*(t2.i.b - t3.i.b))>>5) + ((INVTF*(t1.i.b - t3.i.b))>>5);
|
||||||
|
TEX->i.b = (B32 < 0) ? 0 : B32;
|
||||||
|
A32 = t3.i.a + ((INVSF*(t2.i.a - t3.i.a))>>5) + ((INVTF*(t1.i.a - t3.i.a))>>5);
|
||||||
|
TEX->i.a = (A32 < 0) ? 0 : A32;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
INLINE void TEXTURE_PIPELINE_BILINEAR_MID(COLOR* TEX, INT32 SSS, INT32 SST, TILE* tex_tile)
|
INLINE void TEXTURE_PIPELINE_BILINEAR_MID(COLOR* TEX, INT32 SSS, INT32 SST, TILE* tex_tile)
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,41 +1,69 @@
|
|||||||
static void texture_rectangle_16bit_c1_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_nzc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_nzc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_nzc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_nzc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c1_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_nzc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_nzc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_nzc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_nzc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c1_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_nzc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cf_nzc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cf_nzc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cf_nzc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c1_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_zc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_zc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_zc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_zc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c1_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_zc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_zc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_zc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_nzc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_zc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c1_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_zc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cf_zc_nzu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cf_zc_nzu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_zc_nzu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cf_zc_nzu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c1_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_nzc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_nzc_zu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c1_nzc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_nzc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_nzc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c1_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_nzc_zu_db(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_c2_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_c2_nzc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cc_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_nzc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
static void texture_rectangle_16bit_cf_zc_zu(running_machine *machine, TEX_RECTANGLE *rect);
|
static void texture_rectangle_16bit_cc_nzc_zu_db(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cc_nzc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cf_nzc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cf_nzc_zu_db(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cf_nzc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_c1_zc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_c1_zc_zu_db(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_c1_zc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_c2_zc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_c2_zc_zu_db(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_c2_zc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cc_zc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cc_zc_zu_db(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cc_zc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cf_zc_zu_dm(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cf_zc_zu_db(TEX_RECTANGLE *rect);
|
||||||
|
static void texture_rectangle_16bit_cf_zc_zu_dn(TEX_RECTANGLE *rect);
|
||||||
|
|
||||||
static void (*rdp_texture_rectangle_16bit_func[16])(running_machine *, TEX_RECTANGLE *) =
|
static void (*rdp_texture_rectangle_16bit_func[48])(TEX_RECTANGLE *) =
|
||||||
{
|
{
|
||||||
texture_rectangle_16bit_c1_nzc_nzu, texture_rectangle_16bit_c2_nzc_nzu, texture_rectangle_16bit_cc_nzc_nzu, texture_rectangle_16bit_cf_nzc_nzu,
|
texture_rectangle_16bit_c1_nzc_nzu_dm, texture_rectangle_16bit_c1_nzc_nzu_db, texture_rectangle_16bit_c1_nzc_nzu_dn,
|
||||||
texture_rectangle_16bit_c1_zc_nzu, texture_rectangle_16bit_c2_zc_nzu, texture_rectangle_16bit_cc_zc_nzu, texture_rectangle_16bit_cf_zc_nzu,
|
texture_rectangle_16bit_c2_nzc_nzu_dm, texture_rectangle_16bit_c2_nzc_nzu_db, texture_rectangle_16bit_c2_nzc_nzu_dn,
|
||||||
texture_rectangle_16bit_c1_nzc_zu, texture_rectangle_16bit_c2_nzc_zu, texture_rectangle_16bit_cc_nzc_zu, texture_rectangle_16bit_cf_nzc_zu,
|
texture_rectangle_16bit_cc_nzc_nzu_dm, texture_rectangle_16bit_cc_nzc_nzu_db, texture_rectangle_16bit_cc_nzc_nzu_dn,
|
||||||
texture_rectangle_16bit_c1_zc_zu, texture_rectangle_16bit_c2_zc_zu, texture_rectangle_16bit_cc_zc_zu, texture_rectangle_16bit_cf_zc_zu,
|
texture_rectangle_16bit_cf_nzc_nzu_dm, texture_rectangle_16bit_cf_nzc_nzu_db, texture_rectangle_16bit_cf_nzc_nzu_dn,
|
||||||
|
texture_rectangle_16bit_c1_zc_nzu_dm, texture_rectangle_16bit_c1_zc_nzu_db, texture_rectangle_16bit_c1_zc_nzu_dn,
|
||||||
|
texture_rectangle_16bit_c2_zc_nzu_dm, texture_rectangle_16bit_c2_zc_nzu_db, texture_rectangle_16bit_c2_zc_nzu_dn,
|
||||||
|
texture_rectangle_16bit_cc_zc_nzu_dm, texture_rectangle_16bit_cc_zc_nzu_db, texture_rectangle_16bit_cc_zc_nzu_dn,
|
||||||
|
texture_rectangle_16bit_cf_zc_nzu_dm, texture_rectangle_16bit_cf_zc_nzu_db, texture_rectangle_16bit_cf_zc_nzu_dn,
|
||||||
|
texture_rectangle_16bit_c1_nzc_zu_dm, texture_rectangle_16bit_c1_nzc_zu_db, texture_rectangle_16bit_c1_nzc_zu_dn,
|
||||||
|
texture_rectangle_16bit_c2_nzc_zu_dm, texture_rectangle_16bit_c2_nzc_zu_db, texture_rectangle_16bit_c2_nzc_zu_dn,
|
||||||
|
texture_rectangle_16bit_cc_nzc_zu_dm, texture_rectangle_16bit_cc_nzc_zu_db, texture_rectangle_16bit_cc_nzc_zu_dn,
|
||||||
|
texture_rectangle_16bit_cf_nzc_zu_dm, texture_rectangle_16bit_cf_nzc_zu_db, texture_rectangle_16bit_cf_nzc_zu_dn,
|
||||||
|
texture_rectangle_16bit_c1_zc_zu_dm, texture_rectangle_16bit_c1_zc_zu_db, texture_rectangle_16bit_c1_zc_zu_dn,
|
||||||
|
texture_rectangle_16bit_c2_zc_zu_dm, texture_rectangle_16bit_c2_zc_zu_db, texture_rectangle_16bit_c2_zc_zu_dn,
|
||||||
|
texture_rectangle_16bit_cc_zc_zu_dm, texture_rectangle_16bit_cc_zc_zu_db, texture_rectangle_16bit_cc_zc_zu_dn,
|
||||||
|
texture_rectangle_16bit_cf_zc_zu_dm, texture_rectangle_16bit_cf_zc_zu_db, texture_rectangle_16bit_cf_zc_zu_dn,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
2775
src/mame/video/rdptri.c
Normal file
2775
src/mame/video/rdptri.c
Normal file
File diff suppressed because it is too large
Load Diff
8
src/mame/video/rdptri.h
Normal file
8
src/mame/video/rdptri.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
static void triangle_ns_nt_nz(UINT32 w1, UINT32 w2);
|
||||||
|
static void triangle_ns_nt_z(UINT32 w1, UINT32 w2);
|
||||||
|
static void triangle_ns_t_nz(UINT32 w1, UINT32 w2);
|
||||||
|
static void triangle_ns_t_z(UINT32 w1, UINT32 w2);
|
||||||
|
static void triangle_s_nt_nz(UINT32 w1, UINT32 w2);
|
||||||
|
static void triangle_s_nt_z(UINT32 w1, UINT32 w2);
|
||||||
|
static void triangle_s_t_nz(UINT32 w1, UINT32 w2);
|
||||||
|
static void triangle_s_t_z(UINT32 w1, UINT32 w2);
|
Loading…
Reference in New Issue
Block a user