diff options
author | 2015-08-18 17:01:51 +0200 | |
---|---|---|
committer | 2015-08-18 17:01:51 +0200 | |
commit | 8a752c55b29bfb1bc738f2b2003bdf0d91310b0c (patch) | |
tree | ba0f3ee01cdf4d36375ac5775e3d17ae0e05fb02 /src | |
parent | 16c5f6c74235d424f1e1a083563d04e0c09d1f8d (diff) |
Make rdptpipe slightly more efficient, nw
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/video/rdptpipe.c | 23 |
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); } |