Commit Graph

9940 Commits

Author SHA1 Message Date
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
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
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
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
shuffle2 cc6db8cf26 Merge pull request #939 from shuffle2/fix-memcard-flush2
move the decision to delay raw memcard flushes out of the thread.
2014-09-02 00:28:31 -07:00
Pierre Bourdon 5941653d47 Merge pull request #920 from shuffle2/msvc-gtest
Provide a way to build and run unittests on Windows
2014-09-02 07:40:49 +02:00
Shawn Hoffman 44a1a7cdbe move the decision to delay raw memcard flushes out of the thread.
This allows the flush to work better with games which hammer
memcard accesses over short periods as it delays more of the work.
2014-09-01 22:38:31 -07:00
Pierre Bourdon 9b10d36a85 Merge pull request #938 from lioncash/statics
Common: Make the LUTs in ColorUtil static
2014-09-02 07:36:17 +02:00
Pierre Bourdon 15e19e98cb Merge pull request #937 from lioncash/namespaces
Common: Remove unnecessary "using namespace Gen;" from x64emitter
2014-09-02 07:35:26 +02:00
Pierre Bourdon 8913c71dc1 Merge pull request #936 from lioncash/printf
DolphinWX: Change a wx Printf call to a Format call
2014-09-02 07:34:28 +02:00
Pierre Bourdon 7fb8572765 Merge pull request #935 from lioncash/snprintf
DolphinWX: Get rid of an snprintf call in ISOProperties
2014-09-02 07:33:56 +02:00
Lioncash 824a0a19f1 Common: Make the LUTs in ColorUtil static 2014-09-02 00:52:13 -04:00
Shawn Hoffman 839cace5ff msvc: get UnitTests compiling
Choose it from VS or pass /p:RunUnitTests=true to msbuild
2014-09-01 21:27:45 -07:00
Shawn Hoffman 0625b5defb windows: make failure to load hid.dll or bthprops.cpl not pop a msgbox, and not crash 2014-09-01 21:27:44 -07:00
Shawn Hoffman 266992684d msvc: remove some remnants of SDL and DSound from projects and general cleanup. 2014-09-01 21:27:44 -07:00
skidau d287a278cf Merge pull request #880 from RachelBryk/log
Disable all logs by default.
2014-09-02 13:50:26 +10:00
Dolphin Bot e5705a9273 Merge pull request #908 from FioraAeterna/fixenhancedbat
MMU: fix enhanced BAT support
2014-09-02 05:46:03 +02:00
Fiora 3aa40dab00 JIT64: optimize carry calculations
Omit carry calculations that get overwritten later in the block before they're
used. Very common in the case of srawix and friends.
2014-09-01 20:41:48 -07:00
Fiora a40278b1c4 JIT64: support merged branching for rlwinmx, too
Not quite as common a branch instruction as cmpwi, but close.
2014-09-01 20:41:12 -07:00
Fiora 10d691a277 JIT64: optimize some special cases of srawix
Shift by 31 and 1, both of which are pretty common, can be done in a few less
instructions. Tested with a hwtest.
2014-09-01 20:41:12 -07:00
Fiora 805be80f12 JIT64: Optimize carry handling
Carries are rather common and unpredictable, so do them branchlessly wherever
we can.
2014-09-01 20:41:11 -07:00
Fiora ee24d4714a JIT64: tweak srwx/slwx BindToRegister arguments
Register B gets immediately moved into the shift register, so even if a == b
it doesn't need to be loaded.
2014-09-01 20:41:11 -07:00
Fiora ad51fc7c4b JIT64: use xor instead of mov for loading a zero regcache immediate 2014-09-01 20:41:10 -07:00
Fiora 27996a65cf JIT64: use LEA for the "a = b + imm" case of addi 2014-09-01 20:41:10 -07:00
Fiora cd0c52b537 JIT64: avoid using LEA for adds when not necessary 2014-09-01 20:41:10 -07:00
Fiora 355850f499 JIT64: optimize sign/zero-extend
Also remove some comments that no longer apply since x86_32 was dropped.
2014-09-01 20:41:09 -07:00
Fiora 61af91ff16 JIT64: Optimize cmpXX
Use TEST instead of CMP if we're comparing against 0 (rather common), and
optimize the case of immediate compares further.
2014-09-01 20:41:09 -07:00
Fiora 41c3dde737 JIT64: optimize rlwinmx/rlwinix and friends
Take advantage of movzx as a replacement for anding with 0xff or 0xffff, and
abuse loads from the register cache to save ops.
2014-09-01 20:41:08 -07:00
Fiora 58dc802ce2 JIT64: optimize multiplication by immediate constants
Factor out common code and handle a few more common cases.
2014-09-01 20:41:08 -07:00
Fiora b51aa4fa89 Rename Log2 and add IsPow2 to MathUtils for future use
Also remove unused pow2/pow2f functions.
2014-09-01 20:41:07 -07:00
Lioncash ec9fc6bfc1 Common: Remove unnecessary "using namespace Gen;" from x64emitter 2014-09-01 23:10:56 -04:00
Lioncash e8a929ac1d DolphinWX: Change a wx Printf call to a Format call 2014-09-01 22:02:38 -04:00
Lioncash 56122728c8 DolphinWX: Get rid of an snprintf call in ISOProperties 2014-09-01 21:55:38 -04:00
Lioncash 20c2e8e895 DolphinWX: Get rid of unnecessary getName function in LogWindow 2014-09-01 20:15:50 -04:00
Shawn Hoffman 3c0227445c Revert changes to how DInput filters out XInput devices.
This is to remain compatible with XBCD devices.
2014-09-01 14:56:11 -07:00
Lioncash 1977ea42ae DiscIO: Prefix class member variables with "m_" 2014-09-01 15:48:02 -04:00
comex 608f9bcd67 Refactor opcode decoding a bit to kill FifoCommandRunnable.
Separated out from my gpu-determinism branch by request.  It's not a big
commit; I just like to write long commit messages.

The main reason to kill it is hopefully a slight performance improvement
from avoiding the double switch (especially in single core mode);
however, this also improves cycle calculation, as described below.

- FifoCommandRunnable is removed; in its stead, Decode returns the
number of cycles (which only matters for "sync" GPU mode), or 0 if there
was not enough data, and is also responsible for unknown opcode alerts.

Decode and DecodeSemiNop are almost identical, so the latter is replaced
with a skipped_frame parameter to Decode.  Doesn't mean we can't improve
skipped_frame mode to do less work; if, at such a point, branching on it
has too much overhead (it certainly won't now), it can always be changed
to a template parameter.

- FifoCommandRunnable used a fixed, large cycle count for display lists,
regardless of the contents.  Presumably the actual hardware's processing
time is mostly the processing time of whatever commands are in the list,
and with this change InterpretDisplayList can just return the list's
cycle count to be added to the total.  (Since the calculation for this
is part of Decode, it didn't seem easy to split this change up.)

To facilitate this, Decode also gains an explicit 'end' parameter in
lieu of FifoCommandRunnable's call to GetVideoBufferEndPtr, which can
point to there or to the end of a display list (or elsewhere in
gpu-determinism, but that's another story).  Also, as a small
optimization, InterpretDisplayList now calls OpcodeDecoder_Run rather
than having its own Decode loop, to allow Decode to be inlined (haven't
checked whether this actually happens though).

skipped_frame mode still does not traverse display lists and uses the
old fake value of 45 cycles.  degasus has suggested that this hack is
not essential for performance and can be removed, but I want to separate
any potential performance impact of that from this commit.
2014-09-01 14:35:23 -04:00
Pierre Bourdon 5cc0bda3d5 Merge pull request #932 from lioncash/ptr
DolphinWX: Use normal instantiation of wxTimer in HotkeyDlg
2014-09-01 20:12:13 +02:00
Pierre Bourdon d9950d8cab Merge pull request #921 from lioncash/unique
DiscIO: Move some raw pointers over to unique_ptr
2014-09-01 20:11:18 +02:00
Lioncash 1ad3740770 DolphinWX: Use normal instantiation of wxTimer in HotkeyDlg 2014-09-01 13:44:16 -04:00
Lioncash 4bbf96ffd2 Merge pull request #922 from lioncash/export
DolphinWX: Fix exporting of Wii save files
2014-09-01 11:05:05 -04:00
Pierre Bourdon 24b5ce2ddc Merge pull request #917 from lioncash/input
InputCommon: Rename class InputPlugin to InputConfig
2014-09-01 16:36:52 +02:00
Lioncash 27bd0ce70e Merge pull request #929 from skidau/dsp-acc-loop
Take the size of the audio data into account when checking for the loop address
2014-09-01 10:07:43 -04:00
skid 91a6962565 Take the size of the audio data into account when checking for the loop address. Fixes the static audio in the FMV of Megaman X Collection, Pac Man World 2, off pitched instruments in Skies of Arcadia and audio desync in the Taiko no Tatsujin series.
Fixes:
issue 7154
issue 7222
issue 7280
issue 7457
2014-09-01 21:43:33 +10:00
skid c2d7801ceb Removed the auto setting of SEQUENCE_MS because the synchronised audio code has made it unnecessary. 2014-09-01 20:28:29 +10:00
Pierre Bourdon 494a60e41b VertexLoader: Change VtxDesc to use u64 instead of u32
This is required to make packing consistent between compilers: with u32, MSVC
would not allocate a bitfield that spans two u32s (it would leave a "hole").
2014-09-01 11:18:02 +02:00
Lioncash 22c7664aaf DolphinWX: Fix exporting of Wii save files
This would trip an out of bounds assert due the fact that the size is reserved, but the vector is not actually resized.
2014-08-31 15:23:25 -04:00
Lioncash 4cb46879bc DiscIO: Move some raw pointers over to unique_ptr 2014-08-31 14:48:57 -04:00
Lioncash f8e24de833 Merge pull request #907 from FioraAeterna/rollbacklmw
JIT: revert lmw optimizations
2014-08-31 13:51:24 -04:00
Lioncash 1a3ebbb831 InputCommon: Rename class InputPlugin to InputConfig 2014-08-31 00:59:06 -04:00
Pierre Bourdon ea7eee1f58 Merge pull request #913 from lioncash/movie-func
Core: Break movie header validity checking into a function
2014-08-31 06:55:04 +02:00
Lioncash f22597a4ee Core: Break movie header validity checking into a function 2014-08-31 00:52:36 -04:00
Pierre Bourdon ee880ea73c Merge pull request #914 from lioncash/potential-uninitialized
Core: Fix potential uninitialized variable warnings in Wii_IPC_HLE_Devices_es.cpp
2014-08-31 06:46:45 +02:00
Lioncash 377a1c8f20 AudioCommon: Get rid of now unused handle param for InitSoundStream() 2014-08-30 23:36:00 -04:00
Ryan Houdek 1a6268e6cf Merge pull request #899 from FioraAeterna/checkram
JIT: fix RAM check in load-from-constant-address
2014-08-30 20:49:33 -05:00
Lioncash 2f7df4a803 AudioCommon: Declare iterator variable in loop body in DPL2Decoder 2014-08-30 21:10:18 -04:00
Lioncash 5f43685f4e Core: Fix potential uninitialized variable warnings in Wii_IPC_HLE_Device_es.cpp 2014-08-30 19:06:07 -04:00
Lioncash beb95b75ca PPCAnalyst: Use std::swap instead of making a temporary variable 2014-08-30 18:32:09 -04:00
Lioncash eb535be874 Core: Clean up brace placements 2014-08-30 18:06:49 -04:00
Lioncash 8553b0f27b DolphinWX: Clean up brace placements 2014-08-30 18:06:48 -04:00
Lioncash 844d45b26e D3D: Clean up brace placements 2014-08-30 18:06:47 -04:00
Lioncash 4af8d9d248 VideoCommon: Clean up brace placements 2014-08-30 18:06:45 -04:00
Lioncash bc14d6966f InputCommon: Clean up brace placements 2014-08-30 18:06:44 -04:00
Lioncash 55a0034dd5 DiscIO: Clean up brace placements 2014-08-30 18:06:43 -04:00
Lioncash f94e764df5 AudioCommon: Clean up brace placements 2014-08-30 18:06:42 -04:00
Lioncash ba4934b75e Common: Clean up brace placements 2014-08-30 18:06:35 -04:00
Lioncash 77aef014a0 Merge pull request #909 from lioncash/void
Get rid of C-style empty function parameter indicators
2014-08-30 15:28:47 -04:00
Lioncash 1d706b2311 Get rid of C-style empty function parameter indicators 2014-08-30 15:23:48 -04:00
Lioncash 265504bc23 Merge pull request #910 from lioncash/bitwise
Core: Change a bitwise OR fail case to a logical AND success check in ActionReplay.cpp
2014-08-30 15:19:49 -04:00
Lioncash d7db9dd1a8 Core: Change a bitwise OR fail case to a logical AND success check in
ActionReplay.cpp
2014-08-30 15:17:15 -04:00
Fiora 08ab2d3110 MMU: fix enhanced BAT support
I don't know what I can test this on, but it was definitely broken before.
Seems to be a few clock cycles faster too due to the refactoring?
2014-08-30 05:47:05 -07:00
Fiora 1ed6be12b9 JIT: revert lmw optimizations
This seems to break Star Wars Rogue Leader and I have no idea why, so for the
meantime I'm just going to revert it since it's not very important.
2014-08-30 04:17:48 -07:00
Lioncash cee3362e33 DiscIO: Get rid of unnecessary struct differencing 2014-08-29 20:07:55 -04:00
Rachel Bryk ecdd0f6ac0 Add OSD messages back to status bar.
OSD messages can be disabled, while still leaving them in the status bar. This is incredibly useful for certain users, who may wish to see the messages, but do not wish to have them cover up half of the screen. In particular TASers will generally have OSD messages on the screen 100% of the time, and they cover up useful information, making it critical to turn them off. However the messages are still very useful to them, so it's important to have them somewhere.

This reverts 4a16211bae.
2014-08-29 17:46:41 -04:00
Fiora 6f617c4175 JIT64: try enabling dcbz again
This time, check the address carefully beforehand, since apparently some games
do horrible things like running it on non-RAM addresses, or at the very least
virtual addresses.
2014-08-29 12:19:58 -07:00
Ryan Houdek 5724e4021d Remove the SSE2 messagebox.
This is no longer required since we don't support x86_32 anymore.
x86_64 implies SSE2 support.
Also this check was a bit messed up and was hitting on Generic builds.
2014-08-29 12:13:54 -05:00
Dolphin Bot d159bc9998 Merge pull request #886 from RachelBryk/netplay-buffer
Change default netplay buffer to 5.
2014-08-29 06:51:56 +02:00
comex 683191b6c6 Merge pull request #892 from comex/oh-the-abstraction
Optimize PointerWrap.
2014-08-28 17:28:16 -04:00
Fiora 88095a607a JIT: fix RAM check in load-from-constant-address
A bug that seems to have been uncovered by allowing immediate-address loads.
Super Monkey Ball 2 crashes without this change -- it's possible, however, that
the game actually requires the MMU hack, since it crashed due to accessing an
address in the 0x20000000-0x3fffffff range.
2014-08-28 12:54:23 -07:00
comex faa2666393 PointerWrap currently checks its mode for every individual byte of everything it 'does', including all of RAM. Make it not do that.
Decreases total Wii state save time (not counting compression) from
~570ms to ~18ms.

The compiler can't remove this check because of potential aliasing; this
might be fixable (e.g. by making mode const), but there is no reason to
have the code work in such a braindead way in the first place.

- DoVoid now uses memcpy.
- DoArray now uses DoVoid on the whole rather than Doing each element
(would fail for an array of STL structures, but we don't have any of
those).
- Do also now uses DoVoid.  (In the previous version, it replicated
DoVoid's code in order to ensure each type gets its own implementation,
which for small types then becomes a simple load/store in any modern
compiler.  Now DoVoid is __forceinline, which addresses that issue and
shouldn't make a big difference otherwise - perhaps a few extra copies
of the code inlined into DoArray or whatever.)
2014-08-28 15:35:19 -04:00
Ryan Houdek ad8fe0fb52 Merge pull request #879 from FioraAeterna/frspx
JIT64: add frspx implementation
2014-08-28 14:12:21 -05:00
Fiora c359d65dfe JIT64: add frspx implementation 2014-08-28 11:40:31 -07:00
Ryan Houdek 4a78a8a72a Merge pull request #876 from FioraAeterna/floatloadstore
JIT64: clean up and unify float load/store code
2014-08-28 13:37:27 -05:00
Dolphin Bot 359aa664e1 Merge pull request #898 from FioraAeterna/fprffix
JIT: make fprf conditional in fcmp, just like the other instructions
2014-08-28 20:25:26 +02:00
Dolphin Bot 5e514dcfbc Merge pull request #881 from FioraAeterna/mulhwx
JIT64: add mulhwx implementation
2014-08-28 20:25:13 +02:00
Fiora 7929f2f033 JIT: make fprf conditional in fcmp, just like the other instructions
Missed in the FPRF merge (it didn't break anything, but it's probably a bit
slower and not consistent with the others).
2014-08-28 11:19:09 -07:00
Ryan Houdek 23bf8df0e2 Merge pull request #894 from FioraAeterna/missingcvt
x64Emitter: add support for some missing CVT instructions
2014-08-28 13:18:35 -05:00
Ryan Houdek 0217fb2008 Merge pull request #843 from FioraAeterna/fprf
JIT: Initial FPRF support
2014-08-28 13:15:50 -05:00
Dolphin Bot 1cf77c773b Merge pull request #758 from FioraAeterna/loadstoreopt
Jit64: some load/store optimizations
2014-08-28 19:30:26 +02:00
Fiora 043256449e Jit64: some load/store optimizations
Avoid extra ops during address calculation in loads; use LEAs or immediates
whenever possible.
2014-08-28 10:12:55 -07:00
Ryan Houdek c908a1e212 Merge pull request #882 from Sonicadvance1/fix-pp-blackness
Fix PostProcessing shader garbage on screen.
2014-08-28 10:29:03 -05:00
Ryan Houdek ca68526ec7 Clear the texture used by PP shaders prior to use.
We were generating a texture without ever setting the data to a known value.
This happened on the old code as well, just that PP shaders are receiving some love and people are using it and noticing some of its issues.
2014-08-28 10:16:39 -05:00
Ryan Houdek 8e7d7418af Merge pull request #890 from degasus/glx
glx: fix shutdown hang
2014-08-28 09:13:50 -05:00
Lioncash 6955e023a0 Merge pull request #877 from lioncash/voldir
DiscIO: Move VolumeDirectory off of raw pointers
2014-08-28 04:11:33 -04:00
comex a4a533e39f Re-enable the vertex loader JIT on OS X.
Why was it ever disabled?
2014-08-27 23:50:59 -04:00
Fiora f9d4ff0d5d x64Emitter: add support for some missing CVT instructions 2014-08-27 20:15:42 -07:00
Rohit Nirmal 4c14ebdf32 Remove pointless initializations. 2014-08-27 20:36:49 -05:00
Rohit Nirmal 9e340b1c81 Initialize variables to silence garbage return warning from scan-build. 2014-08-27 20:35:20 -05:00
Rachel Bryk a3cfc98f26 Allow system time to move forward during netplay. 2014-08-27 16:45:15 -04:00
degasus 8b0ad5daec glx: fix shutdown hang 2014-08-27 18:16:56 +02:00
Pierre Bourdon 7d05ebbc9b Merge pull request #888 from FioraAeterna/fmulinterp
Fix another absent-minded typo in the fmul interpreter patch
2014-08-27 10:57:09 +02:00
Fiora 7e07acbf3f Fix another absent-minded typo in the fmul interpreter patch 2014-08-26 23:00:11 -07:00
shuffle2 061f2058c2 Merge pull request #887 from FioraAeterna/fmulinterp
Bugfixes for fmul rounding
2014-08-26 21:50:43 -07:00
Fiora 1a0a33518b Bugfixes for fmul rounding
Fix the places I forgot to add Force25Bit, and fix an incredibly silly typo bug
2014-08-26 21:37:45 -07:00
Rachel Bryk 31353573cb Change default netplay buffer to 5. 2014-08-26 21:50:30 -04:00
Fiora 7dbc623dc0 JIT: Initial FPRF support
Doesn't support all the FPSCR flags, just the FPRF ones.
Add PPCAnalyzer support to remove unnecessary FPRF calculations.

POV-ray benchmark with enableFPRF forced on for an extreme comparison:
Before: 1500s
After, fmul/fmadd only: 728s
After, all float: 753s

In real games that use FPRF, like F-Zero GX, FPRF previously cost a few percent
of total runtime.

Since FPRF is so much faster now, if enableFPRF is set, just do it for every
float instruction, not just fmul/fmadd like before. I don't know if this will
fix any games, but there's little good reason not to.
2014-08-26 10:57:03 -07:00
comex e31d6feaa2 Unify three types of non-FIFO requests to the GPU thread around Common::Event and Common::Flag.
The only possible functionality change is that s_efbAccessRequested and
s_swapRequested are no longer reset at init and shutdown of the OGL
backend (only; this is the only interaction any files other than
MainBase.cpp have with them).  I am fairly certain this was entirely
vestigial.

Possible performance implications: efbAccessReady now uses an Event
rather than spinning, which might be slightly slower, but considering
the slow loop the flags are being checked in from the GPU thread, I
doubt it's noticeable.

Also, this uses sequentially consistent rather than release/acquire
memory order, which might be slightly slower, especially on ARM...
something to improve in Event/Flag, really.
2014-08-26 12:43:39 -04:00
comex de7294ecc1 Add Flag support to ChunkFile.h 2014-08-26 12:43:39 -04:00
comex 45a4236283 A tiny restructuring to allow inlining of FifoCommandRunnable. Probably useless. 2014-08-26 12:43:39 -04:00
comex 14125cf951 Refactor SetCpStatus into two functions for from-GPU and from-CPU mode rather than a boolean parameter.
This shouldn't affect functionality.  I'm not sure if the breakpoint
distinction is actually necessary (my commit messages from the old
dc-netplay last year claim that breakpoints are broken anyway, but I
don't remember why), but I don't actually need to change this part of
the code (yet), so I'll stick with the trimmings change for now.
2014-08-26 12:43:39 -04:00
Dolphin Bot f52888d3ec Merge pull request #884 from FioraAeterna/ppcfpopt
PPCFP: add comment
2014-08-26 18:28:26 +02:00
Fiora 288babf414 PPCFP: add comment 2014-08-26 09:08:22 -07:00
Fiora 90324f3809 JIT64: add mulhwx implementation 2014-08-26 01:09:04 -07:00
Rachel Bryk 5d20455e7d Disable all logs by default. 2014-08-26 03:59:17 -04:00
Lioncash 5082afa670 DiscIO: Move VolumeDirectory off of raw pointers 2014-08-26 00:23:16 -04:00
Fiora aaca1b01e5 JIT64: clean up and unify float load/store code
While we're at it, support a bunch of float load/store variants that weren't
implemented in the JIT. Might not have a big speed impact on typical games but
they're used at least a bit in povray and luabench.

694 -> 644 seconds on povray.
2014-08-25 19:51:40 -07:00
Lioncash f18fec81fe DiscIO: Make the unordered set in IsSoundFile static
Doesn't need to be instantiated every time the function is called.
2014-08-25 19:56:09 -04:00
Tillmann Karras 07c7e6f35e CommandProcessor: mark some functions as static 2014-08-25 21:09:42 +02:00
Lioncash 44ee2f20b9 Merge pull request #874 from FioraAeterna/fixidiocy
JIT: fix incredibly silly mistake in fmul rounding patch
2014-08-25 13:22:33 -04:00
Lioncash 8a77fe0539 Merge pull request #865 from lioncash/debugger-stuff
DolphinWX: Use wxGraphicsContext in the Code View for the debugger.
2014-08-25 13:21:32 -04:00
Fiora f04e362721 JIT: fix incredibly silly mistake in fmul rounding patch 2014-08-25 10:10:28 -07:00
Pierre Bourdon bf93920c05 Revert "Catch broken configurations inside of the Post Processing shaders." 2014-08-25 14:33:41 +02:00
Dolphin Bot 2f2f992bc7 Merge pull request #828 from Sonicadvance1/pp-shader-catch-broken-config
Catch broken configurations inside of the Post Processing shaders.
2014-08-25 09:17:30 +02:00
comex 6574682ff5 Remove unused variable m_zero. 2014-08-24 16:22:19 -04:00
comex d128795594 Merge pull request #862 from comex/registersinuse
Reduce my idiocy in register saving code.
2014-08-24 16:16:32 -04:00
comex a7752f49be Merge pull request #861 from comex/warnings
Fix warnings for OS X
2014-08-24 16:15:58 -04:00
comex 80da767576 Improve wording of a particularly atrocious message.
(Now without gettextize.)
2014-08-24 16:00:58 -04:00
comex cf01f47b52 Fix bloody printf specifiers.
In particular, even in code that only runs on x86-64, you can't use
PRIx64 for size_t because, on OS X, one is unsigned long and the other
is unsigned long long and clang whines about the difference.  I guess
you could make a size_t specifier macro, but those are horribly ugly, so
I just used casting.

Anyone want to make a nice (and slow) template-based printf?

Now without bare 'unsigned'.
2014-08-24 15:56:41 -04:00
Lioncash f239ea3853 DolphinWX: Parenthesize some expressions in CodeView.cpp 2014-08-24 15:40:19 -04:00
Lioncash c3e41809d9 DolphinWX: Move the CodeView debugger view over to wxGraphicsContext
This is a more advanced drawing 'backend' over the previous one and allows us to control things like transparency and anti-aliasing, etc.
2014-08-24 15:40:05 -04:00
Pierre Bourdon 9ff7125786 Merge pull request #810 from lioncash/controller-interface
InputCommon: Don't base default radius of analog sticks off of their name
2014-08-24 19:58:25 +02:00
Pierre Bourdon ebf1b98106 Merge pull request #834 from FioraAeterna/fixfmulrounding
JIT64: Fix fmul rounding issues
2014-08-24 19:49:56 +02:00
Fiora 4d7b1275c9 Interpreter: apply the same odd rounding to single multiplies as the JIT 2014-08-24 10:28:52 -07:00
Fiora 4f18f6078f JIT64: Fix fmul rounding issues
Thanks to magumagu's softfp experiments, we know a lot more about the Wii's
strange floating point unit than we used to. In particular, when doing a
single-precision floating point multiply (fmulsx), it rounds the right hand
side's mantissa so as to lose the low 28 bits (of the 53-bit mantissa).

Emulating this behavior in Dolphin fixes a bunch of issues with games that
require extremely precise emulation of floating point hardware, especially
game replays. Fortunately, we can do this with rather little CPU cost; just ~5
extra instructions per multiply, instead of the vast load of a pure-software
float implementation.

This doesn't make floating-point behavior at all perfect. I still suspect
fmadd rounding might not be quite right, since the Wii uses fused instructions
and Dolphin doesn't, and NaN/infinity/exception handling is probably off in
various ways... but it's definitely way better than before.

This appears to fix replays in Mario Kart Wii, Mario Kart Double Dash, and
Super Smash Brothers Brawl. I wouldn't be surprised if it fixes a bunch of
other stuff too.

The changes to instructions other than fmulsx may not be strictly necessary,
but I included them for completeness, since it feels wrong to fix some
instructions but not others, since some games we didn't test might rely on
them.
2014-08-24 10:28:52 -07:00
Pierre Bourdon aaff5a0afb Merge pull request #856 from FioraAeterna/ppcfpopt
JIT: faster PPC_FP code
2014-08-24 19:25:56 +02:00
Dolphin Bot f31ebd23bb Merge pull request #864 from FioraAeterna/avx2bmi
Add AVX2/BMI1/BMI2 detection support
2014-08-24 18:55:01 +02:00
Fiora ce6d09ca5d Add AVX2/BMI1/BMI2 detection support
Also clean up the formatting in a bit of the CPU detection code.
2014-08-24 09:14:54 -07:00
comex d19ec35363 Reduce my idiocy in register saving code.
(1) Rename ABI_ALL_CALLEE_SAVED to ABI_ALL_CALLER_SAVED, because that's
what it was actually defined as (and used as).  Derp.

(2) RegistersInUse is always used for the purpose of saving registers
before calling a C++ function in the middle of a JIT block (without
flushing).  There is no need to save callee-saved registers in this
case.  Change the name to CallerSavedRegistersInUse and mask with
ABI_ALL_CALLER_SAVED.

Nothing obvious broke when starting up a Melee game.  (I added a test
for anything actually being masked out; it happens, but in this
particular case seemed to occur at most a few dozen times per second, so
the actual performance benefit is probably negligible.)
2014-08-23 15:46:10 -04:00
comex e0f35e0e59 Remove unused declarations. 2014-08-23 15:26:59 -04:00
Dolphin Bot 43f890322f Merge pull request #845 from ChuckRozhon/switch_to_cstdint
Changed unsigned ints and chars to cstdint counterparts
2014-08-23 21:18:18 +02:00
Shawn Hoffman af2405eefd Remove dsound audio backend.
There isn't any reason to use dsound over xaudio.
2014-08-23 11:19:19 -07:00
Shawn Hoffman 1332805bb6 Add headers required by XAudio2_7 to externals.
This makes all builds' audio compatible with downlevel Windows and removes
the need for developers to install the June 2010 DirectX SDK.
2014-08-23 11:03:07 -07:00
Shawn Hoffman 327d35377d windows: remove now-extraneous NOMINMAX and WIN32_LEAN_AND_MEAN #defines from dolphin code.
Wrap dinput.h in a header defining DIRECTINPUT_VERSION instead of repeating it multiple places.
2014-08-23 10:48:48 -07:00
Pierre Bourdon 6a5188c9bc Merge pull request #839 from Tilka/emitter
x64Emitter: small source-level fixes
2014-08-23 19:37:24 +02:00
Pierre Bourdon f7102faae7 Merge pull request #853 from lioncash/memmap
Core: Simplify Memory::GetString
2014-08-23 19:19:09 +02:00
Fiora 59c1a46ab1 JIT: faster PPC_FP code
The PPC_FP conversion code can be made a lot simpler with the observation
that the only values that need to be sent through the slow x87 path are
denormals.

A whole bunch faster: 708->678 seconds on POV-RAY.
2014-08-23 07:44:42 -07:00
Lioncash 6a74f5e8f6 Merge pull request #817 from archshift/disabledcolor
Fixed toolbar's disabled button color.
2014-08-23 05:08:26 -04:00
Lioncash 41577f044a Merge pull request #844 from lioncash/wx-hotkey
DolphinWX: Get rid of unnecessary hotkey code.
2014-08-22 19:52:18 -04:00
Jasper St. Pierre 1e464d1a25 Frame: Actually call UpdateTitle
This was obviously what I meant to do, but due to a typo, called
SetTitle instead, causing the main game list title to be set instead.
2014-08-22 17:28:02 -04:00
Ryan Houdek db039d1440 Merge pull request #850 from lioncash/unused-headers
Core: Removed blank headers Boot_ELF.h and Boot_WiiWAD.h
2014-08-22 02:07:10 -05:00
Lioncash 130f57df91 Core: Simplify Memory::GetString 2014-08-22 01:22:58 -04:00
Ryan Houdek fc5a73d62e Merge pull request #849 from FioraAeterna/fixppcanalyzer
PPCAnalyzer: move num_instructions initialization to correct place
2014-08-22 00:14:11 -05:00
Lioncash 48f52b9662 Merge pull request #789 from archshift/linuxvideo
Fix for black screen on Linux upon starting a game
2014-08-21 15:55:29 -04:00
archshift 7e2534ee47 Fixed black screen on game start for X11 contexts. 2014-08-21 12:50:42 -07:00
Lioncash de9edbeebf Core: Removed blank headers Boot_ELF.h and Boot_WiiWAD.h 2014-08-21 15:30:51 -04:00
Lioncash 25e29c323d Merge pull request #842 from lioncash/jit
Coding style clean up for the Jit, JitARM and JitIL
2014-08-21 15:25:43 -04:00
Fiora 5c0145f71b PPCAnalyzer: move num_instructions initialization to correct place
Much of the PPC Analyzer code (e.g. instruction reordering for merging
branches) wasn't actually being run.
2014-08-21 11:19:23 -07:00
Lioncash f17dcd2019 Merge pull request #764 from magcius/new-nogui-2
Rewrite GLInterface
2014-08-21 14:14:54 -04:00
Shawn Hoffman 9ac5d7ecd5 msvc: skip copying Data dir and precompiled dlls to Binary dir if they are already there (unless the source files are newer).
Also fix a bug which was preventing DolphinWX/AfterBuild target from being completely skipped.
2014-08-20 16:57:34 -07:00
Charles Rozhon 965b1f1f2c Removed the typedefs for Elf32 word types 2014-08-20 15:21:41 -05:00
Charles Rozhon d84b2f3be4 Changed unsigned ints and chars to cstdint counterparts 2014-08-20 14:52:01 -05:00
Lioncash 77ce389bb0 DolphinWX: Get rid of unnecessary hotkey code. 2014-08-20 14:43:08 -04:00
Lioncash b5337ea1b5 Merge pull request #826 from lioncash/wx-events
DolphinWX: Use the typesafe equivalents for declaring wx event types
2014-08-20 14:34:17 -04:00
Lioncash 20f8ec9afa Core: Join a few if statements in IR.cpp 2014-08-20 14:26:16 -04:00
Lioncash 99ae79f7f9 Core: Better assert messages for stx op 2014-08-20 14:16:05 -04:00
Lioncash d694637938 Core: Clean up brace/body placements for JitIL 2014-08-20 14:04:01 -04:00
Lioncash b005ba2797 Core: Clean up body/brace placements in JitArm32 2014-08-20 14:03:46 -04:00
Lioncash 6145ced5f7 Core: Change "unsigned result" to "u32 result" in rlwinmx for Jit64 2014-08-20 12:51:30 -04:00
Lioncash e7f49692e8 Core: Clean up body/brace placements in Jit64 and JitCommon 2014-08-20 12:50:42 -04:00
Shawn Hoffman d9fcc855a7 msvc: resolve all warnings in DolphinWX.
Also, bring WiiSaveCrypted closer to modern dolphin coding style.
2014-08-19 22:33:48 -07:00
Shawn Hoffman 5471c71819 msvc: resolve all warnings in VideoBackends/OGL. 2014-08-19 22:33:47 -07:00
Shawn Hoffman fd16065979 msvc: resolve all warnings in VideoBackends/Software. 2014-08-19 22:33:47 -07:00
Shawn Hoffman 4bf031c064 msvc: resolve all warnings in VideoCommon. 2014-08-19 22:33:46 -07:00
Shawn Hoffman 043ea31f14 msvc: resolve all warnings in Core.
Note: vs14 will support empty macro parameter as used by MMIO.
2014-08-19 22:33:46 -07:00
Shawn Hoffman 9df2127865 msvc: enable strictStrings solution-wide for release.
strictStrings is not supported by debug libraries, and indeed breaks the build.
Drop wbemidl.h (incompatible with strictStrings) dependency by using SDL-style search for XInput GUIDs.
2014-08-19 20:33:24 -07:00
Tillmann Karras 80be585fef x64Emitter: remove redundant "Gen::" 2014-08-20 02:56:07 +02:00
Tillmann Karras a363f4fa3e x64Emitter: make 'packed' parameter a bool 2014-08-20 02:54:30 +02:00
Lioncash a013830b4f Core: Fix vertical alignment of a table in DSPTables.cpp 2014-08-19 13:58:59 -04:00
Jasper St. Pierre 6dbafa9238 Core: Move the titlebar / statusbar abstraction to DolphinWX
The concept of a "title bar" / "status bar" shouldn't be a core concept,
so remove the Host_UpdateStatusBar function, and move the code handles
whether to update the status bar or titlebar into DolphinWX.
2014-08-19 10:37:47 -04:00
Jasper St. Pierre 3bad4bcfdb PPCSymbolDB: Don't show any messages in the status bar
These don't really help anybody. We don't even have a status bar
in MainNoGUI -- status bar text should be controlled by the UI, not the
core code!
2014-08-19 10:09:33 -04:00
Jasper St. Pierre 4a16211bae Core: Don't display messages in the titlebar / statusbar
We already put them on-screen, that should be good enough.
2014-08-19 10:07:59 -04:00
Jasper St. Pierre 271efb450c Add back X11 support to EGL
Refactor the EGL backend to provide a platform separation here, which is
better abstracted away than the old EGL/X11 implementation.
2014-08-19 10:06:26 -04:00
Jasper St. Pierre e39543b963 X11_Util: Don't specify a background pixel
This causes flickering when resizing the window, which looks horrid
and we shouldn't do it.
2014-08-19 10:06:25 -04:00
Jasper St. Pierre 2d974b6086 GLInterface: Destroy GLWin
Everything is now safely tucked inside each individual GLInterface.
2014-08-19 10:06:25 -04:00
Jasper St. Pierre 63f1a16969 Core: Remove UpdateFPSDisplay
This is effectively unused, as the window handles that we pass to the
GLInterface are window handles for the frame which isn't ever a real
toplevel window. Host_UpdateTitle is what actually sets the proper title
on the render window.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre 7ca8d8dfc7 Core: Don't pass through a reference to the window handle
Now that MainNoGUI is properly architected and GLX doesn't need to
sometimes craft its own windows sometimes which we have to thread back
into MainNoGUI, we don't need to thread the window handle that GLX
creates at all.

This removes the reference to pass back here, and the g_pWindowHandle
always be the same as the window returned by Host_GetRenderHandle().

A future cleanup could remove g_pWindowHandle entirely.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre 6e312dce91 Core: Remove Core::GetWindowHandle
Finally, it's unused. Whoa.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre e2e3f2a20b EGL: Stop the window_handle shuffling as well 2014-08-19 10:05:58 -04:00
Jasper St. Pierre e7471958e4 X11_Util: Resize the GLX window by listening to events on the parent
We now have two cases: the GLX window is parented into a frame, or it's
parented into the MainNoGUI host. In both cases, the GLX window should
be locked to the size of the parent, so just sync it up based on that.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre d6f4f4df42 MainNoGUI: Move a majority of the event handling from the GLX backend
The only reason the GLX backend handled this at all was because
MainNoGUI didn't make its own window before. This is unused in DolphinWX
builds.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre 0dd7f6f5ea MainNoGUI: Supply a window in Host_GetRenderHandle
Our existing code was relying on the GLX backend to create the GLX
window properly, and for the rest of the code to patch that up, sort
of. If we rely on Host_GetRenderHandle() returning a valid window, we
can do a lot better about this.

Create a simple window inside MainNoGUI to make this happen.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre 071e175a1d X11Utils: Explicitly pass the window to fullscreen into ToggleFullscreen
MainNoGUI is going to create its own window soon, and we need to
fullscreen that one instead of the GLX window.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre 2eacf229ed X11Utils: Simplify the Fullscreen interface
Since we only use the toggle action, only keep that.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre 09eb30ea3b MainNoGUI: Remove old OS X backend that doesn't work, rearchitect 2014-08-19 10:05:57 -04:00
Jasper St. Pierre e3a9ba30e3 GLX: Remove evdpy / dpy split
Move to one display. There's no reason to have two displays here -- the
comment stated that one should touch GLX and one should touch window
events, and that they should be touched from different threads, but the
current code wasn't this careful.

Just use one Display connection.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre 12f073c56b Remove support for EGL under X11
Now, the only supported EGL platform is Android. We might eventually add
back support for EGL/X11 or EGL/Wayland, but it will have to be
architected differently.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre 8bd4b9d2f9 Remove support for Wayland
Yes, this is a fancy new feature, but our Wayland support was
particularly bitrotten, and ideally this would be handled by a platform
layer like SDL. If not, we can always add this back in when GLInterface
has caught up. We might be able to even support wxWidgets and GL
together with subsurfaces!
2014-08-19 10:05:56 -04:00
Ryan Houdek 355f7b366b Merge pull request #831 from FioraAeterna/cleanupimm
JIT: cleanup unnecessary immedate size-checking logic
2014-08-19 04:15:22 -05:00
Dolphin Bot 2bcc8d414c Merge pull request #807 from FioraAeterna/avoidpcstore
JIT: avoid saving the PC on every store
2014-08-19 11:12:54 +02:00
Dolphin Bot 961c1db116 Merge pull request #746 from FioraAeterna/fastermtcrf
Improve performance of CR functions in JIT64
2014-08-19 11:10:18 +02:00
Fiora a1655a0e3c JIT: avoid saving the PC on every store
Modify the backpatcher to store the PC in the trampolines.
Should be ~3.5% faster overall (measured on POV-RAY benchmark).
2014-08-19 02:08:53 -07:00
Matthew Parlane 7246ea9616 Merge pull request #792 from booto/dsp-cleanup
DSP cleanup
2014-08-19 20:28:51 +12:00
Ryan Houdek bac9634fde Merge pull request #803 from ChuckRozhon/cast_from_double_to_u8_warnings
Removed warnings by explicitly casting to `u8` for controllers
2014-08-18 17:01:02 -05:00
Fiora 1a36210093 JIT: cleanup unnecessary immedate size-checking logic
We do this in the emitter now, so this code isn't needed anymore.
2014-08-18 08:20:46 -07:00
Ryan Houdek 859564a2d0 Merge pull request #829 from Sonicadvance1/qualcomm-fixed-rotation
Qualcomm fixed screen rotation in their latest v66 development drivers.
2014-08-18 01:29:45 -05:00
Ryan Houdek 7d90a00bbe Qualcomm fixed screen rotation in their latest v66 development drivers.
The framebuffer is no longer rotated the wrong way around in Qualcomm's latest development drivers.
They did something right, only took them over a year.
2014-08-18 00:17:09 -05:00
Ryan Houdek 2d624780c0 Catch broken configurations inside of the Post Processing shaders.
This catches most instances of configuration failures that can happen in a post processing shader.
Gives a user a helpful error message that lets them know what they have failed to set up correctly
2014-08-17 23:59:21 -05:00
Shawn Hoffman bd7f856424 Rewrite raw memcard threading code. Intended to fix issue 7484.
EXI memcard code now doesn't know specifics of how data is flushed to whatever backing storage is used.
GC raw memcard now flushes every 15 seconds if dirty, and on memcard destruction.
GCI folder now flushes only on memcard destruction.
2014-08-17 21:52:40 -07:00
Shawn Hoffman 87c324c55a Add Common::Event::WaitFor(), which has the same semantics as std::condition_variable::wait_for() (with millisecond units). 2014-08-17 21:52:40 -07:00
Shawn Hoffman 375be67158 Add Common/Event.h to the VS project files. 2014-08-17 21:52:40 -07:00
Ryan Houdek 32fb61816b Fixes PP-shaders on !Mesa targets.
Seems mesa has a quirk where
define THING(x) (#x)
is the same as
define THING(x) (##x)

Didn't realize I messed it up since it just worked since I only tested on Mesa.
2014-08-17 21:28:59 -05:00
Lioncash 6a8dfda0ea DolphinWX: Use the typesafe equivalents for declaring wx event types
The others were used when wx 2.4 was around
2014-08-17 16:18:58 -04:00
Pierre Bourdon 9e2fbaf405 Merge pull request #823 from KScorp/depthmatrixshaders
Fixed depth matrix shaders in OpenGL and Direct3D to be more precise.
2014-08-17 22:08:42 +02:00
archshift b7f3797689 Wx: further cleanup to toolbar creation process 2014-08-17 12:57:44 -07:00
archshift b74a34795b Fixed toolbar's disabled button color. 2014-08-17 12:57:44 -07:00
Lioncash 15a3b30e27 Merge pull request #790 from lioncash/ogl-cleanup
Small OGL cleanup
2014-08-17 15:17:04 -04:00
Ryan Houdek e3e1869493 Merge pull request #825 from FioraAeterna/x64emitter
x64Emitter: refactor to support longer opcodes
2014-08-17 13:07:56 -05:00
Fiora 802b28daf9 x64Emitter: refactor to support longer opcodes
Also add some new SSE4 opcodes.
2014-08-17 04:48:17 -07:00
KScorp 97dce14368 Fixed depth matrix shaders in OpenGL and Direct3D to be more precise. Fixes some graphical glitches in some games. 2014-08-17 04:43:11 -05:00
Ryan Houdek 7222eb11e0 Merge pull request #822 from FioraAeterna/integerflush2
JIT: flush *after* the merged branch, not before
2014-08-17 02:34:15 -05:00
Fiora 75279881cc JIT: flush *after* the merged branch, not before
More correct and should avoid lots of redundant stores.
2014-08-17 00:02:00 -07:00
Lioncash 66a30d0fc6 Merge pull request #820 from RachelBryk/movie-includes
Remove a couple unneeded includes from Movie.cpp.
2014-08-17 02:24:37 -04:00
Lioncash 4759510f70 Get rid of instances of "using namespace std;" in the project 2014-08-17 02:05:33 -04:00
Lioncash 6ee2267b2d Merge pull request #771 from lioncash/32bit-cruft
Core: Remove leftover Windows 32-bit functions in MemArena.cpp
2014-08-17 01:40:23 -04:00
Dolphin Bot 1d88091e0b Merge pull request #821 from FioraAeterna/fixjitcompare
Debugger: fix JIT block viewer PPC view
2014-08-17 07:29:25 +02:00
Fiora a317dac089 Debugger: fix JIT block viewer PPC view
The JIT block compare code didn't set the same options for the PPCAnalyzer
as the actual JIT did, which made the PPC side of the JIT block viewer stop
at the first branch instead of the end of the block.
2014-08-16 22:25:49 -07:00
Lioncash 6bfe3714c4 Merge pull request #819 from lioncash/preproc
OGL: Removed some unnecessary preprocessor directives from Render.cpp.
2014-08-17 00:00:36 -04:00
Lioncash f0743e2571 OGL: Removed some unnecessary preprocessor directives from Render.cpp.
scrshotThread was also unused so that is removed as well.

Also added the algorithm header, since we use min and max here.
2014-08-16 23:57:06 -04:00
Rachel Bryk d8baf64747 Remove a couple unneeded includes from Movie.cpp. 2014-08-16 23:54:11 -04:00
Lioncash 1b92c68f05 Common: Add Flag.h to the Visual Studio project. 2014-08-16 23:33:28 -04:00
Lioncash d18d3e1f3e Common: Get rid of StdConditionVariable, StdMutex, and StdThread.
All of the compilers we support have support for these now.
2014-08-16 23:33:19 -04:00
shuffle2 2270c3e90a Merge pull request #797 from shuffle2/msvc-pch
Windows: Use a shared precompiled header for dolphin code under Source/
2014-08-16 14:58:28 -07:00
Charles Rozhon 6f34a8ac47 Removed warnings by assigning to bool 2014-08-16 14:16:10 -05:00
Lioncash 07f72b1afc Merge pull request #811 from FioraAeterna/fixblowup
Debugger: fix blowup calculation again
2014-08-16 12:42:27 -04:00
degasus a64b0bf499 VertexLoader: cache NativeVertexFormat
This fix a performance regression of PR #672.
2014-08-16 12:58:52 +02:00
Ryan Houdek 7a2fe73310 Merge pull request #816 from Sonicadvance1/fix-not-button
Fix the Not button showing up in the advanced control dialog.
2014-08-15 20:25:56 -05:00
Ryan Houdek 239e04db02 Merge pull request #757 from Tilka/ps_sum0
Jit64: re-enable ps_sum0
2014-08-15 20:25:14 -05:00
Ryan Houdek 9afc16961f Fix the Not button showing up in the advanced control dialog.
The Not button isn't supposed to show up on outputs to controllers.
When we generate the button it still shows up if it isn't added to the sizer since the parent window still owns it.

Fixes this issue report https://forums.dolphin-emu.org/Thread-linux-ui-bug-in-gc-pad-configuration-menu?pid=335269#pid335269
2014-08-15 20:09:35 -05:00
Dolphin Bot 444e47a07a Merge pull request #812 from FioraAeterna/fixundefined
JIT: don't rely on undefined behavior for constant overflow checking
2014-08-16 00:36:08 +02:00
Fiora 1cb50c9609 JIT64: faster implementation of mtcrf and mcrxr 2014-08-15 14:09:28 -07:00
Fiora c936984c96 JIT64: faster + branchless crxxx 2014-08-15 14:09:28 -07:00
Fiora 8c71703098 JIT64: faster implementation of mfcr 2014-08-15 14:09:27 -07:00
Lioncash f11e587fa4 OGL: Get rid of an unnecessary WIN32 ifdef in main.cpp 2014-08-15 16:16:53 -04:00
Lioncash 4c406cc4a1 Merge pull request #814 from lioncash/jitwindow
Core: Kill off Host_ShowJitResults
2014-08-15 15:26:45 -04:00
Lioncash cf46ac7dc9 Core: Kill off Host_ShowJitResults
Another host function that can be killed off by simple wx event handling
2014-08-15 15:18:28 -04:00
Fiora 1669b361a2 JIT: don't rely on undefined behavior for constant overflow checking
I have no idea what the compiler does with these, and this code probably
isn't triggered in most games, but it's probably better not to taunt the
undefined behavior demon.
2014-08-15 11:26:10 -07:00
Charles Rozhon 3baea48bba Removed warning caused by calling std::min<int> with size_t values 2014-08-15 13:23:19 -05:00
Lioncash 7e3d1050f0 OGL: Add static to a function in NativeVertexFormat 2014-08-15 14:16:04 -04:00
Lioncash 32953fd968 OGL: Clean up parameters for some functions. 2014-08-15 14:15:23 -04:00
Lioncash 960b54670c OGL: Fix brace and body placements
Also got rid of void argument specifiers. These are a carryover from C.
2014-08-15 14:12:29 -04:00
Fiora 56cc0227c3 Debugger: fix blowup calculation again
Wasn't quiiite right in 3c2567 either.
2014-08-15 10:24:35 -07:00
Lioncash 7fd5e4300a InputCommon: Don't base default radius of analog sticks off of their name. 2014-08-15 13:06:56 -04:00
lioncash 77ccfa1967 DolphinWX: Fix variable styling in BreakpointView 2014-08-15 09:51:29 -04:00
Lioncash 2848ff342f DolphinWX: More readable variable names in BreakpointView
Also doesn't make everything rely on a single temp variable.
2014-08-15 09:49:09 -04:00
Lioncash f6dd2ff3cb Merge pull request #795 from ChuckRozhon/correct_pointer_style_tasinputdlg
Placed ampersands and asterisks against type name
2014-08-15 08:40:37 -04:00
Shawn Hoffman f1b82a34b2 Windows: Use a shared precompiled header for dolphin code under Source/ 2014-08-14 23:51:13 -07:00
archshift 846a21440b FrameTools.cpp: Alignment of long lists 2014-08-14 23:10:00 -07:00
Lioncash 001c9a18fa Merge pull request #782 from RachelBryk/radius
Set the default radius to 100 for non-gcpad analog sticks.
2014-08-14 17:15:03 -04:00
Lioncash 16a7e6dce5 Merge pull request #787 from archshift/fs-toolbar
Hides toolbar upon using fullscreen and rendering to main window.
2014-08-14 17:13:06 -04:00
Lioncash 3c2567cc37 Merge pull request #804 from FioraAeterna/fixblowup
Debugger: fix blowup calculation
2014-08-14 17:12:11 -04:00
Fiora 6741cdbe84 Debugger: fix blowup calculation 2014-08-14 13:40:34 -07:00
Charles Rozhon a8c31d134b Removed warnings by explicitly casting to `u8` for controllers 2014-08-14 14:44:10 -05:00
Charles Rozhon 97f68be70a Changed GCPadStatus struct to use cstdint types instead of char, short etc. 2014-08-14 14:14:07 -05:00
Ryan Houdek 64697abe48 Merge pull request #798 from FioraAeterna/integerflush
JIT: Don't needlessly flush register state in merged integer+branch code
2014-08-14 12:21:03 -05:00
Fiora 97beea1963 JIT: Don't needlessly flush register state in merged integer+branch code
The actual branch code doesn't flush the register state, so it doesn't make
much sense for the merged optimization to do so either.
2014-08-14 09:55:11 -07:00
Fiora a4b23d80b7 JIT: correctly set skipNext even if conditional-continue is off
Part 2: I missed the other branch-merging case in the first commit.
2014-08-14 09:31:35 -07:00
Ryan Houdek 7f3458e957 Merge pull request #800 from FioraAeterna/showdebugjit
Debugger: make "PPC to x86" open JIT window
2014-08-14 10:41:42 -05:00
Fiora c1f7b0ddc9 Debugger: make "PPC to x86" open JIT window
The button just silently did nothing if the window wasn't open, with no hint
as to how to make it work.
2014-08-14 08:37:33 -07:00
Ryan Houdek e6fa582753 Merge pull request #799 from FioraAeterna/mergebranchfix
JIT: correctly set skipNext even if conditional-continue is off
2014-08-14 10:12:19 -05:00
Fiora 75cc8917a1 JIT: correctly set skipNext even if conditional-continue is off 2014-08-14 07:57:55 -07:00
Pierre Bourdon 7b6b9b0945 Merge pull request #735 from Armada651/d3dfullscreen_fixes
Fix hotkeys in Linux and Mac OS X (properly this time).
2014-08-14 15:27:21 +02:00
booto 34bf0a4ab7 DSP: General cleanup. No behaviour change. 2014-08-14 09:45:05 +08:00
Charles Rozhon 2d920965c0 Placed ampersands and asterisks against type name 2014-08-13 16:42:11 -05:00
kamiyo e4c7cce412 updated frametools 2014-08-13 13:10:08 -04:00
Shawn Hoffman 66fdbdd18d Windows: Give SCMRevGen a configuration for x64 instead of Win32. 2014-08-13 03:57:10 -07:00
booto 72179f98b6 DSP: Use completion event for ARAM interrupt 2014-08-13 18:26:02 +08:00
archshift 7af80c7712 Disable toolbar toggle in main window fullscreen 2014-08-13 02:21:21 -07:00
Ryan Houdek 287758f15d Add the configuration dialog for post processing configuration options.
Only enables the config button when the shader options available to it
2014-08-13 01:05:15 -05:00
Ryan Houdek cced3b4a18 Change OpenGL's post processing to use the new VideoCommon PP object.
Let's OpenGL's PostProcessing namespace be changed to a class inheriting from VideoCommon's PostProcessing class.
2014-08-13 01:05:15 -05:00
Ryan Houdek b8a21b3744 Add the PostProcessing class object to RenderBase in VideoCommon.
Backends will initialize this variable with their own inherited PostProcessing class object.
2014-08-13 01:05:14 -05:00
Ryan Houdek 6bdc32c54a Add the VideoCommon PostProcessing class.
This class loads all the common PP shader configuration options and passes those options through to a inherited class that OpenGL or D3D will have.
Makes it so all the common code for PP shaders is in VideoCommon instead of duplicating the code across each backend.
2014-08-13 01:05:10 -05:00
Ryan Houdek 3a657fe33c Add TryParseVector to StringUtil.
Adds a nice way to have options be in a vector for results
2014-08-12 23:45:14 -05:00
Pierre Bourdon e4e44909d5 Merge pull request #762 from booto/dma-audio-3
DSP: DMA behaviour adjustments to fix regressions
2014-08-12 18:18:51 -07:00
archshift b451f561ba Hide toolbar upon going fullscreen, rendering to main window. 2014-08-12 17:47:25 -07:00
shuffle2 7b9c8da468 Merge pull request #726 from Armada651/ogl-exclusive
CFrame: Add fullscreen window styles to enable exclusive mode in OpenGL.
2014-08-12 14:55:18 -07:00
shuffle2 6a336f66a8 Merge pull request #569 from RyDroid/desktop-file-without-translation
Minor improvement of the desktop file
2014-08-12 14:51:55 -07:00
shuffle2 d704ebdb40 Merge pull request #691 from Armada651/veto_fix
CFrame: Handle close events that can't be vetoed.
2014-08-12 14:46:01 -07:00
shuffle2 d1702b1160 Merge pull request #676 from lioncash/zelda-ratio
Core: Remove the ratio parameter in Zelda UCode's SizeForResampling func
2014-08-12 14:43:32 -07:00
shuffle2 43010818fa Merge pull request #785 from lioncash/string
Common: Fix AsciiToHex returning true on overflow values
2014-08-12 14:43:02 -07:00
shuffle2 9f4008c5bc Merge pull request #760 from lioncash/swap
Common: Use the OSX equivalent byte-swap functions
2014-08-12 14:31:32 -07:00
shuffle2 b8d126c101 Merge pull request #754 from FioraAeterna/immediateopt
x64Emitter: optimize immediate sizes
2014-08-12 14:19:31 -07:00
shuffle2 fe2321e117 Merge pull request #748 from lioncash/null
Core: Default initialize a pointer to nullptr in gdsp_do_dma()
2014-08-12 13:56:54 -07:00
shuffle2 4e73dd2d0c Merge pull request #722 from lioncash/casts
Fix a cast warning when compiling with MSVC
2014-08-12 13:45:31 -07:00
booto adf2ae2ac9 DSP: Add minor delay to initial AIDMA interrupt
When AIDMA begins, the first thing it does is load the source address
and length into internal registers. It then triggers the AID interrupt.
Some begin the AIDMA process without all the data necessary for the
interrupt callback being set up already - they require a few more cycles
to set it up (the delay between the DMA being set to begin and the
interrupt firing). The value of this delay was approximated by tests on real
hardware.
2014-08-13 00:20:13 +08:00
Tony Wasserka d03e91962e Merge pull request #779 from lioncash/software-cleanup
Small software backend cleanup.
2014-08-12 11:59:21 +02:00
shuffle2 a46151e146 Merge pull request #786 from shuffle2/fix-toolbar-toggle
Fix regression with toggling the toolbar from PR761
2014-08-12 01:13:32 -07:00
Shawn Hoffman 27f496fa34 Fix regression with toggling the toolbar from PR761 2014-08-12 01:04:51 -07:00
Lioncash 5afb9cc5c4 Common: Fix AsciiToHex returning true on overflow values
We should be checking errno against ERANGE.
2014-08-12 02:49:04 -04:00
archshift c0008b2012 Removed Tracer.h/cpp from VS files 2014-08-11 23:25:04 -07:00
archshift 9aa7a4ddae Removed unused Tracer.h/cpp 2014-08-11 23:06:44 -07:00
shuffle2 36af1b518d Merge pull request #777 from shuffle2/vs2013-update3
Use official flag for detailed symbols. Require VS2013 with update 3 or later to build.
2014-08-11 20:12:52 -07:00
shuffle2 0b27e0f3f0 Merge pull request #761 from archshift/better-toolbar
Changed main toolbar to be flush with the rest of the window.
2014-08-11 20:12:24 -07:00
shuffle2 edf660f21f Merge pull request #776 from shuffle2/improve-xsaveworkaround
Windows: Improve XSaveWorkaround to behave correctly when XSAVE processor feature is enabled, but AVX support isn't available for whatever reason.
2014-08-11 12:47:39 -07:00
Rachel Bryk 35ae1b4ee2 Set the default radius to 100 for non-gcpad analog sticks.
The previous default of 70 was determined based on gc controllers, and is not right at all for the wii extensions.
2014-08-11 13:58:47 -04:00
Jasper St. Pierre dd2e9d1fc7 X11_Util: Fix build when using EGL
We forgot to remove the reference to GLWin.width / GLWin.height here.
2014-08-10 23:57:48 -04:00
Lioncash bcd10bfda6 Software: Fix function casing in SWRenderer 2014-08-10 22:28:18 -04:00
Lioncash f9f46f33d6 Software: Fix some if-statement body placements 2014-08-10 22:28:17 -04:00
Lioncash 34eb0c6e1c Software: Fix over-indentation of SetupQuad() 2014-08-10 22:28:16 -04:00
Lioncash 4129cdeb4d Software: Apply static to some functions 2014-08-10 22:28:15 -04:00
Lioncash 568bdec598 Software: Fix function casing in TextureEncoder 2014-08-10 22:28:14 -04:00
Lioncash 2918f46d8b Software: Fix the formatting and function casing in Vec3.h 2014-08-10 22:28:04 -04:00
Lioncash 6625d9cba5 Software: Fix various brace styling errors 2014-08-10 21:18:38 -04:00
Lioncash b95d9b43de Software: Make an enum into a static constant in DebugUtil.cpp 2014-08-10 20:51:10 -04:00
Lioncash b050657322 Software: Make constants char_width and char_height private in RasterFont 2014-08-10 20:48:28 -04:00
Shawn Hoffman d0c3e46c80 Windows: Improve XSaveWorkaround to behave correctly when XSAVE processor feature is enabled, but AVX support isn't available for whatever reason. 2014-08-10 14:50:29 -07:00
Shawn Hoffman 5eccc08c7e Use official flag for detailed symbols. Require VS2013 with update 3 or later to build. 2014-08-10 14:47:29 -07:00
Lioncash a141819241 Merge pull request #768 from lioncash/hex-view
DolphinWX: Fix scrolling in hex mode for the memory view
2014-08-10 14:58:48 -04:00
booto a4bc15e7ba DSP: Do updates to DSP interrupt bits asap
This was being scheduled on the next possible event, which caused
timing issues (in FFCC, AI interrupt would fire before DSP interrupt)
2014-08-11 02:04:08 +08:00
booto 92064d1025 DSP: Fixes behaviour for audio dmas of length 0
This behaviour was tested on a real (wii) console.
2014-08-11 02:02:18 +08:00
Lioncash eb10899b53 Core: Remove leftover Windows 32-bit functions in MemArena.cpp 2014-08-10 05:35:14 -04:00
Lioncash 9a61cfc650 Core: Actually show MemoryUtil.cpp allocation error messages on Linux 2014-08-10 05:28:00 -04:00
Lioncash be3428cf8e Core: Fix case where a panic alert wouldn't be shown in MemoryUtil.cpp 2014-08-10 04:50:58 -04:00
Lioncash 6b49ddfec9 Software: Get rid of an unnecessary format string in SWmain.cpp 2014-08-10 04:38:12 -04:00
Lioncash a04809b4d1 DolphinWX: Fix scrolling in hex mode for the memory view
Prior to this after painting the hex values, it would increment the curAddress by 32. This is not only a bug, but unnecessary, since the OnMouseDownL and OnScrollWheel functions should be the only things to handle address incrementing for scrolling purposes.
2014-08-10 03:06:06 -04:00
Lioncash 11f730fd1e Core: Get rid of C-style struct typedefs 2014-08-09 21:58:08 -04:00
Lioncash a899d2b5dd Merge pull request #763 from lioncash/ar
Core: Get rid of function prototypes in ActionReplay.cpp
2014-08-09 21:05:08 -04:00
archshift d46ca557b8 Re-ordered initialization of m_ToolBar and m_SavedPerspectives 2014-08-09 14:51:59 -07:00
Lioncash 6faed31a44 Core: Get rid of calls to mem_fn in thread instantiations
These are not necessary for the same behavior.
2014-08-09 12:46:05 -04:00
archshift a02a86fde9 Fixed assertion when creating new perspective.
Wx was attempting to format a string with specifier %d (integer) with a
size_t.
2014-08-09 03:40:57 -07:00
archshift b81617fba1 Removed TBDebug, using TBMain instead. Fixed debugger assert. 2014-08-09 03:40:56 -07:00
archshift b8b72861b5 Removed AuiTB, moved functions to menubar (Debug->Perspectives) 2014-08-09 03:40:56 -07:00
Lioncash e266635f40 Merge pull request #740 from lioncash/host
Core: Kill off a few Host interface functions.
2014-08-09 00:50:14 -04:00
Lioncash 5fb0090fcf Core: Get rid of function prototypes in ActionReplay.cpp
Also marked said functions static
2014-08-09 00:19:03 -04:00
Lioncash dc2bc621a4 GLX: Remove all Host_GetRenderWindowSize calls.
Also remove x, y, width and height from the GLInterface, since it's only
used in GLX, which no longer uses them
2014-08-08 19:21:45 -04:00
Lioncash 7692f5a5ce AGL: Remove the call to Host_GetRenderWindowSize().
Just uses platform-specific ways to do the same thing.
2014-08-08 19:21:43 -04:00
Lioncash df67a18c42 WGL: Get rid of the use of the Host_GetRenderWindowSize() call.
Just use the Windows API to accomplish the same thing (this is what is done in Update()).

This makes the backing window handle the correct data-type for Windows for easier use in function calls.
2014-08-08 19:21:42 -04:00
Lioncash 2b341bb267 D3D: Remove an unnecessary call to Host_GetRenderWindowSize() 2014-08-08 19:21:41 -04:00
Lioncash 7bf82f1989 Core: Kill off Host_UpdateLogDisplay()
This was actually never used as far as I can tell. There was no wx event handling done whatsoever for the global ID, So this is basically a dead function.
2014-08-08 19:21:40 -04:00
Lioncash d4eb0684f7 Core: Kill off Host_UpdateBreakPointView()
Uses wxWidgets event propagation to the parent window which then appropriately handles the breakpoint list updating.
2014-08-08 19:21:29 -04:00
archshift 6cd0ebab93 Included toolbar headers, preventing forward-decl errors 2014-08-08 15:04:58 -07:00
archshift 67d67884a1 Allow toggling the toolbar in the menu 2014-08-08 14:36:20 -07:00
archshift 400a7bd612 Switch play/pause button icons when necessary 2014-08-08 13:47:04 -07:00
lioncash 85ace9751e Common: Use the OSX equivalent byte-swap functions 2014-08-08 13:26:26 -04:00
lioncash 47274ab992 Core: Fix two more potential memory leaks within IOdarwin.mm 2014-08-08 13:14:18 -04:00
archshift 019d5aee49 Changed toolbar to be static, increasing UI integration 2014-08-08 03:43:13 -07:00
Fiora 75b3e425fd x64Emitter: optimize immediate sizes
A nice alternative than trying to do it throughout the JIT.
2014-08-07 13:07:27 -04:00
Pierre Bourdon b38022df43 Merge pull request #750 from lioncash/leak
Core: Fix a leak on OSX that could occur in IOdarwin.mm
2014-08-07 09:56:36 -07:00
Tillmann Karras 8058baa3da Jit64: re-enable ps_sum0
The issue seems to have been fixed in the mean time.
https://code.google.com/p/dolphin-emu/issues/detail?id=3471
2014-08-07 04:50:42 +02:00
Dolphin Bot 8cfbbb357e Merge pull request #756 from magcius/remove-unused
VideoBackendBase: Remove unused stub Initialize implementation
2014-08-07 04:48:10 +02:00
Lioncash e0c5e05805 Merge pull request #755 from magcius/clean-up-nogui
Allow building MainNoGUI and MainGUI simultaneously
2014-08-06 22:39:57 -04:00
Ryan Houdek 88934fdef8 Merge pull request #751 from FioraAeterna/fixsignext
JIT64: correctly sign-extend immediate RC values
2014-08-06 20:50:35 -05:00
Jasper St. Pierre cd641bd0e3 DolphinWX: Allow building both GUI and NoGUI at the same time
Restructure our build system so we have multiple targets. Right now we
only build MainNoGUI if we are using X11, since that's the only truly
supported backend: the OS X code actually doesn't compile, according to
comments made on IRC.
2014-08-06 21:38:57 -04:00
Jasper St. Pierre 2b8a476a05 X11Utils: Don't depend on wx
We want to have two build targets: Main and MainNoGUI, and this code
will be linked against in both cases, so the ifdef isn't enough for
this case.

Just append to a vector of strings, and then convert it after the fact.
2014-08-06 21:38:47 -04:00
Jasper St. Pierre c54fef5496 VideoBackendBase: Remove unused stub Initialize implementation
Both D3D and OGL have their own overrides, so this isn't used.
2014-08-06 21:35:52 -04:00
Tillmann Karras f927af20f2 Fix more warnings from #579 2014-08-07 03:24:42 +02:00
Jasper St. Pierre 354f223f77 X11Utils: Remove unneeded SendButtonEvent / SendKeyEvent utilities
This was used to send fake button or key events to every backend to
implement freelook. When I ported these to be based on wx events in
commit 5248211, I didn't realize that these were now unused, so I didn't
remove them. Do that now.
2014-08-06 15:07:25 -04:00
Fiora 047cf23f51 JIT64: correctly sign-extend immediate RC values 2014-08-06 14:21:56 -04:00
lioncash f21d50e104 Core: Fix a leak on OSX that could occur in IOdarwin.mm
If a bluetooth connection isn't able to be opened with a Wiimote, then a memory leak would occur as we don't release cbt
2014-08-06 12:34:40 -04:00
lioncash 3c5326fd38 Core: Default initialize a pointer to nullptr in gdsp_do_dma()
The if-statement implies that this could fail in the switch statement somehow. If it does fail, then we'd be comparing with an uninitialized pointer.
2014-08-06 12:10:09 -04:00
Tony Wasserka cb178679f1 Merge pull request #737 from neobrain/master
Restore Wayland compatibility.
2014-08-06 09:02:20 +02:00
Lioncash 42354035e2 Core: Remove unused file DSPJitUtil.h 2014-08-05 23:55:34 -04:00
Lioncash 95f15ac313 Merge pull request #743 from RolandMunsil/fix-ar-code-warning
Fix "bad wxCheckListBox index" warning when trying to create AR Code
2014-08-05 23:46:39 -04:00
RolandMunsil b94069b5af Update ISOProperties.cpp 2014-08-05 20:45:18 -07:00
Rachel Bryk 71ce63f819 Don't spam PanicAlerts on wii save exports. 2014-08-05 23:34:03 -04:00
RolandMunsil b0fc4b6ac9 Fix "bad wxCheckListBox index" warning when trying to create AR Code
Fixes issue
[7060](https://code.google.com/p/dolphin-emu/issues/detail?id=7060)
2014-08-05 20:07:23 -07:00
Rachel Bryk 9bd28aa6d1 Give file count in decimal rather than hex when exporting all wii saves. 2014-08-05 22:43:34 -04:00
Tony Wasserka 90d5e31731 Merge pull request #738 from lioncash/i18n
DolphinWX: Make the software renderer text translateable
2014-08-05 11:07:04 +02:00
Lioncash e1701951b2 Merge pull request #739 from delroth/vertex-loader-fix
VertexLoader: do not prepare for vertices if we need to skip them

Fixes issue [7542](https://code.google.com/p/dolphin-emu/issues/detail?id=7542)
2014-08-04 23:51:59 -04:00
Pierre Bourdon 16f180524c VertexLoader: do not prepare for vertices if we need to skip them 2014-08-04 20:47:02 -07:00
Pierre Bourdon b7d4481081 Merge pull request #736 from FioraAeterna/fixdirt
JIT: Don't assume the reserved bits in GQRs are zero
2014-08-04 20:32:08 -07:00
Lioncash 7e083f39be DolphinWX: Make the software renderer text translateable 2014-08-04 21:36:08 -04:00
Fiora 133e04541a JIT: Don't assume the reserved bits in GQRs are zero
While the unused bits in the GQR SPR are probably not supposed to be set, some
games set them anyways (e.g. Dirt 2), which broke the JIT code.
2014-08-04 14:22:00 -04:00
Tony Wasserka 0d989ea82b Restore Wayland compatibility.
It was broken by e15ec56bf0 because it wasn't deemed important. However chances are people will eventually start using Dolphin on that configuration, so we shouldn't frivolously drop compatibility without good reason.
2014-08-04 18:26:03 +02:00
Fiora c9be85b079 Fix quant/dequant table bug
1<<31 is not 2^31 because 1 is a signed int in C; this bug affected both the
JIT and interpreter quantized store implementations, though I don't know if
any games were actually affected.
2014-08-04 10:08:42 -04:00