Commit Graph

13995 Commits

Author SHA1 Message Date
lioncash f69e6ef16f Common: Remove unnecessary define check in Log2 2014-09-03 13:04:48 -04:00
Fiora 5088a2b4e2 x64Emitter: add BMI1/BMI2 support
TZCNT and LZCNT use a completely different encoding scheme, so they should
probably go in a separate patch.

Also add some tests.
2014-09-03 10:04:01 -07:00
skidau 08715167a8 Added code to patch the codehandler's MMIO address to the currently running system. Added code to detect the location of where the code list should be. This allows any Gecko code handler to be used. Replace the codehandler.bin file with the code handler to be used (e.g. codehandleronly.bin). 2014-09-04 00:48:52 +10:00
shuffle2 b583879c2a Merge pull request #944 from delroth/x64emittertest
x64EmitterTest: Fake support for all CPU extensions
2014-09-03 03:37:46 -07:00
shuffle2 7a01effe94 Merge pull request #952 from skidau/openal-soft-1-16-0
Update OpenAL-soft to 1.16.0
2014-09-03 03:21:13 -07:00
Shawn Hoffman fd2343e431 Re-implement hiding of the menubar in fullscreen with render to main. 2014-09-03 03:02:13 -07:00
skidau a148d31718 Update OpenAL-soft to 1.16.0 2014-09-03 19:48:54 +10:00
shuffle2 46c1a0f03b Merge pull request #733 from lioncash/readability
DolphinWX: More readable variable names in BreakpointView
2014-09-03 01:28:17 -07:00
shuffle2 09b11db2ee Merge pull request #951 from shuffle2/Anti-Ultimate-master
Prevent changing adapters during emulation and VideoConfigDiag cleanup
2014-09-03 00:43:11 -07:00
Shawn Hoffman 30dd2809a7 Prevent changing adapters during emulation and VideoConfigDiag cleanup
Author: https://github.com/Anti-Ultimate/dolphin
2014-09-03 00:35:23 -07:00
Dolphin Bot 6e2b873ec1 Merge pull request #781 from RachelBryk/ControlState
Change ControlState typedef to double, and change all related floats/dou...
2014-09-03 09:15:51 +02:00
shuffle2 db84a22109 Merge pull request #770 from lioncash/panic
Core: Fix case where a panic alert wouldn't be shown in MemoryUtil.cpp
2014-09-03 00:10:12 -07:00
shuffle2 60a772c5e8 Merge pull request #901 from Sonicadvance1/64bit-android-cmake
Update the android cmake toolchain file to support 64bit.
2014-09-03 00:09:03 -07:00
Rachel Bryk 5adbc83453 Change ControlState typedef to double, and change all related floats/doubles to use it.
Fixes an off by 1 issue related to double->float->double conversion, and eliminates numerous warnings.
2014-09-03 03:08:09 -04:00
comex 64575d565a Merge pull request #923 from FioraAeterna/fixcallersave
JIT: Fix caller-save registers on WIN64
2014-09-03 02:27:44 -04:00
Dolphin Bot e2dfa603a0 Merge pull request #891 from RachelBryk/netplay-time
Allow system time to move forward during netplay.
2014-09-03 08:26:51 +02:00
comex 51a5311d6a Merge pull request #949 from comex/eviction-policy
Evict registers from the cache based on LRU.
2014-09-03 02:22:45 -04:00
shuffle2 50879f5624 Merge pull request #905 from RachelBryk/status-bar-messages
Add OSD messages back to status bar.
2014-09-02 23:21:58 -07:00
shuffle2 de71db4864 Merge pull request #925 from shuffle2/xbcd-compat
Revert changes to how DInput filters out XInput devices.
2014-09-02 23:21:47 -07:00
shuffle2 532b7bb7da Merge pull request #893 from rohitnirmal/scan-build-fixes
Scan build fixes
2014-09-02 23:15:18 -07:00
shuffle2 d20f5fb861 Merge pull request #946 from ChuckRozhon/fix_cast_bug
Fixed bug introduced in PR#803 caused by casting
2014-09-02 22:58:53 -07:00
shuffle2 5468b535c1 Merge pull request #941 from FioraAeterna/eaxemit
x64Emitter: add support for shorter EAX forms of instructions
2014-09-02 22:54:53 -07:00
shuffle2 c648b7be21 Merge pull request #950 from Sonicadvance1/remove_DebugCount
Remove PowerPCState::DebugCount.
2014-09-02 22:52:51 -07:00
Ryan Houdek 1ad1a9062a Remove PowerPCState::DebugCount.
This value was "helpful" for debugging when the stack got corrupted.
Helpful that if gpr[1](Which is the stack pointer with PPC ABI) is zero then the interpreter would spam huge amounts of annoy text saying that we
managed to get in to a "corrupted" state.
This is incremented every instruction on the interpreter, or every block run on the JIT64....Only if debugging is enabled(JIT64 it is a const
variable)
The message is only outputted when interpreter is used and debugging is enabled.
2014-09-03 00:26:57 -05:00
comex f5c7f676dc Evict registers from the cache based on LRU.
The old method would always evict the first suitable register, i.e. the
same register every time once the cache got full.  The cache doesn't get
terribly often, but the result is pathological...
2014-09-03 01:06:14 -04:00
Dolphin Bot fa29b18e3e Merge pull request #840 from FioraAeterna/jittimer
JIT: implement timer support in mtspr
2014-09-03 07:01:20 +02:00
Fiora 9e4419e786 x64Emitter: add support for shorter EAX forms of instructions
Should save a few bytes of code size here and there.
2014-09-02 21:52:41 -07:00
Fiora 6875d911f1 JIT: merge paired timebase reads where possible
Combined with the previous patch, ~1% faster overall on F-Zero GX.
2014-09-02 21:49:24 -07:00
Fiora 816d056657 JIT: implement timer support in mtspr
Faster, of course, since we avoid the interpreter, but also means we can
get more a more accurate timer in long blocks by adding the offset from the
start of the block to the retrieved timer. I don't know if this will actually
fix any issues, but it's more correct and a nearly-free improvement.
2014-09-02 21:47:45 -07:00
comex b48e059173 Don't switch to a vertex array object of 0.
This causes glDrawArrays to fail in core profile, and thus on OS X, see:

http://renderingpipeline.com/2012/03/attribute-less-rendering/

There must be something bound, even though it is not used.

Fixes #7599.  I'm not sure this is actually the best way to fix it,
since AFAICT it makes a nonobvious assumption that *something* will be
bound before the first attributeless rendering in
TextureConverter::DecodeToTexture, but it's what degasus suggested and
seems to work.
2014-09-03 00:10:45 -04:00
comex dd5be7c0dc Merge pull request #924 from comex/fifo-command-runnable
Refactor opcode decoding a bit to kill FifoCommandRunnable.
2014-09-02 23:27:30 -04:00
Charles Rozhon 0e5fde52ac Fixed bug introduced in PR#803 caused by casting
Also changed casts to C++ style casts to removed some of the ambiguity.
2014-09-02 21:50:43 -05:00
Pierre Bourdon cee71afce5 x64EmitterTest: Fake support for all CPU extensions 2014-09-03 02:26:11 +02:00
Ryan Houdek 031beca9c9 Merge pull request #943 from Sonicadvance1/arm32-asserts
Add some static_asserts to the Arm32 JIT to make sure ppcState is sane.
2014-09-02 18:52:22 -05:00
Ryan Houdek 1bc246735b Add some static_asserts to the Arm32 JIT to make sure ppcState is sane. 2014-09-02 18:38:42 -05:00
Fiora 6655c7775e JIT: Fix callee-save registers on WIN64 2014-09-02 10:56:14 -07:00
Lioncash e10b0d1008 Merge pull request #930 from skidau/openal-seq-ms
Removed the auto setting of SEQUENCE_MS because the synchronised audio c...
2014-09-02 09:56:46 -04:00
Pierre Bourdon ddb2aefedf Merge pull request #904 from FioraAeterna/dcbz
JIT64: try enabling dcbz again
2014-09-02 15:41:40 +02:00
shuffle2 f47c30a804 Merge pull request #940 from delroth/x64emittertest
Add unit tests for the x64Emitter
2014-09-02 02:21:40 -07:00
Pierre Bourdon 5b4f1fe92c UnitTests: Add tests for the x64Emitter 2014-09-02 10:17:32 +02:00
Pierre Bourdon e72146d19c x64Emitter: Do not assert-fail on redundant MOVs, instead show an error log 2014-09-02 10:17:32 +02:00
Pierre Bourdon a79ced2fc2 x64Emitter: Make it clear for both SSE to int conv that X64 regs are expected 2014-09-02 09:55:47 +02:00
Pierre Bourdon c428c5999f x64Emitter: UNPCKLPS/HPS are now tested 2014-09-02 09:53:00 +02:00
Pierre Bourdon cc0b048c0b x64Emitter: Support FLD/FSTP with 80 bits operands 2014-09-02 09:52:59 +02:00
Pierre Bourdon f99f302c91 x64Emitter: assert instead of crashing when generating MOVZX with a wrong size 2014-09-02 09:52:04 +02:00
Pierre Bourdon b1738b60fc x64Emitter: Fix MUL with AH/BH/CH/DH registers. 2014-09-02 09:52:04 +02:00
Pierre Bourdon f0e8b1fda8 x64Emitter: Error out on 8 bits CMOV, and emit 16 bits CMOV properly 2014-09-02 09:52:04 +02:00
Pierre Bourdon d4ec9737bd x64Emitter: Assert when using an invalid POP instead of generating an INT3 2014-09-02 09:52:04 +02:00
Pierre Bourdon 9c4daac3a4 x64Emitter: RDTSC now without a typo'd name 2014-09-02 09:52:04 +02:00
Pierre Bourdon 88af225070 x64Emitter: Remove a declared function that is never implemented 2014-09-02 09:52:04 +02:00