Léo Lam
7dff069659
Merge pull request #6605 from spycrab/gc_fix_rumble
...
[RFC] Core/GC: Fix rumble for "Luigi's Mansion"
2018-04-07 23:23:30 +02:00
spycrab
eed066e8a7
Core/GC: Fix rumble for "Luigi's Mansion"
2018-04-07 22:13:01 +02:00
Lioncash
181539e049
Interpreter_LoadStore: Generate a program exception if dcbz_l is executed when HID2[LCE] is zero
...
If the locked cache isn't enabled, dcbz_l is illegal to execute
(locked cache is off, locked cache instructions don't work, makes sense)
This makes exception handling more accurate. It was previously possible to hit the DSI exception
handler when HID2[LCE] is set to zero, which isn't correct.
With this change we no longer hit the DSI handler, however we still have a lingering issue elsewhere
likely to do with exception precedence, we seem to hit the Floating Point exception handler instead
in some cases. This isn't due to the instruction itself directly however, so this is just another bug
to fix elsewhere.
2018-04-06 23:53:44 -04:00
Mat M
5ed12b45ec
Merge pull request #6603 from orbea/ffmpeg
...
[AVIDump] fix compilation on Linux
2018-04-06 23:49:29 -04:00
Anthony
9e2806c181
[AVIDump] fix compilation issues on Linux
2018-04-06 19:53:10 -07:00
Lioncash
a4ba92c697
CMakeLists: Don't dump xxhash's includes into top-level directory scope
...
We already use a custom CMakeLists file for xxhash, so we can just make it's headers
public as part of its target interface.
This way, only libraries that link in the xxhash target will see its headers, as opposed
to every target under the top-level directory.
2018-04-06 10:41:58 -04:00
Léo Lam
a957bd1ecc
Merge pull request #6421 from leoetlino/fs-interface
...
IOS: Refactor the filesystem code
2018-04-06 12:17:09 +02:00
Léo Lam
c2fa6f5bee
Merge pull request #6599 from lioncash/cmake-option
...
CMakeLists: Move build options to the top of the file
2018-04-06 12:13:34 +02:00
Léo Lam
cc3a98ad08
Merge pull request #6601 from lioncash/mkdir
...
DolphinWX/DolphinQt2 CMakeLists: Use cmake -E instead of mkdir -p for creating language directories
2018-04-06 12:01:28 +02:00
Lioncash
3e946d87e4
DolphinWX/DolphinQt2 CMakeLists: Use cmake -E instead of mkdir -p for creating language directories
...
CMake already has this functionality built-in. This lessens depending on the host system environment
and is more cross-platform friendly (which is always nice from a build-system point of view).
2018-04-05 12:49:33 -04:00
Léo Lam
a3bdb5d85e
Merge pull request #6598 from lioncash/target
...
DolphinQt2/CMakeLists: Use the target_* equivalents of add_definitions and include_directories
2018-04-05 17:53:24 +02:00
Léo Lam
4cd5ef76ad
Merge pull request #6537 from spycrab/qt_quick_assign
...
Qt/Mapping: Implement "Iterative Input"
2018-04-05 17:44:30 +02:00
Léo Lam
a66c7d6a64
Merge pull request #6600 from lioncash/leak
...
DolphinQt2/MainWindow: Resolve a memory leak on systems with X11
2018-04-05 17:42:15 +02:00
Lioncash
839fc7e749
DolphinQt2/MainWindow: Resolve a memory leak on systems with X11
...
In the case we had X11 libs available, we'd allocate an XRRConfiguration instance and pass it
to the GraphicsWindow instance, but it would never actually be freed.
2018-04-05 09:07:08 -04:00
Lioncash
b4e36bbd27
CMakeLists: Move build options to the top of the file
...
Makes the configurable aspects of the build more immediately discoverable
as opposed to needing to read down the entire file.
2018-04-05 08:27:49 -04:00
Lioncash
9c27c7eda8
DolphinQt2/CMakeLists: Use the target_* equivalents of add_definitions and include_directories
...
add_definitions and include_directories don't operate on a by-target basis, they act on a
by-directory basis (i.e. if we defined two targets, A and B, in this CMakeLists file, add_definitions
would add the definitions to the COMPILE_DEFINITIONS directory property which both A and B would
implicitly use).
The same idea applies to include_directories, only it appends to the INCLUDE_DIRECTORIES directory
property.
Instead, specify these on the target to keep scope as narrow as possible.
2018-04-05 07:52:25 -04:00
Léo Lam
d0b7c013a1
Merge pull request #6593 from lioncash/headless
...
DolphinNoGUI/CMakeLists: Remove the use of SRCS and LIBS variables
2018-04-05 10:07:31 +02:00
Léo Lam
39cb22ddc9
Merge pull request #6594 from lioncash/qt
...
DolphinQt2/CMakeLists: Specify Qt libraries via COMPONENTS in the find_package call
2018-04-05 10:03:41 +02:00
Markus Wick
a9cd67125c
Merge pull request #6597 from lioncash/fp-load-store
...
Interpreter_LoadStore: Generate alignment exceptions if an FP load/store instruction's effective address is not word aligned
2018-04-05 09:55:49 +02:00
Markus Wick
a8821839da
Merge pull request #6596 from lioncash/dcbz
...
Interpreter_LoadStore: Generate alignment exceptions if dcbz or dcbz_l are executed with the data cache disabled
2018-04-05 08:46:36 +02:00
Lioncash
912c9490c0
Interpreter_LoadStore: Generate alignment exceptions if an FP load/store instruction's effective address is not word aligned
...
This is one of the conditions for an alignment exception documented in
the 750CL architecture reference manual in section 4.5.6, which also
applies to the Gekko microprocessor.
2018-04-05 00:30:53 -04:00
Lioncash
980f1641b5
Interpreter_LoadStore: Generate alignment exceptions if dcbz or dcbz_l are executed with the data cache disabled
...
This is an exception condition documented within section 4.5.6 in the
architecture reference manual for the PPC 750CL, which also applies to
the Gekko microprocessor.
Also moves dcbz_l's implementation out of Interpreter_Paired and beside
dcbz where it belongs.
2018-04-04 18:44:17 -04:00
spycrab
e0ba2a4aeb
Qt: Implement "Iterative Input"
2018-04-04 21:51:51 +02:00
Lioncash
fb929ab8e5
DolphinQt2/CMakeLists: Specify Qt modules via COMPONENTS in the find_package call
...
Eliminates the need to find the individual modules separately
2018-04-04 15:05:20 -04:00
Lioncash
84ed6fd445
CMakeLists: Remove the LIBS variable
...
Now that we link all libraries in explicitly, the top-level LIBS variable can finally go.
2018-04-04 11:46:30 -04:00
Lioncash
6f694e435c
DolphinNoGUI/CMakeLists: Remove the use of SRCS and LIBS variables
...
Instead, operate on the target directly. This removes the last usages of the
SRCS and LIBS variables.
2018-04-04 11:42:57 -04:00
Léo Lam
9be505fde2
Merge pull request #6473 from spycrab/qt_dbg_memory
...
Qt/Debugger: Implement "Memory" widget
2018-04-04 16:58:04 +02:00
Léo Lam
4d5adf3dfa
Merge pull request #6588 from lioncash/cmake
...
DolphinWX/DolphinQt2 CMakeLists: Remove use of LIBS and SRCS variables
2018-04-04 16:57:01 +02:00
Lioncash
5e4446c313
DolphinQt2/CMakeLists: Remove usages of LIBS and SRCS variables
...
Instead, operate on the target itself. Also removes the variable
representing the name of the target. We can just refer to this directly
2018-04-04 09:09:45 -04:00
spycrab
95ae4b34d9
Qt/Debugger: Implement "Memory" widget
2018-04-04 13:43:30 +02:00
Markus Wick
c6d0d9a01f
Merge pull request #6578 from JosJuice/remove-projection-hacks
...
Remove support for projection hacks
2018-04-04 09:10:32 +02:00
Markus Wick
ba42238b0b
Merge pull request #6592 from lioncash/imagine-le-ppc
...
Interpreter_LoadStore: Generate alignment exceptions if lmw, lswi, lswx, stmw, stswi, or stswx is executed when the MSR[LE] bit is set
2018-04-04 09:00:45 +02:00
Markus Wick
b82539e927
Merge pull request #6589 from lioncash/jni
...
Android/CMakeLists: Remove usages of LIBS and SRCS variables
2018-04-04 08:57:10 +02:00
Lioncash
3ea0a37d72
Interpreter_LoadStore: Generate alignment exceptions if lmw, lswi, lswx, stmw, stswi, or stswx is executed when the MSR[LE] bit is set
...
Improves exception accuracy regarding an admittedly very unlikely
scenario.
2018-04-03 20:47:40 -04:00
Mat M
88853551e6
Merge pull request #6590 from lioncash/hires
...
HiresTexture: Correct texture hashes
2018-04-03 19:00:28 -04:00
Lioncash
74aff4d9ef
HiresTexture: Correct texture hashes
...
Fixes a regression introduced in 2da8d98b2f
2018-04-03 12:42:05 -04:00
Lioncash
21ee216e63
Android/CMakeLists: Remove usages of LIBS and SRCS variables
...
Instead, operate on the target itself.
2018-04-03 08:05:43 -04:00
Lioncash
516b46845d
DolphinWX/CMakeLists: Remove usages of the LIBS and SRCS variables
...
Instead, operated on the target itself.
2018-04-03 08:04:29 -04:00
JosJuice
4331f80489
Merge pull request #5813 from ligfx/renamepo
...
Remove region tags from translations that don't need them
2018-04-03 13:55:07 +02:00
Markus Wick
1e0f72f2da
Merge pull request #6585 from lioncash/exception
...
Interpreter_LoadStore: Handle alignment exceptions in lmw, lwarx, stmw, and stwcx + fixes for eciwx and ecowx
2018-04-03 09:52:36 +02:00
Anthony
971a253a88
Merge pull request #6591 from JosJuice/fix-android
...
Fix build error on Android
2018-04-03 00:22:44 -07:00
JosJuice
3fe0051a53
Fix build error on Android
...
Caused by 4387432
.
2018-04-03 08:32:55 +02:00
Léo Lam
91f3650fa5
Merge pull request #6586 from lioncash/video-backends
...
CMakeLists: Migrate video backends off the add_dolphin_library macro and remove said macro
2018-04-02 17:10:52 +02:00
Stenzek
9924434cdf
Merge pull request #6573 from stenzek/bad-shader-uid-cache
...
ShaderCache: Improve shader UID cache file reliability
2018-04-03 01:00:09 +10:00
Lioncash
de0ed1a5fb
Interpreter_LoadStore: Update the DAR if a DSI exception occurs in eciwx and ecowx
...
Also once a DSI exception occurs, execution is supposed to leave the
instruction immediately. It doesn't finish execution.
2018-04-02 08:34:32 -04:00
Lioncash
a013638dcb
Interpreter_LoadStore: Properly update the DAR whenever an alignment exception occurs within eciwx and ecowx
...
These should be updating the DAR when an alignment exception occurs,
just like every other instruction that can cause an alignment exception.
2018-04-02 08:34:32 -04:00
Lioncash
c1b78106e7
Interpreter_LoadStore: Flag alignment exceptions on misaligned addresses in lwarx, lmw, stmw, and stwcx
...
The effective address given to these instructions must be word (4 byte) aligned,
and if the address is not aligned like that, then an alignment exception
gets triggered.
We currently don't update the DSISR in this case properly, since we
didn't really handle alignment exceptions outside of ecowx and eciwx,
and even then the handling of it isn't really that great, considering
the DAR isn't updated with the address that caused the exception to
occur.
The DSISR will eventually be amended to be properly updated.
2018-04-02 08:34:26 -04:00
Lioncash
22be923b91
CMakeLists: Remove add_dolphin_library macro
...
With all library targets migrated off add_dolphin_library, we can finally remove it
2018-04-02 08:31:56 -04:00
Lioncash
b184923540
Vulkan/CMakeLists: Migrate off add_dolphin_library
...
Finishes the migration work started in 3a4c3bbe01
2018-04-02 08:29:37 -04:00
Lioncash
8b43a31855
Software/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:24:40 -04:00