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
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
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
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
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
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
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
Lioncash
a3c53ff754
OGL/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:22:39 -04:00
Lioncash
d4f8502ad1
Null/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:17:00 -04:00
Lioncash
3854e2bcca
D3D/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:15:22 -04:00
Markus Wick
2449be7f0c
Merge pull request #6571 from lioncash/rotate
...
CommonFuncs: Generify rotation functions and move them to BitUtils.h
2018-04-02 12:18:22 +02:00
Markus Wick
dea30e08bf
Merge pull request #6576 from lioncash/iconv
...
CMakeLists: Remove iconv from the LIBS variable
2018-04-02 11:07:19 +02:00
Léo Lam
80525cfd4e
Merge pull request #6584 from lioncash/async-init
...
AsyncRequests: In-class initialize class members
2018-04-02 10:37:07 +02:00
Lioncash
672665dec0
AsyncRequests: In-class initialize class members
...
Prior to this change, it's possible for m_wake_me_up_again to be used
while it's in an uninitialized state from the exposed API.
e.g.
- Using SetEnable after construction would perform an uninitialized read.
- Using PushEvent would perform an uninitialized read by way of operator |=.
internally, an uninitialized read can happen if PullEventsInternal() is
executed before other functions.
Just to avoid the whole possibility of performing uninitialized reads,
we just give the class member a default value of false.
2018-04-01 19:06:43 -04:00
Lioncash
fd9eab73fb
CPUDetect: Make CPUVendor enum an enum class
...
Avoids dumping the enum contents into the global namespace.
2018-04-01 17:47:50 -04:00
Léo Lam
bf8ffe5bfb
Merge pull request #6582 from lioncash/const
...
Jit64/JitRegCache: Make member functions const qualified where applicable
2018-04-01 23:32:58 +02:00
Léo Lam
7d561c7e0e
Merge pull request #6579 from lioncash/socket
...
IOS/Socket: Minor changes to WiiSocket
2018-04-01 23:31:47 +02:00
Lioncash
0f6c3c7b35
Jit64/JitRegCache: Make member functions const qualified where applicable
...
None of these member functions modify class state.
Also makes the parameter name for ScoreRegister's implementation
consistent with its declaration.
2018-04-01 16:53:00 -04:00
JosJuice
c6931ee5b8
Merge pull request #6577 from lioncash/memcard
...
EXI_DeviceMemoryCard: Get rid of magic number in SetCS()
2018-04-01 22:08:36 +02:00
JosJuice
621e1758fb
Merge pull request #6581 from lioncash/const
...
DSPJitRegCache: Make FindFreeReg() a const member function
2018-04-01 22:05:48 +02:00
Lioncash
6cfa9fda6b
DSPJitRegCache: Make FindFreeReg() a const member function
...
This member function doesn't modify class state.
2018-04-01 16:01:25 -04:00
Lioncash
fe9d989765
DSPJitRegCache: Remove unnecessary casts in FlushRegs()
...
We can just use the proper printf specifiers instead.
2018-04-01 15:49:21 -04:00
JosJuice
91732e2baf
Remove support for projection hacks
...
This isn't really useful for anything anymore as far as I know.
2018-04-01 21:41:18 +02:00
Lioncash
ad17d9a979
IOS/Socket: Delete WiiSocket's copy constructor
...
If the copy assignment operator is deleted, then the copy constructor
should be deleted as well, otherwise it's a hole in the API where copies
can be made (and if this were an intended case, it should be
documented).
So we delete the copy constructor and explicitly default the move
assignment and move constructor to signify this is intended to be a
move-only type.
2018-04-01 15:38:37 -04:00
Lioncash
ad575a1556
IOS/Socket: Place WiiSocket's private interface below the public interface
...
In the rest of the codebase we try to position the private interface
below the public interface (unless it's otherwise not possible).
2018-04-01 15:38:33 -04:00
Lioncash
abb33637a3
IOS/Socket: In-class initialize WiiSocket members
2018-04-01 15:27:58 -04:00
Lioncash
8fbd6e2a87
EXI_DeviceMemoryCard: Get rid of magic number in SetCS()
...
Keeps the code consistent with other usages of the same constant
2018-04-01 15:21:20 -04:00
Mat M
d8dd7b9e66
Merge pull request #6533 from spycrab/qt_desc_box
...
Qt/GraphicsWindow: Decrease description box size
2018-04-01 14:06:50 -04:00
Lioncash
8db4ab7dd6
CMakeLists: Remove iconv from the LIBS variable
...
Adjusts Common to use the ICONV_LIBRARIES variable directly and doesn't
append it to the LIBS variable.
After this, there's only one remaining usage where libraries are added
to the LIBS variable, after which it can be removed once the rest of
the targets are migrated off add_dolphin_library
2018-04-01 14:00:55 -04:00
Stenzek
2687c55cf6
Renderer: Only recreate frame dump texture if dimensions differ
...
This was a typo, been around for a while. == should be !=. May improve
frame dumping performnace slightly, but I doubt much if any.
2018-04-02 01:15:48 +10:00
Stenzek
8587403e0e
ShaderCache: Write currently-known UIDs to cache when re-creating file
...
This way, if we load a UID cache where the data was incomplete (e.g.
Dolphin crashed), we don't lose the existing UIDs which were previously
at the beginning.
2018-04-02 01:13:24 +10:00
Stenzek
36ea2f7a26
ShaderCache: Fix issue where shader cache wasn't recreated when invalid
2018-04-02 01:02:20 +10:00
Léo Lam
aaf9f4759f
Merge pull request #6570 from lioncash/lzo
...
CMakeLists: Remove lzo from the LIBS variable and make linkage private
2018-04-01 11:51:06 +02:00
Lioncash
a4420d6d94
Jit64: Make CheckMergedBranch() a const member function
...
This function doesn't modify class state.
2018-03-31 20:12:53 -04:00
Lioncash
c3483a1823
CommonFuncs: Generify rotation functions and move them to BitUtils.h
...
These are bit manipulation functions, so they belong within BitUtils.
This also gets rid of duplicated code and avoids relying on compiler
reserved names existing or not existing to determine whether or not we
define a set of functions.
Optimizers are smart enough in GCC and clang to transform the code to a
ROR or ROL instruction in the respective functions.
2018-03-31 18:09:45 -04:00
Lioncash
eee32c030b
CMakeLists: Remove lzo from the LIBS variable and make linkage private
...
The only place this library is needed (core) is already linked in the core target.
Also make the linkage private to create linkage failures if the dependency isn't
explicitly linked in elsewhere where it should be.
Reduces the dependency on the LIBS variable.
2018-03-31 15:01:05 -04:00
Mat M
76e1a5b892
Merge pull request #6569 from JosJuice/kill-emu-state
...
Remove EmuState
2018-03-31 14:04:30 -04:00
Mat M
a6f1c6e2e9
Merge pull request #6568 from leoetlino/dead
...
Remove dead code
2018-03-31 14:02:40 -04:00
Shawn Hoffman
6a0c15491b
Remove EmuState
2018-03-31 16:21:17 +02:00
Léo Lam
df0d1c8138
Merge pull request #6563 from JosJuice/fix-wii-banner-load
...
Fix loading Wii banners for games that initially were cached without banners
2018-03-31 14:59:09 +02:00
Léo Lam
c82da2b978
Remove dead code
...
Unused, old code that is intended to be removed should not be left in
comments -- that is what version control is for.
2018-03-31 14:56:27 +02:00
JosJuice
5847e213af
Clean up the end of GameFile::BannerChanged
2018-03-31 14:52:21 +02:00
Léo Lam
329622120f
Merge pull request #6567 from JosJuice/discio-enums-case
...
DiscIO: Don't use all uppercase for enum values
2018-03-31 14:37:26 +02:00
JosJuice
4387432436
DiscIO: Don't use all uppercase for enum values
...
Also removing some prefixes that we don't need now that we're
using enum classes instead of plain enums.
2018-03-31 14:11:32 +02:00
Léo Lam
4e547772da
IOS/FS: Make the NAND root path a parameter
...
Cleaner than having the backend figure out which NAND root to use.
2018-03-31 10:58:49 +02:00
Léo Lam
c56f31906c
IOS/FS: Remove some redundant log messages
...
The FS IPC code already logs all commands, so keeping the log messages
in the backend is redundant.
2018-03-31 10:58:49 +02:00
Léo Lam
2d8be6a77d
IOS/FS: Make it harder to forget closing FDs
...
Return a FileHandle which will automatically close the FD when
the handle goes out of scope. For the rare cases where this behaviour
is undesirable, the FD can be released from the handle.
2018-03-31 10:58:48 +02:00
Léo Lam
de15e09a4f
Log: Rename IOS_FILEIO to IOS_FS
...
Let's use the actual name of the system module.
Also, the FS code is not all about files.
2018-03-31 10:58:37 +02:00
Léo Lam
5a7b966b6d
IOS: Rewrite FS to use FileSystem
...
This is the large change in the branch.
This lets us use either the host filesystem or (in the future) a NAND
image exactly the same way, and make sure the IPC emulation code
behaves identically. Less duplicated code.
Note that "FileIO" and "FS" were merged, because it actually doesn't
make a lot of sense to split them: IOS handles requests for both
/dev/fs and files in the same resource manager, and as it turns out,
/dev/fs commands can *also* be sent to non /dev/fs file descriptors!
If we kept /dev/fs and files split, there would be no way to
emulate that correctly. I'm not aware of anything that does that (yet?)
but I think it's important to be correct.
2018-03-31 10:58:37 +02:00
Léo Lam
78478a651d
Boot: Move CreateVirtualFATFilesystem to Boot_WiiWAD
...
It has nothing to do in the filesystem code.
(It also smells like a workaround for some kind of timing issue.)
2018-03-31 10:58:37 +02:00
Léo Lam
fcfe4e2a26
IOS: Change GetFS() to return a FileSystem
...
Now that we have a proper filesystem interface, it makes more sense
to return it instead of the emulated IOS device (which isn't
really usable for any purpose other than emulated IPC).
2018-03-31 10:45:44 +02:00
Léo Lam
1eec459e30
IOS: Extract existing FS code into a host backend
...
Extract the existing FS code into a HostBackend implementing
the filesystem interface.
Compared to the original code, this uses less static state.
The open host files map is now a member variable
as it should have been. Filesystem handles are now also easier
to savestate. Some variable names and log messages were cleaned up.
Nothing else has been changed.
2018-03-31 10:45:44 +02:00
Léo Lam
f1dbb8952c
IOS: Introduce a new FileSystem interface
...
Add a new FileSystem class that can be used to perform operations
on the emulated Wii filesystem.
This will allow separating the IPC code (reading from and writing to
memory to handle IOS FS commands) and the actual filesystem code
in a much better way.
This also paves the way for implementing another filesystem backend
in the future -- NAND images for more complete emulation, including
filesystem metadata like permissions or file orders, which some games
and homebrew actually care about -- without needing to make any more
changes to the other parts of the codebase, in addition to making
filesystem behaviour tests easier to write.
2018-03-31 10:45:44 +02:00
Léo Lam
1bdfedf3c6
Common: Add a Result class
...
This adds a lightweight, easy to use std::variant wrapper intended to
be used as a return type for functions that can return either a result
or an error code.
2018-03-31 10:45:44 +02:00
Lioncash
e93159e54a
CMakeLists: Link in system framework libraries explicitly on macOS
...
Makes our libraries explicitly link in which libraries they need.
This makes our dependencies explicit and removes the reliance on the
LIBS variable to contain the libraries that they need.
2018-03-30 16:14:10 -04:00
Léo Lam
7833f1a931
Merge pull request #6558 from lioncash/input
...
InputCommon/CMakeLists: Link in ForceFeedback library explicitly on macOS
2018-03-30 14:05:36 +02:00
JosJuice
a7ba69e16a
Fix loading Wii banners for games that initially were cached without banners
...
Fixes https://bugs.dolphin-emu.org/issues/10969
2018-03-30 12:04:01 +02:00
Mat M
c3398c9e2c
Merge pull request #6559 from spycrab/qt_crashes
...
Qt/PatchesWidget: Fix segfault
2018-03-29 18:51:22 -04:00
Mat M
fc99b21080
Merge pull request #6560 from JosJuice/invalid-games-in-game-list
...
DolphinQt2: Don't show invalid games in game list
2018-03-29 18:49:38 -04:00
Mat M
65a1065cde
Merge pull request #6561 from JosJuice/uid-version-last-changed
...
Put a "last changed in PR" comment next to UID cache version
2018-03-29 18:48:12 -04:00
JosJuice
b065f86270
Translate the netplay chat info message about QoS
2018-03-29 22:44:23 +02:00
JosJuice
01ea10824d
Put a "last changed in PR" comment next to UID cache version
...
This will create a merge conflict if two PRs try to increment the
cache version at the same time, which makes it noticeable that the
PR that gets merged last needs to increment the cache version again.
We already use this for savestates and the game list cache.
2018-03-29 22:38:37 +02:00
JosJuice
ff2fe73ec9
DolphinQt2: Don't show invalid games in game list
...
Regression from 1f1dae3
.
This problem doesn't happen in DolphinWX as far as I know, but if
you've ran into the problem in DolphinQt2, it will carry over to
DolphinWX because of the shared game list cache.
2018-03-29 21:52:21 +02:00
spycrab
55d9df379a
Qt/PatchesWidget: Fix segfault
2018-03-29 21:33:36 +02:00
Lioncash
b8a4ab23dd
InputCommon/CMakeLists: Link in ForceFeedback library explicitly on macOS
...
Makes an implicit dependency explicit. Also makes the macOS libraries link privately
as they aren't used in the exposed interface.
2018-03-29 11:53:50 -04:00
Léo Lam
e4f2ff0f32
Merge pull request #6557 from spycrab/qt_log_font
...
Qt/LogWidget: Add "Debugger Font" option
2018-03-29 15:12:33 +02:00
spycrab
8cb497cab2
Qt/LogWidget: Add "Debugger Font" option
2018-03-29 03:02:34 +02:00
Lioncash
b818cc682c
VideoCommon/Vulkan: Explicitly link in xxhash
...
Lessens the dependency on the LIBS variable (and also makes the required
libraries explicit).
2018-03-28 17:03:16 -04:00
Léo Lam
03a6a9b240
Merge pull request #6546 from spycrab/updater_ui
...
Implement Updater UI
2018-03-28 20:04:32 +02:00
Léo Lam
21a2c0284d
Merge pull request #6544 from spycrab/qt_fix_general
...
GeneralPane: Fix settings resetting and improve code
2018-03-28 20:01:57 +02:00
spycrab
429dc54159
Updater: Implement UI
2018-03-28 17:59:22 +02:00
spycrab
f700fcae2e
HttpRequest: Add callback option
2018-03-28 17:33:34 +02:00
Lioncash
fd7ac0d4a3
VideoCommon/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-03-28 09:57:50 -04:00
Léo Lam
c28850045d
Merge pull request #6552 from lioncash/uicommon-cmake
...
UICommon/CMakeLists: Migrate off of add_dolphin_library
2018-03-28 12:33:24 +02:00
Lioncash
a2a18380a7
UICommon/CMakeLists: Migrate off of add_dolphin_library
...
Continues the migration work started in
3a4c3bbe01
2018-03-28 06:29:09 -04:00
Markus Wick
fc59ec6f13
Merge pull request #6547 from lioncash/dead
...
PixelShaderGen: Remove dead code in WriteColor()
2018-03-28 10:43:15 +02:00
JMC47
3cd9465f91
Fix JIT64 mtsmsr issue after PIE support again.
2018-03-28 04:16:41 -04:00
Léo Lam
10f198f3cf
Merge pull request #6551 from lioncash/qt-misc
...
DolphinQt: Remove a few unused variables
2018-03-28 07:50:44 +02:00
JosJuice
748ebf6891
Merge pull request #6550 from lioncash/qt
...
HacksWidget: Remove duplicate AddDescription() calls in AddDescriptions()
2018-03-28 07:33:04 +02:00
Lioncash
df4ca7f05e
SearchBar: Remove unused class variables
2018-03-27 22:47:02 -04:00
Lioncash
306d132232
MainWindow: Remove unused std::string variable in NetPlayHost()
2018-03-27 22:47:02 -04:00
Lioncash
833c030496
WiiPane: Remove unused variable in OnUSBWhitelistRemoveButton()
2018-03-27 22:47:01 -04:00
Lioncash
eb8a853d8e
Resources: Remove unused string in Init()
2018-03-27 22:47:01 -04:00
Lioncash
568490fdfb
MD5Dialog: Call .empty() instead of testing against an empty string
2018-03-27 22:47:01 -04:00
Lioncash
d3283a881f
MenuBar: Remove unnecessary c_str() call
...
Also uses the character overload for find_last_of
2018-03-27 22:47:01 -04:00
Lioncash
b637163704
CodeWidget: Remove unnecessary c_str() calls
2018-03-27 22:46:51 -04:00
Lioncash
4a1123f519
HacksWidget: Remove duplicate AddDescription() call in AddDescriptions()
2018-03-27 22:36:37 -04:00
Lioncash
aa42534fed
FilesystemWidget: Pass path QString by const reference instead of by value in ExtractDirectory()
...
Makes it consistent with the surrounding API.
Also corrects a typo in ExtractFile's parameter list.
2018-03-27 22:00:40 -04:00
Lioncash
fc531993a9
DiscExtractor: Pass partition by reference rather than by value in ExtractDirectory()
2018-03-27 21:49:42 -04:00
Pierre Bourdon
ac97f0463f
Merge pull request #6548 from lioncash/const
...
LinearDiskCache: Don't cast away const in Read()
2018-03-28 03:14:38 +02:00
Lioncash
008442898c
LinearDiskCache: Don't cast away const in Read()
...
We really shouldn't make the out pointer in the read function const and
then summarily cast it away. Also alters Write to be consistent with
casting.
2018-03-27 21:09:18 -04:00
Lioncash
f10198500e
PixelShaderGen: Invert conditional in WriteColor()
...
Puts the true condition body first instead of the false one for better
reading.
2018-03-27 18:53:17 -04:00
Lioncash
c9e0045881
PixelShaderGen: Remove dead code in WriteColor()
...
The outer conditional executes only whenever destination alpha is used.
2018-03-27 18:46:25 -04:00
Léo Lam
ea166a4812
Merge pull request #6543 from lioncash/cast
...
HiresTextures: Remove unnecessary pointer casts in GenBaseName() + minor associated cleanup
2018-03-27 21:45:56 +02:00
Lioncash
2da8d98b2f
HiresTextures: Use std::minmax or std::minmax_element where applicable in GenBaseName()
...
Minimizes repetition.
std::minmax_element can be used for the 256 * 2 case, as it's only performing byte comparisons
and thus, there will always be an element smaller than 0xffff, so it doesn't need to be included
in the set of compared values.
2018-03-27 15:39:05 -04:00
Lioncash
d5a1edba09
HiresTextures: Remove unnecessary pointer casts in GenBaseName()
...
swap16 has an overload that accepts a u8*, performing the same behavior
in a well-defined manner.
2018-03-27 15:19:02 -04:00
Pierre Bourdon
4ed0e10f41
Merge pull request #6541 from spycrab/updater_feedback
...
Updater: Provide basic user feedback
2018-03-27 20:43:36 +02:00
spycrab
7ce147f4d5
Updater: Provide basic user feedback
2018-03-27 20:32:26 +02:00
spycrab
11b15a688b
GeneralPane: Fix settings resetting and improve code
2018-03-27 20:27:03 +02:00
Stenzek
92e7830be9
Merge pull request #6540 from spycrab/gcpad_segfault
...
Core: Check for initialized GCPad before resetting rumble
2018-03-28 02:40:53 +10:00
Léo Lam
3c61ee5f7f
Merge pull request #6542 from lioncash/cast
...
BPStructs: Remove an unnecessary pointer cast in GetBPRegInfo
2018-03-27 18:12:56 +02:00
Léo Lam
98f62a3ecd
Merge pull request #6530 from spycrab/qt_hires_icon
...
Various icon improvements
2018-03-27 18:08:46 +02:00
Lioncash
9feb18866b
BPStructs: Remove an unnecessary pointer cast in GetBPRegInfo
...
swap32 has an overload that accepts a u8*, performing the same behavior
in a well-defined manner.
2018-03-27 12:04:16 -04:00
spycrab
4f63d7f204
Qt: Fix low-resolution icon
2018-03-27 17:32:45 +02:00
spycrab
016ef43b27
Core: Check for initialized GCPad before resetting rumble
2018-03-27 16:26:36 +02:00
Léo Lam
ceed6890df
Merge pull request #6526 from lioncash/emitter
...
x64Emitter: Minor cleanup and changes
2018-03-27 08:49:36 +02:00
Lioncash
476c71efc1
x64Emitter: Make eligible register and immediate functions constexpr
...
Pointer variants aren't eligible as expressions with reinterpret cast
within them cannot be constexpr.
2018-03-26 18:21:22 -04:00
Lioncash
8b072e1383
x64Emitter: Make remaining eligible functions in OpArg constexpr
2018-03-26 18:21:21 -04:00
Lioncash
964201f2d3
x64Emitter: Use std::tie in OpArg's operator==. Provide operator!= for symmetry
2018-03-26 18:21:21 -04:00
Lioncash
7f583b66cb
x64Emitter: Clean up constructors for OpArg
...
Default initializes members and moves initial assignments into the
initializer list.
2018-03-26 18:21:17 -04:00
Miikka Juomoja
7169be242f
StringUtil: Fix possible bad free
2018-03-26 23:48:13 +02:00
Léo Lam
793c6d25f4
Merge pull request #4532 from Neui/env-var-usr-cfg
...
Use $DOLPHIN_EMU_PATH as an alternative for the user directory
2018-03-26 23:41:27 +02:00
Léo Lam
b0e4e35cc5
Merge pull request #6478 from spycrab/qt_default_btns
...
Qt: Replace "OK" with "Close" buttons
2018-03-26 22:48:26 +02:00
Léo Lam
d3f432946f
Merge pull request #6514 from lioncash/inputcommon-cmake
...
InputCommon/CMakeLists: Migrate off add_dolphin_library
2018-03-26 21:25:27 +02:00
Léo Lam
c9b4e3959c
Merge pull request #6511 from leoetlino/qt
...
Qt: Minor fixes
2018-03-26 21:24:44 +02:00
Léo Lam
91f61a1be4
Merge pull request #6285 from JosJuice/qt-gametracker-more-thread
...
DolphinQt2: Perform more of GameTracker's work on a separate thread
2018-03-26 21:24:22 +02:00
Markus Wick
9b5726fc23
Merge pull request #6534 from lioncash/dspjit
...
DSPEmitter: Remove uses of the DSP JIT global in CompileCurrent()
2018-03-26 21:12:46 +02:00
Markus Wick
12b99313aa
Merge pull request #6536 from stenzek/glx-swap-interval
...
GLInterface: Use EXT_swap_control or MESA_swap_control over SGI
2018-03-26 21:11:13 +02:00
JosJuice
0a69b42d07
DolphinQt2: Perform more of GameTracker's work on a separate thread
...
This reduces the time from startup to the game list window showing up.
2018-03-26 20:08:06 +02:00
Léo Lam
b4e9bef25c
Merge pull request #6519 from spycrab/qt_rw_bg
...
Qt/RenderWidget: Draw background on pause
2018-03-26 19:04:53 +02:00
Léo Lam
2e1edb49b0
Merge pull request #6524 from lioncash/global
...
JitArm64/JitAsm: Remove usages of the JIT global
2018-03-26 18:59:05 +02:00
Léo Lam
674ab6a8ef
Merge pull request #6532 from lioncash/interp
...
Interpreter: Remove static state within SingleStepInner()
2018-03-26 18:50:26 +02:00
Stenzek
c82be53d5c
GLInterface: Use EXT_swap_control or MESA_swap_control over SGI
...
The SGI extension does not define calling SwapInterval with a parameter
of zero as valid. It was just lucky that drivers interpreted this as
vsync off. The EXT_swap_control extension defines zero as a valid value.
Mesa does not appear to support the EXT variant, so we fall back to
MESA_swap_control here, which also supports zero.
2018-03-26 22:09:22 +10:00
Lioncash
4a4538abbf
Interpreter_LoadStore: Amend variable naming
...
Amends variable names to follow our code style. Also makes code const correct where possible.
2018-03-26 07:47:50 -04:00
Léo Lam
97e4d3d56f
Merge pull request #6523 from lioncash/cast
...
Interpreter_LoadStore: Remove unnecessary casts
2018-03-26 12:47:09 +02:00
Léo Lam
eb489c0a5e
Merge pull request #6529 from lioncash/utils
...
DSPCodeUtil: Don't return data via an out parameter
2018-03-26 12:46:16 +02:00
Léo Lam
3272fda3ee
Merge pull request #6525 from lioncash/dead-code
...
Jit64/Jit_Integer: Remove dead code in arithXex()
2018-03-26 12:43:01 +02:00
Léo Lam
ccfdea696a
Merge pull request #6527 from lioncash/typedef
...
DSPTables: Remove opc_t typedef
2018-03-26 12:39:27 +02:00
Léo Lam
8e8603fcc9
Merge pull request #6528 from lioncash/enum-asm
...
DSPAssembler: Make error code enum an enum class
2018-03-26 12:38:06 +02:00
Léo Lam
ea5808759e
Merge pull request #6531 from lioncash/mmu-enum
...
MMU: Make TLBLookupResult and XCheckTLBFlag enum classes
2018-03-26 11:39:37 +02:00
spycrab
591c8837e2
Qt: Replace "OK" with "Close" buttons
2018-03-26 09:20:48 +02:00
spycrab
9f13048e1e
Qt/GraphicsWindow: Decrease description box size
2018-03-26 08:30:32 +02:00
Lioncash
1519e4dbb3
DSPEmitter: Remove uses of the DSP JIT global in CompileCurrent()
...
With this, the DSPEmitter itself no longer makes use of the DSP JIT global
2018-03-26 01:14:17 -04:00
Kekker-git
d40ae9f569
Fix indefinite rumble on emulation pause
2018-03-26 00:04:58 -04:00
Lioncash
8b29997ed1
Interpreter: Remove an unnecessary UReg_MSR& cast from SingleStepInner
...
This is technically undefined behavior, but regardless of that, it's not
even necessary since we can just make a temporary around the MSR value
and just discard it when done with it, since all we do is query the FP
bit value with it.
2018-03-25 21:36:39 -04:00
Lioncash
b0efcdc8ef
Interpreter: Get rid of static state within SingleStepInner()
...
Given how the hooking operates, we may not execute an instruction.
Instead of making the state a static local to the function, just make it
part of the lifecycle of the Interpreter class.
2018-03-25 21:30:00 -04:00
Lioncash
c4a597171c
MMU: Make XCheckTLBFlag an enum class
2018-03-25 19:51:47 -04:00
Lioncash
9967c24f5d
MMU: Make TLBLookupResult an enum class
2018-03-25 19:44:14 -04:00
Lioncash
0f25627614
DSPCodeUtil: Don't return data via an out parameter
...
We can just return directly in these cases.
2018-03-25 18:55:08 -04:00
Lioncash
e42db3594b
DSPAssembler: Make error code enum an enum class
...
Prevents the error codes from littering the surrounding scope.
2018-03-25 18:19:08 -04:00
Lioncash
8c421ffbb7
DSPTables: Remove opc_t typedef
...
This was only ever used by the DSP assembler, and even then it was
sparsely used. Get rid of it to be consistent with types in other
sections of the DSP code.
2018-03-25 17:53:23 -04:00
Lioncash
2861e8f868
x64Emitter: Clean up constructor and destructors of XEmitter
...
In-class initializes members, defaults the default constructor and
virtual destructor, and puts members in the initializer list.
2018-03-25 16:50:02 -04:00
Lioncash
7bd41a3b55
Jit64/Jit_Integer: Remove dead code in arithXex()
...
The conditional this code is within already checks whether d == b, so this
conditional will never be true.
2018-03-25 15:35:02 -04:00
Lioncash
efcdb3debb
JitArm64/JitAsm: Remove usages of the JIT global
...
With this, the entire ARM JIT makes no use of the JIT global whatsoever.
2018-03-25 15:23:49 -04:00
Lioncash
a45631c4ca
Interpreter_LoadStore: Remove unnecessary casts
...
These aren't necessary as the type being stored into a u32 are of the
same signedness and are smaller in data size, so there's no truncation
being performed.
2018-03-25 15:09:32 -04:00
Stenzek
2f1a7cbee1
Implement "Skip" ubershader mode
...
Skip ubershader mode works the same as hybrid ubershaders in that the
shaders are compiled asynchronously. However, instead of using the
ubershader to draw the object, it skips it entirely until the
specialized shader is made available.
This mode will likely result in broken effects where a game creates an
EFB copy, and does not redraw it every frame. Therefore, it is not a
recommended option, however, it may result in better performance on
low-end systems.
2018-03-26 01:57:41 +10:00
Léo Lam
5c83e18fbd
Merge pull request #6515 from lioncash/cast
...
Interpreter_FPUtils: Get rid of a pointer cast
2018-03-25 11:27:38 +02:00
Léo Lam
e9976c27c0
Merge pull request #6518 from lioncash/namespace
...
Interpreter: Don't dump the MathUtils namespace into scope in Interpreter_FloatingPoint and Interpreter_Paired
2018-03-25 11:24:24 +02:00
Lioncash
48e2e9a41d
CachedInterpreter: Use using aliases instead of typedef
2018-03-25 02:57:25 -04:00
Lioncash
9829083241
CachedInterpreter: Use an enum class for instruction type
2018-03-25 02:57:16 -04:00
Lioncash
89df65aa25
Interpreter_Integer: Correct precedence of overflow check in nego
...
The overflow check needs to occur before the condition register update
due to the fact that the summary overflow (SO) bit is used in the
updating of the condition register. If we set any overflow bits after
updating the CR, then we can potentially incorrectly report that an
overflow did not happen (in the case the SO bit wasn't set previously).
2018-03-24 20:48:05 -04:00
spycrab
3f1430587c
Qt/RenderWidget: Draw background on pause
2018-03-25 01:26:50 +01:00
Lioncash
96014e74a3
Interpreter_Paired: Don't dump the entire MathUtils namespace into scope
...
Functions from the namespace are only used four times within the entire
file.
2018-03-24 19:42:14 -04:00
Lioncash
46f61a48c7
Interpreter_FloatingPoint: Don't dump the entire MathUtils namespace into scope
...
Given functions from the MathUtils namespace are only used six times in
the whole file, dumping the namespace seems a little excessive.
2018-03-24 19:40:22 -04:00
Lioncash
27611d55ff
Interpreter_FPUtils: Get rid of a pointer cast
...
This is undefined behavior according to the standard. We can just use
the built in means of retrieving a quiet NaN.
2018-03-24 19:33:44 -04:00
Léo Lam
328ac424c0
Merge pull request #6517 from lioncash/ppctables
...
PPCTables: Namespace all exposed functions
2018-03-24 22:17:36 +01:00
Lioncash
8a7abd72b4
PPCTables: Remove prefixed underscores from parameter names
2018-03-24 16:46:49 -04:00
Lioncash
2381aeecc3
PPCTables: Namespace all exposed functions
...
It's somewhat inconsistent to have two straggler functions outside the
namespace.
2018-03-24 16:46:12 -04:00
Lioncash
397b3fb976
CPUCoreBase: Make the GetName() member function const qualified
...
This function should have no need to modify internal class state.
2018-03-24 16:17:39 -04:00
Lioncash
c738ddc4aa
CPUCoreBase: Default the virtual destructor
2018-03-24 16:09:19 -04:00
Léo Lam
5369d3c9f1
Merge pull request #6513 from lioncash/dead-code
...
Interpreter: Remove dead code
2018-03-24 20:09:25 +01:00
Lioncash
ef6e747a68
PowerPC: Remove commented out PanicAlert
2018-03-24 14:52:22 -04:00
Lioncash
3dc3b0caa5
Interpreter_LoadStore: Remove commented out code
...
Also removes long separation lines that aren't really necessary.
2018-03-24 14:49:18 -04:00
Lioncash
f9e0645b99
Interpreter_SystemRegisters: Remove commented out code
2018-03-24 14:45:46 -04:00
Lioncash
288b579c09
Interpreter_Integer: Remove commented out code in subfic
2018-03-24 14:43:25 -04:00
Lioncash
01308330d9
InputCommon/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-03-24 14:13:53 -04:00
Lioncash
680ceb7f43
DiscIO/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-03-24 13:54:06 -04:00
Léo Lam
2d0d4fee28
Qt: Fix controller window margin
...
Reduces wasted space and makes the whole window (barely) fit on my
laptop screen again. (Regression from the scroll wrap changes)
2018-03-24 18:45:10 +01:00
Léo Lam
bf05c74f6b
Qt: Fix GameCube config pane spacing
2018-03-24 18:18:17 +01:00
Léo Lam
752098de22
Qt: Fix search bar widget spacing
...
With setMargin(0), the widgets look awkwardly close to the window edges
2018-03-24 18:09:46 +01:00
Léo Lam
8d0c15bb97
Qt/Search: Simplify placeholder text
...
A search box is a common UI element. We don't need to explicitly tell
the user that they need to type a search term. Also,
Let's use the common "Search <items>..." placeholder text instead
and make the string shorter for localisation.
2018-03-24 18:02:17 +01:00
Léo Lam
f7c9d2fd4d
Qt: Show code pane by default in debug mode
...
Otherwise, it's confusing because the option seems to do nothing
especially if the user is used to the DolphinWX debugger.
2018-03-24 17:53:46 +01:00
spycrab
806990968d
Qt: Implement "Auto-Adjust Window Size"
2018-03-24 16:48:46 +01:00
Léo Lam
a838d13fd1
Merge pull request #6504 from Ebola16/OSD
...
Rename "On-Screen Messages" to "On-Screen Display Messages"
2018-03-24 09:59:14 +01:00
Léo Lam
305b3dc835
Merge pull request #6497 from spycrab/qt_file
...
Qt: Implement missing "File" menu items
2018-03-24 09:10:49 +01:00
Léo Lam
4c5efb0f3a
Merge pull request #6508 from lioncash/cmake-common
...
Common/CMakeLists: Migrate off add_dolphin_library
2018-03-24 09:08:20 +01:00
Léo Lam
37dbb2e181
Merge pull request #6509 from spycrab/qt_shader_gen
...
Qt: Show shader generation window
2018-03-24 09:03:16 +01:00
Markus Wick
3ab88742fd
Merge pull request #6492 from lioncash/nop
...
Jit_Integer: Make NOP check more flexible for ori and expand NOP checking to oris, xori, and xoris
2018-03-24 08:53:21 +01:00
spycrab
cb71b06afc
Qt: Show shader generation window
2018-03-24 03:02:47 +01:00
Mat M
5669841e83
Merge pull request #6505 from lioncash/arm
...
Arm64Emitter: Minor cleanup
2018-03-23 19:25:50 -04:00
Lioncash
f889cae8c4
Arm64Emitter: Satisfy unrelated linter issues that cropped up by modifying the cpp file
2018-03-23 19:17:44 -04:00
Lioncash
91cefe6c8a
Arm64Emitter: Make IsImmArithmetic, IsImmLogical, FPImm8ToFloat, and FPImm8FromFloat internally linked
...
These aren't used anywhere outside of the emitter. Centralizes them under an anonymous namespace.
2018-03-23 19:17:26 -04:00
Lioncash
2548ccda8e
Common/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work that was started in 3a4c3bbe01
2018-03-23 19:08:30 -04:00
spycrab
8ebb3a015e
Qt: Update analytics checkbox after initial prompt
2018-03-23 23:28:17 +01:00
spycrab
f3e6f0f2d4
Updater: Increase request timeout to 30s
2018-03-23 22:25:38 +01:00
Lioncash
b11c237c43
Arm64Emitter: Remove unnecessary V8_UINT64_C preprocessor macro
...
UINT64_C is provided via <cstdint>, so we can just use that instead.
2018-03-23 13:31:48 -04:00
Lioncash
03671a5534
Arm64Emitter: Remove duplicate IsPowerOf2 function
...
We can just use the generified version in MathUtil.
2018-03-23 13:31:44 -04:00
Ryan Meredith
976347c65d
Rename "On-Screen Messages" to "On-Screen Display Messages"
2018-03-23 12:29:03 -04:00
Pierre Bourdon
22d851d930
Merge pull request #6500 from spycrab/qt_respect_portable
...
Qt: Make QSettings use the user config directory (Make it respect portable.txt)
2018-03-23 17:25:28 +01:00
JosJuice
9c70036105
Merge pull request #6503 from lioncash/brace-warn
...
PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warnings
2018-03-23 15:29:39 +01:00
Lioncash
a52cc8d52b
PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warnings
2018-03-23 10:06:27 -04:00
Lioncash
2ab29a40eb
AbstractFramebuffer: Silence a -Wlogical-op-parentheses warning in ValidateConfig()
2018-03-23 09:58:19 -04:00
Lioncash
79f40fb8d7
MathUtil: Generify IsPow2
...
This will allow it to also be used in the AArch64 emitter.
2018-03-23 09:50:49 -04:00
spycrab
68733ac6c1
Qt: Make QSettings use the user config directory
2018-03-23 12:50:01 +01:00
Lioncash
38f045cee5
DolphinQt2/GameCubePane: Correct duplicate condition in LoadSettings()
...
Also turns a std::string const reference into a value instance.
While this is well-defined, it does look out of place, given a new string
is being created.
2018-03-23 07:38:26 -04:00
Pierre Bourdon
894d4c99a8
Merge pull request #6495 from lioncash/namespace
...
PowerPC: Namespace all header contents for PowerPC.h
2018-03-23 12:09:09 +01:00
Pierre Bourdon
27ffc8a69d
Merge pull request #6498 from lioncash/cmake
...
AudioCommon/CMakelists: Migrate off add_dolphin_library
2018-03-23 12:07:00 +01:00
Pierre Bourdon
1ac7452129
AutoUpdater: Generate basic HTML changelog.
2018-03-23 11:10:25 +01:00
Pierre Bourdon
1f3310874b
AutoUpdater: Don't show a spinning wheel cursor when delaying update
2018-03-23 11:10:25 +01:00
Pierre Bourdon
9628333b86
AutoUpdater: support optionally restarting Dolphin after update
2018-03-23 11:10:25 +01:00
Pierre Bourdon
773ec975f3
Merge pull request #6489 from spycrab/qt_updater
...
Qt: Improve and better integrate updater
2018-03-23 11:08:48 +01:00
spycrab
95a5a51e55
Qt: Implement missing "File" menu items
2018-03-23 10:58:54 +01:00
spycrab
ee3d64145c
Qt: Improve updater
2018-03-23 10:42:40 +01:00
Lioncash
fc16a78f6a
Jit_Integer: Handle NOP case for xori and xoris
...
Like ori and oris, xori and xoris can also be used to introduce a NOP.
In that case, just don't do anything.
2018-03-22 22:51:43 -04:00
Lioncash
007f9e5309
Jit_Integer: Handle NOP case for oris as well
...
Like ori, this can also be used as a NOP under the same conditions.
2018-03-22 22:49:02 -04:00
Lioncash
42fce74f39
Jit_Integer: Handle NOP case where RA == RS for ori
...
ori can be used as a NOP if the two register operands are the same, and
the immediate is zero, not only if the two register operands are r0.
Also removes the check for !inst.Rc, as ori only has one encoding, and
said encoding doesn't even have a record bit in it.
2018-03-22 22:47:19 -04:00
Lioncash
b96bbc8f8d
AudioCommon/CMakelists: Migrate off add_dolphin_library
...
Continues the changes that were introduced in 3a4c3bbe01
2018-03-22 22:07:11 -04:00
Mat M
71846a6daa
Merge pull request #6469 from lioncash/cmake
...
Core/CMakeLists: Migrate off add_dolphin_library
2018-03-22 21:52:44 -04:00
Lioncash
4c97deb364
PowerPC: Namespace all header contents for PowerPC.h
...
Puts everything under the same namespace. Previously the header was only
partially namespaced, which is inconsistent.
2018-03-22 19:01:47 -04:00
spycrab
196a1dcce4
Qt/CheatCodeEditor: Fix valid, encrypted AR codes not being accepted
2018-03-22 23:42:20 +01:00
Léo Lam
5e76f3a6d4
Merge pull request #6488 from aldelaro5/symbols-log
...
LOG: Add a log type for Symbols
2018-03-22 22:06:04 +01:00
Markus Wick
a4511129e7
Merge pull request #6491 from lioncash/sub-oe
...
Interpreter_Integer: Handle OE bit for subf, subfc, subfe, subfme, and subfze
2018-03-22 21:52:17 +01:00
aldelaro5
c54e56793a
Add a log type for Symbols and move symbols related logs to it
...
This fix the awkwardness of having the symbols detection, parsing and loading related logs be in OS HLE while they don't have anything to do with that.
2018-03-22 14:57:28 -04:00
Lioncash
796d67e1ec
Interpreter_Integer: Handle OE bit for subf, subfc, subfe, subfme, and subfze
...
With this, overflow flag support is now fully implemented for all
instructions that support it.
2018-03-22 13:08:03 -04:00
Anthony
0f60e68e0b
Merge pull request #6490 from spycrab/qt_fs_warn
...
Qt: Fix fullscreen quitting
2018-03-22 08:43:52 -07:00
spycrab
cc3d5a9921
Qt: Fix fullscreen quitting
2018-03-22 15:29:08 +01:00
Markus Wick
59c5bc964f
Merge pull request #6486 from lioncash/add-oe
...
Interpreter_Integer: Handle overflow flag when OE bit is set in add, addc, adde, addme, and addze
2018-03-22 14:15:58 +01:00
Lioncash
9d21425449
Interpreter_Integer: Handle overflow flag when OE bit is set in add, addc, adde, addme, and addze
2018-03-22 09:09:31 -04:00
Léo Lam
2e92d95888
Merge pull request #6487 from sepalani/dsp-doc
...
DSP: Fix typos in DSP LoadStore doc
2018-03-22 07:51:29 +01:00
Sepalani
4ed06da2b4
DSP: Fix typos in DSP LoadStore doc
2018-03-22 09:24:58 +04:00
Lioncash
e53fffeb90
PowerPC: Properly unset the overflow bit
...
The OV bit is non-sticky. Therefore, after an overflow-enabled
instruction executes, if an overflow does *not* occur, then OV is
cleared. SO is sticky however, so it staying set in this case is
correct.
2018-03-21 23:59:15 -04:00
Anthony
23bc50704a
Merge pull request #6484 from lioncash/mul
...
Interpreter_Integer: Handle the overflow flag when the OE bit is set for mullw
2018-03-21 18:18:00 -07:00
Lioncash
355509653e
Interpreter_Integer: Handle the overflow flag when the OE bit is set for mullw
2018-03-21 20:28:37 -04:00
Michael M
1ba43e6c27
DSPSymbols: remove unused ReadAnnotatedAssembly
...
It's unused, and it used a weird format, something like:
```
void label_name() {
asm $REG1, $REG2
// etc
}
```
2018-03-21 17:07:27 -07:00
Michael M
ed56f319b5
DSPHost: don't try to read old annotated assembly files
...
They don't exist anymore!
2018-03-21 17:06:30 -07:00
Anthony
30ccaa3fd5
Merge pull request #6481 from spycrab/qt_fix_fs
...
Qt: Fix fullscreen
2018-03-21 16:44:54 -07:00
Léo Lam
1b0f6a7d2e
Merge pull request #6482 from spycrab/qt_borders
...
Qt/MainWindow: Remove obnoxious border
2018-03-21 23:24:46 +01:00
Léo Lam
1b28693eb0
Merge pull request #4484 from Helios747/remove_text
...
[UI] Remove experimental tag from Vulkan
2018-03-21 23:18:03 +01:00
Helios747
b02b616930
[UI] Remove experimental tag from Vulkan
2018-03-21 15:12:12 -07:00
spycrab
8ead5be9f2
Qt: Fix fullscreen
2018-03-21 22:57:16 +01:00
spycrab
809dd665c7
Qt/MainWindow: Remove obnoxious border
2018-03-21 22:48:17 +01:00
Anthony
9cf22aec04
Merge pull request #6480 from spycrab/qt_search
...
Qt: Implement search
2018-03-21 12:40:34 -07:00
spycrab
3292abb41d
Qt: Implement search
2018-03-21 20:04:13 +01:00
Léo Lam
8580b3ba1f
Qt: Add ignore button for panic alerts
...
Allows easily disabling panic alerts during a session if needed.
2018-03-21 11:22:30 +01:00
Markus Wick
8308d6b464
Merge pull request #6476 from lioncash/dispatch
...
JitAsm: Eliminate use of the JIT global variable
2018-03-21 09:55:04 +01:00
Lioncash
7a2d98b948
JitAsm: Remove use of the JIT global in Generate()
...
With this, JitAsm code doesn't have any reliance on the JIT global
variable. This means the core JIT64 code no longer relies on said
global at all. The Jit64 common code, however, still has some offenders.
Notably, EmuCodeBlock and Jit64AsmCommon are the remaining places in the
common code that make use of the global variable.
2018-03-21 04:41:37 -04:00
Lioncash
e0165a62da
JitBase: Remove use of the JIT global in Dispatch() and JitTrampoline()
...
Trims down a few more uses of the global variable by just passing the
JIT instance we're dispatching or trampolining with as a parameter.
2018-03-21 04:41:30 -04:00
Pierre Bourdon
fe600ab0ed
Merge pull request #6146 from HannesMann/qos-support
...
Netplay: Add Quality of Service (QoS) support
2018-03-21 02:46:46 +01:00
Pierre Bourdon
6860259c44
Merge pull request #6457 from spycrab/qt_misc
...
Qt: Improve spacing again
2018-03-21 01:10:01 +01:00
Pierre Bourdon
6079d7d3c6
Merge pull request #6475 from Starsam80/fix-always-true
...
Qt: Remove always true if statement
2018-03-21 01:07:54 +01:00
Anthony
ad8c31699f
Merge pull request #6463 from delroth/auto-update
...
Initial implementation of the Dolphin auto-updater for Windows
2018-03-20 11:28:26 -07:00
Pierre Bourdon
66b41c5509
UICommon: Add AutoUpdate module + placeholder Qt implementation
...
The AutoUpdate module is a generic update checker mechanism which can be
used by UI backends to trigger an auto-update check as well as the
actual update process.
Currently only configurable through .ini and the Qt implementation is
completely placeholder-y -- blocking the main thread on a network
request on startup, etc.
2018-03-20 19:21:19 +01:00
Pierre Bourdon
37902c4aa4
DolphinWX: depend on Updater in order to make sure the binary is included in default builds
2018-03-20 19:21:19 +01:00
Pierre Bourdon
07c160310e
Add Updater.exe which performs the update tasks.
...
Updater.exe takes as input manifests and applies the difference between
these manifests to an install directory.
Currently lacking a UI.
2018-03-20 19:21:19 +01:00
Markus Wick
43c92c8b16
Merge pull request #6451 from leoetlino/default-mmu
...
Config: Set bMMU to true by default on x64
2018-03-20 14:40:40 +01:00
Markus Wick
35bfa64dfc
Merge pull request #6470 from lioncash/ov-flag
...
Interpreter: Handle setting the overflow flag when the OE bit is set in divw, divwu, and neg
2018-03-20 11:08:12 +01:00
Starsam80
b7c44715a8
Qt: Remove always true if statement
2018-03-20 00:41:47 -06:00
Pierre Bourdon
bc9deb7be3
HttpRequest: make curl initialization thread-safe
2018-03-20 00:36:43 +01:00
spycrab
44ce78c969
Qt: Remove in-development warning
2018-03-19 21:59:50 +01:00
Anthony
50588034ba
Merge pull request #6472 from lioncash/jit-init
...
JitBase: Ensure JitOptions and JitState instances are consistently initialized
2018-03-19 13:20:40 -07:00
Lioncash
51cfeb8c7d
JitBase: Ensure JitOptions and JitState instances are consistently initialized
...
Ensures that upon construction of a JitBase instance, that all
underlying members within the option and state structs are guaranteed
to be initialized.
This prevents potentially using a member uninitialized in some form.
2018-03-19 15:58:32 -04:00
Anthony
37f8efcda0
Merge pull request #6471 from JosJuice/qt-strings-consistent
...
Make strings more consistent between DolphinWX and DolphinQt2
2018-03-19 11:00:24 -07:00
JosJuice
a71c615435
Make strings more consistent between DolphinWX and DolphinQt2
...
Reduces the number of strings to translate.
2018-03-19 18:52:46 +01:00
Léo Lam
16f74cee70
Merge pull request #6467 from lioncash/breakpoint
...
Breakpoints: Remove direct usages of the JIT global
2018-03-19 18:42:10 +01:00
Lioncash
2fa0cb91a1
Interpreter_Integer: Set the overflow flag if the OE bit is set for neg
...
Also amends the condition that was being checked. Previously it was
checking if the destination register value was 0x80000000, however it's
actually the source register that should be checked.
2018-03-19 13:27:36 -04:00
Lioncash
675d2fb774
Interpreter_Integer: Set the overflow flag if the OE bit is set for divw and divwu
...
divw and divwu won't panic now if the OE bit is set for these instructions.
2018-03-19 11:51:10 -04:00
Lioncash
f129c936e7
PowerPC: Add functions for getting and setting the XER OV bit
...
While we're at it, change GetXER_SO's return value to u32
to prevent potential sign bit wonkyness given we're performing bit arithmetic.
2018-03-19 11:51:04 -04:00
Léo Lam
f335790623
Merge pull request #6460 from lioncash/datareader
...
DataReader: Minor API changes
2018-03-19 15:02:50 +01:00
Markus Wick
8c1be29cef
Merge pull request #6466 from lioncash/mffs
...
Interpreter_SystemRegisters: Handle mffs, mtfsb0, mtfsb1, mtfsf and mtfsfi with the record bit set
2018-03-19 09:37:01 +01:00
Markus Wick
523031f037
Merge pull request #6444 from stenzek/d3d-bbox
...
D3D: Fix broken bounding box
2018-03-19 09:21:22 +01:00
Markus Wick
98b4716902
Merge pull request #6442 from stenzek/async-compiler-priority
...
ShaderCache: Implement compile priority
2018-03-19 09:16:53 +01:00
Markus Wick
0c0a342483
Merge pull request #6464 from lioncash/using
...
JitArm64_RegCache: Remove using namespace declaration from header
2018-03-19 09:11:45 +01:00
Lioncash
3a4c3bbe01
Core/CMakeLists: Migrate off add_dolphin_library
...
This macro (that has unfortunately become the de-facto way of
introducing targets) has a lot of disadvantages that outweigh the fact
that you avoid writing two extra lines of CMake script.
- It encourages the use of variables. In a build system the last thing
we want to care about is mutable state that can be avoided.
- It only handles linking in the libraries and nothing else. It's a
laziness macro.
- We should be explicit about what we're doing by introducing the target
first, not last.
This gets the ball rolling by migrating Core off the macro. Note that
this is essentially 1-to-1 unrolling of the macro, therefore we're
still linking in all libraries as public, even though that may not be
necessary.
This can be revisited once everything is off the macro for a quicker
transition period.
2018-03-19 04:02:12 -04:00
Markus Wick
22aba8c56d
Merge pull request #6468 from lioncash/downcast
...
JitInterface: Remove a downcast within InitJitCore
2018-03-19 09:00:56 +01:00
Markus Wick
3d49bdb488
Merge pull request #6462 from lioncash/ppc
...
PPCTables: Make the op type enum an enum class
2018-03-19 08:55:32 +01:00