mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-30 04:38:49 +00:00
Jit: Raise program exception on floating point exceptions
This is done entirely through interpreter fallbacks. It would probably be possible to implement this using host exception handlers instead, but I think it would be a lot of complexity for a rarely used feature, so let's not do it for now. For performance reasons, there are two settings for this feature: One setting which does enables just what True Crime: New York City needs and one setting which enables it all. The latter makes almost all float instructions fall back to the interpreter.
This commit is contained in:
parent
7f7748e181
commit
9f525d69c8
24 changed files with 216 additions and 88 deletions
|
@ -1329,6 +1329,8 @@ bool NetPlayServer::SetupNetSettings()
|
|||
settings.m_SafeTextureCacheColorSamples =
|
||||
Config::Get(Config::GFX_SAFE_TEXTURE_CACHE_COLOR_SAMPLES);
|
||||
settings.m_PerfQueriesEnable = Config::Get(Config::GFX_PERF_QUERIES_ENABLE);
|
||||
settings.m_FloatExceptions = Config::Get(Config::MAIN_FLOAT_EXCEPTIONS);
|
||||
settings.m_DivideByZeroExceptions = Config::Get(Config::MAIN_DIVIDE_BY_ZERO_EXCEPTIONS);
|
||||
settings.m_FPRF = Config::Get(Config::MAIN_FPRF);
|
||||
settings.m_AccurateNaNs = Config::Get(Config::MAIN_ACCURATE_NANS);
|
||||
settings.m_DisableICache = Config::Get(Config::MAIN_DISABLE_ICACHE);
|
||||
|
@ -1505,6 +1507,8 @@ bool NetPlayServer::StartGame()
|
|||
spac << m_settings.m_EFBEmulateFormatChanges;
|
||||
spac << m_settings.m_SafeTextureCacheColorSamples;
|
||||
spac << m_settings.m_PerfQueriesEnable;
|
||||
spac << m_settings.m_FloatExceptions;
|
||||
spac << m_settings.m_DivideByZeroExceptions;
|
||||
spac << m_settings.m_FPRF;
|
||||
spac << m_settings.m_AccurateNaNs;
|
||||
spac << m_settings.m_DisableICache;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue