summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/vooddefs.ipp
diff options
context:
space:
mode:
author Ted Green <tedgreen99@users.noreply.github.com>2020-07-02 13:44:32 -0600
committer Ted Green <tedgreen99@users.noreply.github.com>2020-07-02 13:55:02 -0600
commit677f4a9b3937754cfa64ed7120fdcaef71c2feed (patch)
treed586283b5c6b8a8069d056baba2ab80206f9969a /src/devices/video/vooddefs.ipp
parentfb90cac2f2079972d75b3c4637de314a8498ed24 (diff)
voodoo: SSE use shift left by 8 instead of floating point multiply by 256 for perspective correction calculation.
Diffstat (limited to 'src/devices/video/vooddefs.ipp')
-rw-r--r--src/devices/video/vooddefs.ipp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/devices/video/vooddefs.ipp b/src/devices/video/vooddefs.ipp
index 07487f2bbf8..6a169640947 100644
--- a/src/devices/video/vooddefs.ipp
+++ b/src/devices/video/vooddefs.ipp
@@ -2843,7 +2843,12 @@ inline rgbaint_t ATTR_FORCE_INLINE voodoo_device::tmu_state::genTexture(int32_t
}
else
{
+#if ((!defined(MAME_DEBUG) || defined(__OPTIMIZE__)) && (defined(__SSE2__) || defined(_MSC_VER)) && defined(PTR64))
+ // Extra shift by 8 due to how sse class is stored
+ iterstw.get_st_shiftr(s, t, (14 + 10 + 8));
+#else
iterstw.get_st_shiftr(s, t, (14 + 10));
+#endif
}
/* clamp W */