Commit Graph

20213 Commits

Author SHA1 Message Date
3c61ee5f7f Merge pull request #6542 from lioncash/cast
BPStructs: Remove an unnecessary pointer cast in GetBPRegInfo
2018-03-27 18:12:56 +02:00
98f62a3ecd Merge pull request #6530 from spycrab/qt_hires_icon
Various icon improvements
2018-03-27 18:08:46 +02:00
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
4f63d7f204 Qt: Fix low-resolution icon 2018-03-27 17:32:45 +02:00
ceed6890df Merge pull request #6526 from lioncash/emitter
x64Emitter: Minor cleanup and changes
2018-03-27 08:49:36 +02:00
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
8b072e1383 x64Emitter: Make remaining eligible functions in OpArg constexpr 2018-03-26 18:21:21 -04:00
964201f2d3 x64Emitter: Use std::tie in OpArg's operator==. Provide operator!= for symmetry 2018-03-26 18:21:21 -04:00
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
7169be242f StringUtil: Fix possible bad free 2018-03-26 23:48:13 +02:00
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
b0e4e35cc5 Merge pull request #6478 from spycrab/qt_default_btns
Qt: Replace "OK" with "Close" buttons
2018-03-26 22:48:26 +02:00
d3f432946f Merge pull request #6514 from lioncash/inputcommon-cmake
InputCommon/CMakeLists: Migrate off add_dolphin_library
2018-03-26 21:25:27 +02:00
c9b4e3959c Merge pull request #6511 from leoetlino/qt
Qt: Minor fixes
2018-03-26 21:24:44 +02:00
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
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
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
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
b4e9bef25c Merge pull request #6519 from spycrab/qt_rw_bg
Qt/RenderWidget: Draw background on pause
2018-03-26 19:04:53 +02:00
2e1edb49b0 Merge pull request #6524 from lioncash/global
JitArm64/JitAsm: Remove usages of the JIT global
2018-03-26 18:59:05 +02:00
674ab6a8ef Merge pull request #6532 from lioncash/interp
Interpreter: Remove static state within SingleStepInner()
2018-03-26 18:50:26 +02:00
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
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
97e4d3d56f Merge pull request #6523 from lioncash/cast
Interpreter_LoadStore: Remove unnecessary casts
2018-03-26 12:47:09 +02:00
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
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
ccfdea696a Merge pull request #6527 from lioncash/typedef
DSPTables: Remove opc_t typedef
2018-03-26 12:39:27 +02:00
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
ea5808759e Merge pull request #6531 from lioncash/mmu-enum
MMU: Make TLBLookupResult and XCheckTLBFlag enum classes
2018-03-26 11:39:37 +02:00
591c8837e2 Qt: Replace "OK" with "Close" buttons 2018-03-26 09:20:48 +02:00
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
d40ae9f569 Fix indefinite rumble on emulation pause 2018-03-26 00:04:58 -04:00
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
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
c4a597171c MMU: Make XCheckTLBFlag an enum class 2018-03-25 19:51:47 -04:00
9967c24f5d MMU: Make TLBLookupResult an enum class 2018-03-25 19:44:14 -04:00
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
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
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
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
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
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
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
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
5c83e18fbd Merge pull request #6515 from lioncash/cast
Interpreter_FPUtils: Get rid of a pointer cast
2018-03-25 11:27:38 +02:00
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
48e2e9a41d CachedInterpreter: Use using aliases instead of typedef 2018-03-25 02:57:25 -04:00
9829083241 CachedInterpreter: Use an enum class for instruction type 2018-03-25 02:57:16 -04:00
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
3f1430587c Qt/RenderWidget: Draw background on pause 2018-03-25 01:26:50 +01:00