Lioncash
f62dffa9f0
DSPTool: Factor out assembly file retrieval
...
Keeps the retrieval behavior isolated and lessens the amount of
variables within PerformAssembly's scope.
2018-06-22 16:36:35 -04:00
spycrab
77f6e50493
Merge pull request #7134 from spycrab/qt_housekeep
...
Qt: Basic housekeeping
2018-06-21 14:24:53 +02:00
Markus Wick
b7068bfefd
Merge pull request #7129 from lioncash/dsptool
...
DSPTool: Factor out behavior from main()
2018-06-21 13:33:24 +02:00
Markus Wick
630c3f0805
Merge pull request #7147 from lioncash/emitter
...
DSP: Replace x64 JIT pointer with a pointer to an architecture-agnostic base
2018-06-21 12:34:13 +02:00
Markus Wick
52990d215d
Merge pull request #7145 from lioncash/mtspr
...
Interpreter_SystemRegisters: Handle mtspr to HID1 and PVR properly
2018-06-21 11:36:12 +02:00
Lioncash
b7301bee29
DSP: Replace x64 JIT pointer with a pointer to an architecture-agnostic base
...
This adds a base class that is used to replace the concrete instance of
the x64 JIT pointer within DSPCore. This fully removes the direct use
(read: non-ifdefed) usage of x86-64-specifics within the main DSP code.
Said base can also be used for creating JITs for other architectures,
such as AArch64, etc.
2018-06-21 05:20:22 -04:00
Markus Wick
ec209fea49
Merge pull request #6623 from lioncash/latex
...
docs: Add a LaTeX equivalent of the GameCube DSP User's Manual
2018-06-21 11:07:23 +02:00
Mat M
8b68a7d88a
Merge pull request #7109 from degasus/cached_interpreter
...
CachedInterpreter: Implement breakpoints.
2018-06-21 04:23:38 -04:00
Markus Wick
5f7dc31a9f
Merge pull request #7138 from lioncash/dsp-table
...
DSPTables: Separate interpreter and JIT functions from main info table
2018-06-21 10:23:03 +02:00
Lioncash
474c1bb4f7
DSPTables: Separate interpreter and JIT functions from main info table
...
This is one of the last things that needed to be done in order to
finally separate the x86-64-specific code from the rest of the common
DSP code. This splits the tables up similar to how it's currently done
for the PowerPC CPU tables.
Now, the tables are split up and within their own relevant source files,
so the main table within the common DSP code acts as the "info" table
that provides specifics about a particular instruction, while the other
tables contain the actual instruction.
With this out of the way, all that's left is to make a general base for
the emitters and we can then replace the x64 JIT pointer in DSPCore with
it, getting all x64 out of the common code once and for all.
While shuffling all the code around, the removal of the DSPEmitter
includes in some places uncovered indirect inclusions, so this also
fixes those as well.
2018-06-21 04:21:44 -04:00
Markus Wick
0459a1a9e6
Merge pull request #6875 from JonnyH/WIP/mipmap-heuristic-tweaks
...
Make arbitrary mipmap detection a config option
2018-06-21 10:19:47 +02:00
Markus Wick
bf50348d9f
Merge pull request #6539 from degasus/async
...
VideoCommon: Flush the GPU pipeline on async requests.
2018-06-21 10:16:54 +02:00
Markus Wick
d8ba3034c3
Merge pull request #7133 from lioncash/assembler
...
DSPAssembler: Minor changes
2018-06-21 10:02:36 +02:00
Markus Wick
b4b9b53239
Merge pull request #7143 from lioncash/bt-helper
...
BTEmu: Make m_WiiMotes private
2018-06-21 10:00:28 +02:00
Markus Wick
4ca05810be
Merge pull request #7144 from lioncash/cast
...
ActionReplay: Use Common::BitCast instead of reinterpret_cast in Subtype_AddCode()
2018-06-21 09:56:05 +02:00
Markus Wick
966cc5bc01
Merge pull request #7142 from lioncash/shadow
...
Common/MemoryPatches: Silence variable shadowing warnings
2018-06-21 09:52:47 +02:00
Markus Wick
9f03d8ca6a
Merge pull request #7139 from lioncash/tb
...
PowerPC: Add functions to read/write the full timebase value
2018-06-21 09:52:13 +02:00
Markus Wick
235a01c976
Merge pull request #7131 from JosJuice/android-case-insensitive-sort
...
Android: Use case insensitive sorting in game list
2018-06-21 09:29:41 +02:00
Markus Wick
3816e825c9
Merge pull request #7135 from JosJuice/cant-load-state
...
Only show savestate version mismatch OSD message when relevant
2018-06-21 09:28:47 +02:00
Markus Wick
6bfe336102
Merge pull request #7146 from lioncash/software
...
Software: Don't link against X11 libraries
2018-06-21 09:26:43 +02:00
Lioncash
540bb1a1b0
Software: Don't link against X11 libraries
...
The software backend doesn't actually use X11 in any capacity directly.
2018-06-21 01:47:37 -04:00
Lioncash
d0fbba9ac1
Interpreter_SystemRegisters: Handle mtspr to HID1 and PVR properly
...
Despite both being documented as read-only registers, only one of them
is truly read-only. An mtspr to HID1 will steamroll bits 0-4 with
bits 0-4 of whatever value is currently in the source register, the rest
of the bits are not modified as bits 5-31 are considered reserved, so
these ignore writes to them.
PVR on the other hand, is truly a read-only register. Attempts to write
to it don't modify the value within it, so we model this behavior.
2018-06-20 18:50:33 -04:00
Lioncash
7eb86cdb67
BTEmu: Add helper function for accessing WiimoteDevice instances by index
...
This makes it much more straightforward to access WiimoteDevice
instances and also keeps the implementation details of accessing those
instances in one spot.
Given as all external accesses to the WiimoteDevice instances go through
this function, we can make the other two private.
2018-06-20 17:05:54 -04:00
Lioncash
0e437c41e5
ActionReplay: Use Common::BitCast instead of reinterpret_cast in Subtype_AddCode()
...
Using reinterpret_cast (or a C-styled equivalent) to reinterpret
integers as floating-point values and vice-versa invokes undefined
behavior. Instead, use BitCast, which does this in a well-defined
manner.
2018-06-20 16:38:30 -04:00
Lioncash
e4b6d7626b
WiimoteDevice: Make Callback_WiimoteInterruptChannel() accept its data as a u8* rather than void*
...
All current usages of the function pass in either u8 arrays or pointers,
so we can make this part of the function a concrete type.
2018-06-20 16:04:10 -04:00
Lioncash
2b60fe684c
BTEmu: Make m_WiiMotes private
...
We can already utilize the public interface to access the necessary
instance without exposing a private data member.
2018-06-20 15:15:05 -04:00
spycrab
583ddfa8f0
Qt/GCMemcardManager: Update free blocks when a memcard is changed
2018-06-20 12:33:14 +02:00
spycrab
ce126f1cfe
Qt/Mapping: Remove "Iterative Input" everywhere
2018-06-20 12:33:14 +02:00
Lioncash
dddac76b8c
Common/MemoryPatches: Silence variable shadowing warnings
2018-06-19 21:33:50 -04:00
Léo Lam
bdfc6de9fd
Merge pull request #7137 from lioncash/copy
...
GameFile: Avoid copying map pairs in GetLanguages()
2018-06-19 22:57:29 +02:00
Léo Lam
de0b153867
Merge pull request #7136 from lioncash/unused
...
GameFile: Remove unused variable within GetUniqueIdentifier()
2018-06-19 22:57:00 +02:00
Léo Lam
e728c0c948
Merge pull request #7132 from lioncash/table
...
BTEmu: Make read-only arrays const
2018-06-19 22:56:10 +02:00
Léo Lam
a2bc62dd89
Merge pull request #7140 from lioncash/move
...
DolphinQt2/RegisterWidget: std::move std::function instances in AddRegister()
2018-06-19 22:53:37 +02:00
Lioncash
6066ca30b2
DolphinQt2/RegisterWidget: std::move std::function instances in AddRegister()
...
These can be moved into the RegisterColumn constructor, which avoids
potential allocations in the case a std::function would otherwise need
to allocate to hold all of it's captured data.
Also tidy up the inclusion order while we're at it.
2018-06-19 13:40:22 -04:00
Lioncash
562d2a700b
PowerPC: Add functions to read/write the full timebase value
...
Allows us to get rid of a silly pointer cast and deduplicate some code
from the front-end when it comes to reading the value.
2018-06-19 13:26:08 -04:00
Lioncash
d3ed750c9d
GameFile: Avoid copying map pairs in GetLanguages()
...
We can just reference the pairs instead of taking them by value,
avoiding copying std::string instances.
2018-06-19 12:25:16 -04:00
Lioncash
1e4f3607c3
GameFile: Remove unused variable within GetUniqueIdentifier()
2018-06-19 12:18:09 -04:00
JosJuice
860a89b943
Only show savestate version mismatch OSD message when relevant
...
We used to show it for all failed savestate loads, no matter what the
failure reason was. Fixes https://bugs.dolphin-emu.org/issues/9815
2018-06-19 16:15:18 +02:00
spycrab
18c3e0302f
Merge pull request #7127 from Techjar/patch-4
...
Qt/GameCubePane: Fix issues with changing memcard slots while game is running
2018-06-19 13:50:25 +02:00
spycrab
113f9767dd
Qt/FilesystemWidget: Remove "Whats this?" button from extraction dialog
2018-06-19 10:30:32 +02:00
Lioncash
9c3c92329e
DSPAssembler: Remove commented out code
...
This is just dead line noise sitting around, so we can get rid of it.
2018-06-18 16:24:38 -04:00
Lioncash
549bedd30b
BTEmu: Make read-only arrays const
...
Several arrays within this source file are only ever read from, so the
data can be made immutable.
2018-06-18 16:03:05 -04:00
Lioncash
b36cdbdda5
DSPAssembler: Convert typedef into a using alias
2018-06-18 15:45:59 -04:00
Lioncash
af41a8efba
DSPAssembler: Make member variable naming consistent
...
Previously the class was intermixing m_ prefixed variables and
non-prefixed ones, which can be misleading. Instead, we make the
prefixing consistent across the board.
2018-06-18 15:44:13 -04:00
Lioncash
1389bf35bd
DSPAssembler: In-class initialize members where applicable
...
Avoids repeating ourself in the initializer list and makes the class
have a predictable initial state.
2018-06-18 15:35:58 -04:00
JosJuice
d1a82182ac
Android: Use case insensitive sorting in game list
2018-06-18 19:11:58 +02:00
JosJuice
091efcc41d
Merge pull request #7125 from lioncash/enum
...
ConfigManager: Convert GPUDeterminismMode into an enum class
2018-06-18 18:22:31 +02:00
Markus Wick
29d51ff692
Merge pull request #7128 from lioncash/dsp-ex
...
DSPCore: Make DSPCore_SetException() take an enum type instead of a u8
2018-06-18 10:50:35 +02:00
Lioncash
78eba28975
DSPTool: Factor out behavior from main()
...
Keeps all behavior localized in their own functions, making it a tiny
bit nicer to read.
2018-06-17 18:21:33 -04:00
Lioncash
eb76dc9600
DSPCore: Make ExceptionType an enum class
...
Makes the values strongly typed and avoids polluting the DSP namespace.
2018-06-17 17:42:54 -04:00