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
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
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
Shawn Hoffman
647dc998e4
unittests: correct some integers which should have been floating point types
2014-09-01 05:57:03 -07: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
Ryan Houdek
fc92490031
Merge pull request #902 from Sonicadvance1/android-64bit-support
...
Update shown CPU cores in the Android UI.
2014-08-28 18:20:35 -05:00
Ryan Houdek
5bf9472214
Update shown CPU cores in the Android UI.
...
Only show the JIT cores on x86_64(Will have its own issues once we reach that point)
Show AArch64 JIT if running on a AArch64 device(Good luck with that for now. Future proofing though)
2014-08-28 18:00:32 -05:00
Ryan Houdek
b197f44518
Update build.gradle to newer buildtools.
...
Newer android studio versions now mandate at least build tools 20.0.0 and gradle 0.12+
So update the gradle file for this.
2014-08-28 17:21:48 -05:00
Ryan Houdek
0d63dd5e53
Update the android cmake toolchain file to support 64bit.
...
This is available in a PR here: https://github.com/taka-no-me/android-cmake/pull/23
The maintainer of the android toolchain cmake file seems to be AWOL for now.
I have tested this file personally and it works, it just isn't merged in yet
2014-08-28 16:57:48 -05: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
Lioncash
f200a03d97
UnitTests: Remove now non-existent UpdateStatusBar from StubHost.
2014-08-24 08:34:25 -04: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
a9c33075f2
msvc: enable compiler warnings as errors.
2014-08-19 22:33:49 -07: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
317e63e7ba
msvc: disable compiler warnings when building all Externals (cl /W0), except for wxWidgets, where all warnings are fixed.
...
Note warnings may still be generated by code in Externals if it is included into warning-enabled code (this is the case for libusb).
Also, quiet an intellisense warning in wxWidgets caused by using __w64 for an inapplicable type.
2014-08-19 22:33:42 -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
Shawn Hoffman
8c81ea0aad
Windows: Enable /Zc:rvalueCast solution-wide.
2014-08-18 00:04:31 -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
8801289149
Windows: Add /Zc:inline to compiler options.
2014-08-15 01:17:10 -07: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