Commit Graph

28810 Commits

Author SHA1 Message Date
Pierre Bourdon
1453a314df
Merge pull request #7130 from 8times9/master
Qt: Add Vulkan to graphics backend description
2018-06-25 01:43:41 +02:00
Pierre Bourdon
307d705654
Merge pull request #7152 from lioncash/dsp-interp
DSPIntExtOps: Minor cleanups
2018-06-25 01:42:42 +02:00
Pierre Bourdon
8129a3db6c
Merge pull request #7156 from lioncash/psq
Interpreter_LoadStorePaired: Generate a program exception if non-indexed paired-single load/stores are used and HID2.LSQE is not set
2018-06-25 01:41:48 +02:00
Pierre Bourdon
4200d2e5e3
Merge pull request #7155 from degasus/arm_registers
JitArm64: Drop the plattform register.
2018-06-25 01:38:29 +02:00
Pierre Bourdon
2cfdf89898
Merge pull request #6983 from yourWaifu/add-discord-rpc-support
Add Discord Rich Presence support
2018-06-25 00:06:27 +02:00
Techjar
9a26cc18c9 Qt/GameList: Reimplement multiselection functionality from WX 2018-06-24 15:57:45 -04:00
spycrab
7e881288a2 Qt/GameList: Fix some columns being too wide 2018-06-24 15:58:42 +02:00
Pierre Bourdon
7388094e83
Merge pull request #7165 from shuffle2/qt-nag
Add nag dialog to get users to explain why they still use DolphinWX
2018-06-24 06:11:28 +02:00
Shawn Hoffman
553ac7e7cd Add nag dialog to get users to explain why they still use DolphinWX 2018-06-23 19:15:09 -07:00
Markus Wick
b3fa5a4f2e
Merge pull request #7158 from lioncash/dsptool
DSPTool: Minor cleanups
2018-06-23 10:50:45 +02:00
JosJuice
bdfb72cfdb
Merge pull request #7162 from lioncash/const
BTEmu: Make WriteToEndpoint's reference parameter const
2018-06-23 09:11:42 +02:00
Lioncash
bc8f932f0c BTEmu: Make WriteToEndpoint's reference parameter const
This function doesn't modify anything being referenced.
2018-06-22 20:59:00 -04:00
Léo Lam
971972069c
Merge pull request #7148 from lioncash/build
Common, DSP: Only compile in x86-64 emitter related utilities on x86 platforms
2018-06-22 23:55:37 +02:00
Lioncash
43daebbc66 DSPTool: Get rid of unnecessary casts 2018-06-22 17:53:24 -04:00
Lioncash
83dab8dd36 DSPTool: Get rid of raw new and delete
We can just use a vector of a vector, which also has the benefit of
keeping the size accounted for as well, allowing us to get rid of a
count parameter for CodesToHeader().
2018-06-22 17:53:20 -04:00
Léo Lam
1da868ee82
Merge pull request #7150 from lioncash/naming
BTEmu: Amend variable naming
2018-06-22 22:50:48 +02:00
Léo Lam
d07e599a74
Merge pull request #7151 from lioncash/const
Movie: Make pointer parameters const where applicable
2018-06-22 22:50:25 +02:00
Lioncash
d81e3fddce DSPTool: Make CodeToHeader() and CodesToHeader() return a std::string directly
Instead of using an out-reference, we can modernize these to return the
std::string directly. While we're at it, also remove the unused name
parameter.
2018-06-22 16:50:13 -04:00
Léo Lam
e16cadf982
Merge pull request #7153 from lioncash/deduplicate
DSPTables: Deduplicate FindByOpcode() implementations in DSP opcode tables
2018-06-22 22:49:16 +02:00
Léo Lam
167c19ae19
Merge pull request #7154 from lioncash/emitter
DSPEmitter: Make member functions, aliases and constants private where applicable
2018-06-22 22:47:34 +02:00
Lioncash
537d09e1d4 DSPTool: Remove unnecessary c_str() calls
These functions already accept std::string instances, so c_str here just
causes an unnecessary copy of the string to be made.
2018-06-22 16:38:15 -04:00
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
dfc09cc11c
Merge pull request #7157 from spycrab/qt_fix_options
Qt/Mapping: Fix "Options" entries disappearing
2018-06-22 09:46:56 +02:00
spycrab
308d4bb670 Qt/Mapping: Fix "Options" entries disappearing 2018-06-22 00:16:28 +02:00
Lioncash
8d9f74b762 DSPEmitter: Make member functions, aliases and constants private where applicable
Given we now use a base class for the interface, we can make all member
functions, types and constants that aren't directly related to
instructions private.
2018-06-21 17:29:33 -04:00
Lioncash
47acf794c7 Interpreter_LoadStorePaired: Generate a program exception if non-indexed paired-single load/stores are used and HID2.LSQE is not set
HID2.LSQE is the Load/store quantize enable bit for non-indexed format
instructions (which are psq_l, psq_lu, psq_st, and psq_stu). If this bit
is not set and any of these instructions are attempted to be executed,
then a program exception is supposed to occur.
2018-06-21 17:16:54 -04:00
degasus
ecf86bbf7b JitArm64: Drop the plattform register.
This register is defined as "optional reserved" within the aarch64 ABI.
Linux doesn't use it, but we must not modify it on ios or windows.
As we have plenty of registers on aarch64, let's just always skip this one.
2018-06-21 22:39:15 +02:00
Lioncash
fd1ad02c5c DSPTables: Deduplicate FindByOpcode() implementations in DSP opcode tables
This function was duplicated across all the opcode tables: the main info
tables, the interpreter tables, and the x86-64 JIT tables. However, we
can just make the type of the std::array parameter a template type and
get rid of this duplication.
2018-06-21 13:35:06 -04:00
Lioncash
fdf057efce DSPIntExtOps: Remove unnecessary const from function prototypes
const on a parameter being passed by value in a prototype doesn't actually signify
anything, these are only applicable in the definition, where they make
the opcode parameter immutable.
2018-06-21 13:00:08 -04:00
Lioncash
42846e6ef1 DSPIntExtOps: Correct casing of functions
Corrects several functions to conform to our coding style.
2018-06-21 12:53:22 -04:00
Lioncash
4367e3aeda DSPIntExtOps: Make IsSameMemArea internally linked
inline has external linkage, which doesn't really make sense here, given
the function is only used within this translation unit. So we can
replace inline with static.

While we're at it, the code within the function can also be compressed
to a single return statement.
2018-06-21 12:46:01 -04:00
Lioncash
2354d933c8 Movie: Make pointer parameters const where applicable
A few functions don't actually modify the data being pointed to, so
these can be made pointer-to-const.
2018-06-21 12:27:30 -04:00
Lioncash
25e3ec23f8 BTEmu: Rename AccessWiiMote to AccessWiimote
Everywhere else throughout the codebase we use "Wiimote" when referring
to the Wii Remote as a shorthand. This makes the casing consistent.
2018-06-21 11:36:02 -04:00
Lioncash
56b8d1803e BTEmu: Amend parameter and local variable naming 2018-06-21 11:35:31 -04:00
Lioncash
16c6e9fa57 BTEmu: Amend class member variable naming 2018-06-21 10:53:07 -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
Lioncash
c4fb07f428 Common, DSP: Only compile in x86-64 emitter related utilities on x86 platforms
Previously these were required to be built into the executable so that
the JIT portion of the DSP code would build properly, as the
x86-64-specifics were tightly coupled to the DSP common code. As this is
no longer the case, this is no longer necessary.
2018-06-21 06:53:31 -04: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