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
Jules Blok
9818bd3edf
CFrame: Render to a child on Linux and Mac OS X.
...
This is needed to fix the hotkeys on those platforms.
2014-08-04 13:22:41 +02:00
Lioncash
933a7c2fac
Merge pull request #734 from lioncash/debug
...
DolphinWX: Ensure the code view string vector is always a size of two.
2014-08-04 03:18:14 -04:00
Lioncash
c051ae3338
DolphinWX: Ensure the code view string vector is always a size of two.
...
This way if any entries are not populated, then an empty string will be used.
2014-08-04 03:15:29 -04:00
Lioncash
fbd2e43ac3
Revert "Fix hotkeys in Linux and Mac OS X"
2014-08-04 01:56:08 -04:00
Pierre Bourdon
6befa34b60
Merge pull request #647 from lioncash/disasm
...
Common: Introduce the new Gekko disassembler to Common.
2014-08-03 21:52:08 -07:00
Pierre Bourdon
7ba400bea2
Revert "Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended."
2014-08-03 21:50:12 -07:00
Lioncash
0718937237
Common: Introduce the new Gekko disassembler to Common.
...
This moves the Gekko disassembler to Common where it should be. Having it in the Bochs disassembly Externals is incorrect.
Unlike the PowerPC disassembler prior however, this one is updated to have an API that is more fitting for C++. e.g. Not needing to specify a string buffer and size. It does all of this under the hood.
This modifies all the DebuggingInterfaces as necessary to handle this.
2014-08-04 00:45:07 -04:00
Pierre Bourdon
b1553b42ce
Merge pull request #542 from Parlane/weird_buffering
...
Remove weird buffering from WII_IPC_HLE_Device_sdio_slot0.cpp
2014-08-03 21:30:35 -07:00
Pierre Bourdon
497de04c52
Merge pull request #671 from lioncash/non-panic
...
DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors.
2014-08-03 21:27:27 -07:00
Pierre Bourdon
95a8c24841
Merge pull request #723 from lioncash/warnings
...
Core: Fix two sets of warnings when compiling on Linux.
2014-08-03 21:25:44 -07:00
Pierre Bourdon
87e7c1ee46
Merge pull request #724 from lioncash/mem_fn
...
AudioCommon: Get rid of some unnecessary mem_fn calls
2014-08-03 21:25:24 -07:00
Pierre Bourdon
15920d0f10
Merge pull request #394 from degasus/d3d_lighting_fix
...
VideoCommon: normalize light direction
2014-08-03 21:21:23 -07:00
Pierre Bourdon
4c42b38de1
Merge pull request #428 from Sonicadvance1/x86_32-removal
...
Remove x86_32 support from Dolphin.
2014-08-03 21:17:28 -07:00
Pierre Bourdon
e15ec56bf0
Merge pull request #716 from delroth/vertex-loader
...
Make vertex loader testable
2014-08-03 21:14:59 -07:00
Lioncash
3aba909b25
Core: Get rid of Host_GetInstance()
2014-08-03 23:47:29 -04:00
Lioncash
847504f327
Merge pull request #725 from lioncash/unnecessary-param
...
AudioCommon: Remove an unnecessary parameter from the OpenALStream constructor
2014-08-03 22:43:19 -04:00
Lioncash
1515262be9
Merge pull request #710 from Armada651/d3dfullscreen_fixes
...
CFrame: Only re-assign focus when "Render to main" is enabled.
2014-08-03 22:40:02 -04:00
Lioncash
d8d99f919c
Merge pull request #683 from Armada651/linux_hotkeys
...
Fix hotkeys in Linux and Mac OS X
2014-08-03 22:36:46 -04:00
Lioncash
a66a7e1344
Isolate D3D and Software Renderer from wxWidgets code
2014-08-03 20:28:50 -04:00
Pierre Bourdon
ae27d36961
Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended. Thanks to konpie for finding this issue.
2014-08-03 16:00:41 -07:00
Jules Blok
b67ec4ea58
CFrame: Always exit fullscreen before showing the stop dialog.
2014-08-03 23:38:20 +02:00
Jules Blok
857c116210
CFrame: Add fullscreen window styles to enable exclusive mode in OpenGL.
...
This is not implemented within the backend, but relies purely on driver heuristics.
2014-08-03 23:36:54 +02:00
Lioncash
1b7d933072
Fix a cast warning when compiling with MSVC
...
Would previously give a C4800 warning.
2014-08-03 17:33:24 -04:00
Ryan Houdek
0c24e1dcf2
Remove the rest of x86_32 support from Common.
2014-08-03 13:49:46 -05:00
Ryan Houdek
e004c8ff2d
Remove x86_32 from x64MemTools
2014-08-03 13:48:53 -05:00
Ryan Houdek
8a123b4d75
Remove x86_32 from the JIT block "profiler."
2014-08-03 13:48:53 -05:00
Ryan Houdek
e357fea279
Remove x86_32 from JitCommon.
2014-08-03 13:48:53 -05:00
Ryan Houdek
f2457bbe9d
Remove x86_32 from Jit64IL.
2014-08-03 13:47:56 -05:00
Ryan Houdek
1d5281068d
Remove x86_32 from Jit64.
2014-08-03 13:45:54 -05:00
Ryan Houdek
d9b5482840
Remove x86_32 from VertexLoader.
2014-08-03 13:44:37 -05:00
Ryan Houdek
35bebe9ce0
Remove x86_32 from the DSP JIT.
2014-08-03 13:44:37 -05:00
Ryan Houdek
21ee61d7fc
Remove x86_32 from DolphinWX.
2014-08-03 13:44:37 -05:00
Jules Blok
b6e7e0d57f
CFrame: Only re-assign focus when "Render to main" is enabled.
...
It may cause fullscreen loops and since m_RenderFrame == m_RenderParent now it's not necessary to re-assign focus anymore.
2014-08-03 13:37:19 +02:00
Lioncash
47847bc8dd
AudioCommon: Remove an unnecessary parameter from the OpenAL constructor
...
This wouldn't even be saved to anything.
2014-08-02 23:48:26 -04:00
Lioncash
17e79a966a
AudioCommon: Get rid of some unnecessary mem_fn calls
2014-08-02 23:42:34 -04:00
Lioncash
e1192bc64b
Core: Fix usages of NULL and 0 literals for pointers in GCMemcardDirectory
2014-08-02 18:55:37 -04:00
Lioncash
10d3b7f8e9
Core: Fix formatting warnings in DSPJitRegCache
2014-08-02 18:48:10 -04:00
Lioncash
0bcebd81f6
Merge pull request #721 from lioncash/netplay-unused-param
...
Core: Kill off an unused parameter for NetPlayServer::StartGame
2014-08-02 18:31:38 -04:00
Lioncash
a77d397312
Merge pull request #717 from lioncash/unused
...
Core: Remove unused parameters in Movie
2014-08-02 18:30:18 -04:00
Lioncash
44a157fc09
Core: Kill off an unused parameter for NetPlayServer::StartGame
2014-08-02 18:28:26 -04:00
Pierre Bourdon
9f8e1e2a0d
Merge pull request #720 from booto/dma-audio-fix2
...
DSP: copy audio dma samples as early as possible
2014-08-02 15:13:26 -07:00
booto
35dfe57bc1
DSP: copy audio dma samples as early as possible
2014-08-03 05:24:19 +08:00
Lioncash
a46a500b94
Core: Fix warnings on Linux related to the JIT
2014-08-02 16:15:20 -04:00
Lioncash
a89416306a
DolphinWX: Remove an unused variable from ISOProperties
...
Was used for when we still had the toggle for projection hacks in the UI.
2014-08-02 15:23:31 -04:00
Lioncash
41af9a81a5
Core: Remove unused parameters in Movie
2014-08-02 15:07:13 -04:00
Lioncash
0ed29e1fac
DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors.
2014-08-02 13:49:51 -04:00
Pierre Bourdon
da2833c0e6
Merge pull request #679 from lioncash/ucode-update-params
...
Core: Remove the unused cycle parameter from DSPHLE update calls
2014-08-02 10:37:19 -07:00
Pierre Bourdon
8f768e5a54
Merge pull request #714 from lioncash/gen
...
Core: Remove using namespace statements from the Jit and Interpreter headers
2014-08-02 10:36:31 -07:00
Pierre Bourdon
6f715a1fbe
VertexLoader: Remove more global state dependencies (this time IndexGenerator and VertexManager)
2014-08-02 09:34:39 -07:00
Pierre Bourdon
8b26d7bf1e
UnitTests: make it possible to build tests for code that has global dependencies
2014-08-02 09:34:39 -07:00
Pierre Bourdon
226a9c2392
Move GLInterface around to remove VideoBackends dependency on DolphinWX
2014-08-02 09:34:39 -07:00
Lioncash
a723fd39df
Merge pull request #715 from lioncash/interp
...
Core: Clean up coding style in the Interpreter
2014-08-02 08:39:11 -04:00
Jules Blok
6ab6d07948
FrameTools: Add a wxPanel as the child of the RenderFrame.
...
Needed for hotkeys to be captured on Linux.
2014-08-02 13:55:23 +02:00
Lioncash
8467c82f79
Core: Clean up coding style in the Interpreter
2014-08-02 07:49:11 -04:00
Lioncash
afb539699e
Core: Remove using statements from the Jit and Interpreter headers
2014-08-02 01:48:02 -04:00
Ryan Houdek
7e83a0ea9b
Merge pull request #700 from jimbo1qaz/master
...
Fix D3D Real XFB texture sampling.
2014-08-01 22:57:44 -05:00
Lioncash
b8e64716be
Merge pull request #713 from lioncash/cast
...
Core: Remove now redundant assert conditions in some DSPJitRegCache functions
2014-08-01 22:55:52 -04:00
Lioncash
77c2b6829a
Merge pull request #702 from lioncash/netplay-version
...
Common: State OS instead of 32/64 bit in the netplay lobby
2014-08-01 22:51:30 -04:00
Lioncash
44f751f752
Merge pull request #692 from booto/dma-audio-fix
...
DSP: latch dma parameters
2014-08-01 22:19:50 -04:00
Lioncash
899bc84e98
Core: Remove now redundant assert conditions in some DSPJitRegCache functions
2014-08-01 20:49:48 -04:00
Lioncash
005004dfa5
Core: Fix cast warnings in DSPJitRegCache
2014-08-01 20:44:38 -04:00
Lioncash
4e2f487741
Core: Get rid of a cast in JitRegCache.cpp
2014-08-01 20:25:39 -04:00
Lioncash
6c923b776e
Merge pull request #695 from lioncash/ipl-string
...
Core: Use a std::string in EXI_DeviceIPL instead of a char buffer
2014-08-01 19:59:56 -04:00
booto
47ba8cc4c1
DSP: latch dma parameters
2014-08-02 05:59:36 +08:00
Lioncash
4b32dcbc33
Merge pull request #707 from lioncash/strip
...
Common: Simplify StripTailDirSlashes
2014-08-01 16:01:37 -04:00
Pierre Bourdon
0380bb61fa
Merge pull request #708 from lioncash/drum-axis
...
Core: Fix Y-data not being assigned in Drums.cpp
2014-07-31 22:20:40 -07:00
Lioncash
31e9b1ebdd
Core: Fix Y-data not being assigned in Drums.cpp
...
Prior to this we were overwriting the x-axis with y-axis data.
2014-08-01 01:18:39 -04:00
Pierre Bourdon
f6995d1eff
Merge pull request #704 from lioncash/pjhack-removal
...
DolphinWX: Remove the Projection Hack UI
2014-07-31 20:20:02 -07:00
Lioncash
1dc5294629
Common: Simplify StripTailDirSlashes
2014-07-31 22:18:45 -04:00
degasus
5205d7baa6
ogl: fix rasterfont
2014-07-31 19:03:18 +02:00
Lioncash
c5188c76b3
Merge pull request #705 from Sonicadvance1/fix-memoryutil-check
...
Fixes a check for what mmap returns.
2014-07-31 03:06:00 -04:00
Lioncash
5bb9a74759
Merge pull request #527 from delroth/flags-opt
...
[RFC] PowerPC flags emulation optimization
2014-07-31 02:51:48 -04:00
Ryan Houdek
33450c80c3
Fixes a check for what mmap returns.
...
On error mmap returns MAP_FAILED(-1) not null.
FreeBSD was checking the return correctly, Linux was not.
This was noticed by triad attempting to run Dolphin under valgrind and not getting a memory space under the 2GB limit(Because -1 wraps around on
unsigned obviously)
2014-07-31 00:53:00 -05:00
Ryan Houdek
fda2190a37
Support the 64bit CR flags in the ARM JIT.
2014-07-30 21:41:18 -07:00
Ryan Houdek
3627bd21f1
Remove JitArmIL files from the project.
...
Due to how the new CR-flags work, it isn't possible without some hefty work in the JITIL backend to support this on 32bit systems.
2014-07-30 21:41:17 -07:00
magumagu
f27940478d
JitIL: Attempt to constant-fold more aggressively.
2014-07-30 21:41:17 -07:00
magumagu
79ecdf5fd0
JitIL: Misc small optimizations.
2014-07-30 21:41:17 -07:00
magumagu
c8dd557dde
JITIL: compare instruction folding.
2014-07-30 21:41:17 -07:00
magumagu
5bb428c685
JITIL: optimize branches.
2014-07-30 21:41:17 -07:00
magumagu
79cc000d62
JITIL: Optimize compare instruction.
2014-07-30 21:41:17 -07:00
magumagu
1429fccb97
Initial unoptimized JITIL flag optimization.
2014-07-30 21:41:17 -07:00
Pierre Bourdon
5506e57ab8
CR: Replace some magic values with constants.
2014-07-30 21:41:17 -07:00
Pierre Bourdon
0ff1481494
Optimize PPC CR emulation by using magic 64 bit values
...
PowerPC has a 32 bit CR register, which is used to store flags for results of
computations. Most instructions have an optional bit that tells the CPU whether
the flags should be updated. This 32 bit register actually contains 8 sets of 4
flags: Summary Overflow (SO), Equals (EQ), Greater Than (GT), Less Than (LT).
These 8 sets are usually called CR0-CR7 and accessed independently. In the most
common operations, the flags are computed from the result of the operation in
the following fashion:
* EQ is set iff result == 0
* LT is set iff result < 0
* GT is set iff result > 0
* (Dolphin does not emulate SO)
While X86 architectures have a similar concept of flags, it is very difficult
to access the FLAGS register directly to translate its value to an equivalent
PowerPC value. With the current Dolphin implementation, updating a PPC CR
register requires CPU branching, which has a few performance issues: it uses
space in the BTB, and in the worst case (!GT, !LT, EQ) requires 2 branches not
taken.
After some brainstorming on IRC about how this could be improved, calc84maniac
figured out a neat trick that makes common CR operations way more efficient to
JIT on 64 bit X86 architectures. It relies on emulating each CRn bitfield with
a 64 bit register internally, whose value is the result of the operation from
which flags are updated, sign extended to 64 bits. Then, checking if a CR bit
is set can be done in the following way:
* EQ is set iff LOWER_32_BITS(cr_64b_val) == 0
* GT is set iff (s64)cr_64b_val > 0
* LT is set iff bit 62 of cr_64b_val is set
To take a few examples, if the result of an operation is:
* -1 (0xFFFFFFFFFFFFFFFF) -> lower 32 bits not 0 => !EQ
-> (s64)val (-1) is not > 0 => !GT
-> bit 62 is set => LT
!EQ, !GT, LT
* 0 (0x0000000000000000) -> lower 32 bits are 0 => EQ
-> (s64)val (0) is not > 0 => !GT
-> bit 62 is not set => !LT
EQ, !GT, !LT
* 1 (0x0000000000000001) -> lower 32 bits not 0 => !EQ
-> (s64)val (1) is > 0 => GT
-> bit 62 is not set => !LT
!EQ, GT, !LT
Sometimes we need to convert PPC CR values to these 64 bit values. The
following convention is used in this case:
* Bit 0 (LSB) is set iff !EQ
* Bit 62 is set iff LT
* Bit 63 is set iff !GT
* Bit 32 always set to disambiguize between EQ and GT
Some more examples:
* !EQ, GT, LT -> 0x4000000100000001 (!B63, B62, B32, B0)
-> lower 32 bits not 0 => !EQ
-> (s64)val is > 0 => GT
-> bit 62 is set => LT
* EQ, GT, !LT -> 0x0000000100000000
-> lower 32 bits are 0 => EQ
-> (s64)val is > 0 (note: B32) => GT
-> bit 62 is not set => !LT
2014-07-30 21:41:17 -07:00
Lioncash
f507827399
Merge pull request #681 from phire/non-sse4_1
...
Fix PPC_FP on non-sse4.1 code paths.
2014-07-31 00:31:02 -04:00
Scott Mansell
8c857b45f8
Fix PPC_FP on non-sse4.1 code paths.
...
The Invalid bit on the x87 fpu is sticky, so once a single NaN goes
through the old code on CPUs without sse4.1 all future floats are
mutilated.
Patch to emulate PTEST by Fiora.
Fixes issue 7237 and issue 7510.
2014-07-31 16:00:27 +12:00
Lioncash
cd37af8590
DolphinWX: Remove the Projection Hack UI
2014-07-30 19:32:41 -04:00
Pierre Bourdon
83838a645f
Merge pull request #690 from Armada651/d3dfullscreen_fixes
...
Exclusive fullscreen fixes
2014-07-30 16:28:56 -07:00
Pierre Bourdon
9b9817f927
x64Emitter: Fix REX encoding for SETcc
...
Previously using the new "lower 8 bits" registers (SIL, SPL, ...) caused SETcc
to write to other registers (for example, SETcc SIL would generate SETcc DH).
2014-07-30 06:41:29 -07:00
Jules Blok
3b5625c76b
VideoConfig: Ignore Borderless Fullscreen setting when the backend does not support exclusive fullscreen.
...
This was expected to be handled by VerifyValidity(), but that only verifies the validity of the INI files.
2014-07-30 12:15:58 +02:00
Jules Blok
5bbd34637b
CFrame: Don't check the video config fullscreen setting.
...
Checking this flag could sometimes incorrectly have the UI assume fullscreen is already off when we're still exiting.
2014-07-30 12:15:32 +02:00
Jules Blok
4501aeefbe
CFrame: Check borderless fullscreen setting before enabling exclusive fullscreen in the video config.
...
Fixes a bug where "Use Fullscreen" would initialize into exclusive fullscreen regardless of the borderless fullscreen setting.
Also relieves the need for the video renderer to check the borderless fullscreen setting each time.
2014-07-30 12:15:26 +02:00
Lioncash
22e9d6977b
Common: State OS instead of 32/64 bit in the netplay lobby
2014-07-30 02:04:17 -04:00
Matthew Parlane
5516b0382c
Merge pull request #699 from lioncash/enum
...
Core: Use an enum for the Gekko exception flags instead of defines
2014-07-30 13:53:58 +12:00
Matthew Parlane
a3ca3b0424
Merge pull request #696 from lioncash/more-forward-decls
...
Convert some more header inclusions into forward declarations
2014-07-30 13:53:48 +12:00
Lioncash
ad3ade1510
Core: Use an enum for the Gekko exception flags instead of defines
2014-07-29 21:51:30 -04:00
Pierre Bourdon
4b66c6c65a
Merge pull request #698 from lioncash/missed-workaround
...
Really get rid of the MSVC 2005 workaround completely
2014-07-29 18:23:04 -07:00
Lioncash
b03c12764d
Really get rid of the MSVC 2005 workaround completely
2014-07-29 21:20:43 -04:00
jimbo1qaz
fe9b7fa4f3
Fix D3D Real XFB texture sampling.
2014-07-29 18:15:01 -07:00
Lioncash
abc7845e0c
Android: Remove an unused variable from MainAndroid.cpp
2014-07-29 21:05:57 -04:00
Lioncash
522a5c35ad
Convert some more header inclusions into forward declarations
2014-07-29 20:55:07 -04:00