summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2015-08-18 17:01:51 +0200
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2015-08-18 17:01:51 +0200
commit8a752c55b29bfb1bc738f2b2003bdf0d91310b0c (patch)
treeba0f3ee01cdf4d36375ac5775e3d17ae0e05fb02 /src
parent16c5f6c74235d424f1e1a083563d04e0c09d1f8d (diff)
Make rdptpipe slightly more efficient, nw
Diffstat (limited to 'src')
-rw-r--r--src/mame/video/rdptpipe.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/mame/video/rdptpipe.c b/src/mame/video/rdptpipe.c
index c8dd625f7a0..cbe208e9162 100644
--- a/src/mame/video/rdptpipe.c
+++ b/src/mame/video/rdptpipe.c
@@ -233,31 +233,13 @@ void n64_texture_pipe_t::cycle_linear(color_t* TEX, color_t* prev, INT32 SSS, IN
rgbaint_t st(0, SSS, 0, SST);
rgbaint_t maxst = shift_cycle(st, tile);
- rgbaint_t stfrac(st);
- stfrac.and_imm(0x1f);
- clamp_cycle(st, stfrac, maxst, tilenum, tile, userdata);
+ clamp_cycle_light(st, maxst, tilenum, tile, userdata);
mask(st, tile);
const UINT32 tbase = tile.tmem + ((tile.line * st.get_b32()) & 0x1ff);
- bool upper = ((stfrac.get_r32() + stfrac.get_b32()) >= 0x20);
-
- rgbaint_t invstf;
- if (upper)
- {
- invstf.set(stfrac);
- invstf.subr_imm(0x20);
- invstf.shl_imm(3);
- }
- else
- {
- invstf.set(0, 0, 0, 0);
- }
-
- stfrac.shl_imm(3);
-
rgbaint_t t0;
((this)->*(m_texel_fetch[index]))(t0, st.get_r32(), st.get_b32(), tbase, tile.palette, userdata);
if (object.m_other_modes.convert_one && cycle)
@@ -302,10 +284,9 @@ void n64_texture_pipe_t::cycle_linear_lerp(color_t* TEX, color_t* prev, INT32 SS
bool upper = ((stfrac.get_r32() + stfrac.get_b32()) >= 0x20);
- rgbaint_t invstf(0);
+ rgbaint_t invstf(stfrac);
if (upper)
{
- invstf.set(stfrac);
invstf.subr_imm(0x20);
invstf.shl_imm(3);
}