Commit Graph

23573 Commits

Author SHA1 Message Date
Lioncash a0f943178b Profiler: Move BlockStat and ProfileStats structures into the Profiler namespace
These should be part of the namespaced API and not be sitting in the
global namespace.
2018-04-08 22:29:48 -04:00
Léo Lam 9dbc760bb7
Merge pull request #6606 from lioncash/bochs
CMakeLists: Link bochs in privately where applicable
2018-04-08 11:08:12 +02:00
Lioncash f1be7cd4a0
CMakeLists: Link bochs in privately where applicable
Everything that links in core doesn't need to see anything related to bochs, because it's only used internally.
Anything else that relies on bochs should be linking it in explicitly.
2018-04-08 04:59:58 -04:00
Léo Lam 0a290f5d11
Merge pull request #6607 from lioncash/ppc
PPCDebugInterface: Remove redundant HostRead_U32() call in Disassemble()
2018-04-08 10:25:43 +02:00
Léo Lam 2a535d5a55
Merge pull request #6608 from lioncash/gekko
Gekko: In-class initialize members where applicable
2018-04-08 10:23:42 +02:00
Léo Lam 219728dbd4
Merge pull request #6609 from lioncash/ufpr
Gekko: Remove unused UFPR union
2018-04-08 10:22:43 +02:00
Lioncash 88a80f118c Common/Swap: Amend BigEndianValue's operator= to return a reference to the object rather than returning void
The general convention is to return a reference to the object that was
acted on, otherwise you can get into situations with errors because the
type wasn't being propagated properly
2018-04-08 01:22:18 -04:00
Lioncash 5d1349f9c7 Gekko: Remove unused UFPR union
Using this in its current form would invoke undefined behavior, as it's
using a union to type pun between data types. It's also, well, unused,
so we don't need to keep it around.
2018-04-07 22:30:26 -04:00
Lioncash d5555b49e9 Gekko: In-class initialize members where applicable
Allows defaulting the default constructor. Also moves assignment to
initializer lists where applicable as well.
2018-04-07 22:26:24 -04:00
Lioncash 3e50b0e320 PPCDebugInterface: Remove redundant HostRead_U32() call in Disassemble()
We already read the necessary information with the
HostRead_Instruction() call. Internally, it calls HostRead_U32() as
well, so there's no difference in behavior.
2018-04-07 22:20:59 -04:00
Léo Lam f4a2ad3c88 IOS/FS: Emulate read/write/close/seek timing
Also bumps up the state version.
2018-04-07 23:35:28 +02:00
Léo Lam 42983c0bd3 IOS/FS: Emulate superblock write timing 2018-04-07 23:35:28 +02:00
Léo Lam b74577ff43 IOS/FS: Emulate GetAttr() timing 2018-04-07 23:35:28 +02:00
Léo Lam 896d875187 IOS/FS: Emulate Open() timing 2018-04-07 23:35:28 +02:00
Léo Lam 32b1409cbd IOS/FS: Use hardware tested minimum reply time
...instead of an arbitrary guess.
2018-04-07 23:35:28 +02:00
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
Anthony 9e2806c181 [AVIDump] fix compilation issues on Linux 2018-04-06 19:53:10 -07: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
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
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 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
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 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
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
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