From a2544c926e9f382d57614ba2594ede0f56f4a108 Mon Sep 17 00:00:00 2001 From: notaz Date: Tue, 21 Dec 2010 13:53:31 +0200 Subject: [PATCH] hack: use simple GTE division that large table was slow, probably because of dcache trashing. --- libpcsxcore/gte.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libpcsxcore/gte.c b/libpcsxcore/gte.c index 72210d34..00e79544 100644 --- a/libpcsxcore/gte.c +++ b/libpcsxcore/gte.c @@ -348,6 +348,16 @@ void gteSWC2() { psxMemWrite32(_oB_, MFC2(_Rt_)); } +#define DIVIDE DIVIDE_ +static u32 DIVIDE_(s16 n, u16 d) { + if (n >= 0 && n < d * 2) { + s32 n_ = n; + return ((n_ << 16) + d / 2) / d; + //return (u32)((float)(n_ << 16) / (float)d + (float)0.5); + } + return 0xffffffff; +} + void gteRTPS() { int quotient; -- 2.39.2