magumagu
282e9bd292
JitCache: use a custom bit-set class.
...
Unfortunately, this appears to be necessary for the sake of performance;
the standard library equivalents don't work well enough on Visual Studio
2013. vector<bool>::insert() is way too slow in debug
builds to be usable, and std::bitset generates inefficient code in release
builds.
2014-05-24 14:17:53 -07:00
magumagu
6bb08de8a0
JIT: get rid of useless code in JitCache.cpp.
2014-05-24 11:04:24 -07:00
magumagu
440246a190
Interpreter: use numeric_limits instead of FLT_MAX.
...
Minor cleanup, and fixes compilation on some systems.
2014-05-24 10:58:15 +02:00
Tony Wasserka
cffa848b99
Merge pull request #390 from magumagu/fp-reciprocal
...
Add accurate implementations of frsqrte and fres
2014-05-24 10:45:01 +02:00
shuffle2
ca3002977b
Merge pull request #256 from magumagu/dsound-notify
...
DSound: use DSound notifications to produce sound.
2014-05-23 17:02:55 -07:00
magumagu
6955fef161
Interpreter: Code style fixes.
2014-05-23 15:06:09 -07:00
magumagu
d0ed3b8192
Jit: Use infinity and NaN from numeric_limits.
...
MSVC's implementation of INFINITY is unusable.
2014-05-23 14:59:03 -07:00
magumagu
a9a2d3d98d
New frsqrte implementation; verified accurate.
...
This is similar to the old implementation, but it uses smaller tables, and
handles more edge cases correctly. (hwtest coming soon.)
2014-05-23 14:59:02 -07:00
magumagu
129e76e60d
Interpreter: refactor the rsqrte code, and use it for ps_rsqrte.
2014-05-23 14:59:00 -07:00
magumagu
567724b2f8
Jit: get rid of incorrect implementations of fres and frsqrte.
...
The existing implementations produce answers which aren't consistent with
the hardware, and games care about correct floating point math.
These can be reimplemented at some point in the future, if someone cares
enough, but the general case is probably too much code to inline.
(I'm leaving the ARM implementations in place by request, even though they
suffer the same issues.)
2014-05-23 14:57:34 -07:00
Yuriy O'Donnell
ac75766c25
removed trailing whitespace
2014-05-23 21:14:48 +02:00
Yuriy O'Donnell
d08abfc14e
JIT: JitBaseBlockCache::InvalidateICache no longer memsets iCache memory to INVALID_BYTE.
...
This is redundant, since we reset the valid_block bits any way.
However, this was a source of a significant performance issues in some games.
In particular, Metal Gear Solid: Twin Snakes.
2014-05-23 20:40:45 +02:00
Yuriy O'Donnell
de1e2127dc
JIT: JitBaseBlockCache::valid_block is now std::vector<bool>
...
This was previously a std::bitset, which resulted in generation of suboptimal code by VS2013 compiler.
See https://gist.github.com/kayru/753db9607d680e26194b
2014-05-23 20:32:25 +02:00
magumagu
2f8a147eda
Interpreter: make fres match hardware.
...
New table-based implementation written based on actual hardware behavior.
(hwtest coming soon).
2014-05-22 19:48:48 -07:00
magumagu
ad4ad7c1ed
Use accurate frsqrte in Interpreter.
...
The implementation of frsqrte exposed by this change isn't completely
correct; that will be fixed in a later commit.
2014-05-22 19:46:27 -07:00
shuffle2
b58753bd69
Merge pull request #370 from Sonicadvance1/remove_specialized_memcmp
...
Removes ZeroFrog's "optimized" memcpy and memcmp functions.
2014-05-22 13:02:11 -07:00
shuffle2
fc41a53b46
Merge pull request #309 from magumagu/jit-unify-asm
...
JIT: unify JitAsm for JIT64 and JIT64IL.
2014-05-21 23:10:08 -07:00
shuffle2
c308657779
Merge pull request #376 from lioncash/wx
...
Wx cleanup
2014-05-21 21:54:00 -07:00
shuffle2
c4e60d5353
Merge pull request #356 from Sonicadvance1/Fix-MMUAnalyst
...
Fixes games that use the MMU to page in code(Rogue Leader).
2014-05-21 20:59:25 -07:00
shuffle2
6544d53c16
Merge pull request #361 from LPFaint99/wiisave
...
Export wii saves to the "User" directory
2014-05-21 20:17:18 -07:00
shuffle2
9ce269c7dc
Merge pull request #382 from magumagu/faster-fast-disc-speed
...
DVDInterface: make fast disc speed faster.
2014-05-21 20:12:38 -07:00
shuffle2
4fb10a11b9
Merge pull request #379 from jordan-woyak/gamelist-size-fix
...
Fix game list size display.
2014-05-21 19:52:10 -07:00
shuffle2
dd413269e3
Merge pull request #343 from jordan-woyak/disable-sdl-windows
...
Disable SDL input on Windows.
2014-05-21 19:47:44 -07:00
Jasper St. Pierre
9d161b4170
BPStructs: Consistently put the two shared copy args first
...
And rename them so they make a bit more sense.
2014-05-20 11:28:15 -04:00
Jasper St. Pierre
1ae8edc1d0
BPStructs: Remove another function wrapper
2014-05-20 11:28:15 -04:00
Jasper St. Pierre
b1d3c5937a
BPStructs: Move LoadBPReg here
2014-05-20 11:28:14 -04:00
Jasper St. Pierre
763ad77a1c
BPStructs: Flatten out BPWritten
2014-05-20 11:28:14 -04:00
Jasper St. Pierre
07ab77d31c
BPStructs: Reindent BPWritten
2014-05-20 11:28:08 -04:00
Jasper St. Pierre
c33a1b4b28
BPStructs: Document BPMEM_BP_MASK better
2014-05-20 11:26:31 -04:00
Jasper St. Pierre
2f122ea63c
BPMemory: Fix "DISPLAYCOPYFILER" typo
2014-05-20 11:15:10 -04:00
Jasper St. Pierre
4e8e51b278
BPStructs: Remove calls to SetInterlacedMode when reloading state
...
SetInterlacedMode is a dummy no-op that does nothing.
2014-05-20 11:15:10 -04:00
Jasper St. Pierre
833b7ee584
BPFunctions: Remove the rest of GetConfig
2014-05-20 11:15:09 -04:00
Jasper St. Pierre
08611c3f36
PixelShaderManager: Fizzle out fog changes when disabled here
...
This lets us remove a use of GetConfig.
2014-05-20 11:15:09 -04:00
Jasper St. Pierre
fe645b888b
BPFunctions: Remove use of a dumb method
...
GetPointer serves no purpose.
2014-05-20 11:15:08 -04:00
Jasper St. Pierre
56228cea5d
BPFunctions: Remove an unused method
2014-05-20 11:15:08 -04:00
Jasper St. Pierre
4f4e3fad85
BPMemory: Clean up and rename some variables and comments
...
This is about the register number, not the opcode.
2014-05-20 11:15:08 -04:00
Jasper St. Pierre
e81b62aad1
BPFunctions: Clean up math slightly
...
No need for magic 342 numbers.
2014-05-20 11:14:00 -04:00
degasus
c1b6fcc00b
ogl: pixel format shader without resolving
...
v2: Don't use std::to_string as this function is broken on android.
2014-05-19 09:29:40 +02:00
degasus
e150d307a6
ogl: use ARB_texture_multisample for msaa
2014-05-19 09:21:44 +02:00
degasus
fab78c2dff
ogl: add ARB_texture_multisample
2014-05-19 09:21:44 +02:00
degasus
775858b6bc
ogl: drop NV_framebuffer_multisample_coverage
2014-05-19 09:21:44 +02:00
degasus
afea848e3b
ogl: drop csaa support
2014-05-19 09:21:44 +02:00
magumagu
5dffa28f0a
DVDInterface: make fast disc speed faster.
...
Fixes workaround for crash in Star Wars Rogue Leader.
2014-05-18 20:03:55 -07:00
Jordan Woyak
d841e5176f
Fix game list size display.
2014-05-18 12:17:56 -05:00
Lioncash
554207a87c
Remove an unnecessary null check in CodeWindow.cpp.
...
The validity of ToolBar is checked at the beginning of the function
2014-05-18 11:43:21 -04:00
Pierre Bourdon
826a9e0152
MMIO: Lazy-initialize read/write handlers since most are not actually used
2014-05-18 17:37:33 +02:00
Lioncash
75cb8a7452
Fix a typo in the JIT debugger window
2014-05-18 10:31:39 -04:00
Tony Wasserka
6950f533ae
Merge pull request #355 from magumagu/gx-missing-opcode
...
Opcode decoding: handle missing opcodes 0x88 etc.
2014-05-18 11:12:06 +02:00
Ryan Houdek
a4bb0dafb4
Removes ZeroFrog's "optimized" memcpy and memcmp functions.
...
These were only compiled in on Windows and x86_32.
They provided "optimized" copies and compares based on blocksizes for the AMD Athlon and Duron CPU families.
The code was taken from something that AMD provides with a as-is license.
Just get rid of this crap.
2014-05-17 18:03:31 -05:00
Pierre Bourdon
0f1b1dd3cf
CheckExceptions: add TODO and remove a wrong comment
2014-05-18 00:56:18 +02:00