Commit Graph

31754 Commits

Author SHA1 Message Date
Merry
4d99506b4c UnitTests/MovI2R: Test all logical immediates 2022-07-10 22:17:09 +01:00
Merry
3092f40e9f Arm64Emitter: Simplify LogicalImm logic
Heavily simplify logical immediate encoding.

This is based on the observation that if a valid repeating element
exists, it repeats through `value`. Thus it does not matter which
one you analyse. Thus we skip over the least significent element
if LSB = 1 by masking it out with `inverse_mask_from_trailing_ones`,
to avoid the degenerate case of a stretch of 1 bits going 'round
the end' of the word.
2022-07-07 22:53:36 +01:00
Admiral H. Curtiss
eccf527bf6
Merge pull request #9147 from jordan-woyak/imu-accel-weight-setting
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-07-07 23:17:47 +02:00
Admiral H. Curtiss
ccdb909d06
Merge pull request #10710 from jordan-woyak/rename-range
DolphinQt: Renamed "Range" to "Multiplier" in advanced mapping window and improved UX.
2022-07-07 23:04:11 +02:00
JMC47
7321802b4b
Merge pull request #10811 from Pokechu22/bs2-dfi-typo
BS2Emu: Fix DFI typo
2022-07-06 03:23:55 -04:00
Pokechu22
263d2a419a BS2Emu: Fix DFI typo 2022-07-05 17:15:59 -07:00
OatmealDome
c6eb5e2623 FileUtil: Only attempt to write to the destination in Copy if there is actually content to write 2022-07-05 15:13:20 -04:00
Admiral H. Curtiss
24498ca315
Merge pull request #10712 from tellowkrinkle/ControllerLocks
InputCommon/ControllerEmu: Use more locks
2022-07-05 11:39:48 +02:00
Admiral H. Curtiss
de3d1344d5
Merge pull request #10762 from CasualPokePlayer/fix_slow_audio_desyncs
Reduce gradual audio desyncing in dumps and apply the correct sample rate for GameCube audio
2022-07-05 11:37:30 +02:00
CasualPokePlayer
4234b25682 Do not directly store input sample rate, rather just store a divisor for that sample rate, with it using a fixed dividend of 54000000 * 2.
This should reduce (but not completely eliminate) gradual audio desyncs in dumps. This also allows for accurate sample rates for the GameCube.
Completely eliminating gradual audio desyncs will require resampling to an integer sample rate, as nothing seems to support a non-integer sample rate.
2022-07-03 15:07:06 -07:00
Admiral H. Curtiss
3bcd7aced9
Merge pull request #8467 from CookiePLMonster/interruptable-shader-precompile
Make shader precompilation interruptable
2022-07-02 13:08:37 +02:00
Admiral H. Curtiss
2f228310af
Merge pull request #10794 from TryTwo/PR_MemoryWidget_Cell_Edit
Debugger MemoryViewWidget: Allow direct editing of memory cells.
2022-07-02 13:05:39 +02:00
JosJuice
2a791116f1
Merge pull request #10800 from Pokechu22/registerwidget-crash
RegisterWidget: Fix crash when right-clicking when there is no selected cell
2022-07-02 09:18:28 +02:00
JosJuice
07a15a3228
Merge pull request #10624 from Minty-Meeo/resolve-gcc-warnings
Resolve Linux GCC Warnings
2022-07-02 09:17:44 +02:00
JMC47
b5f4b0dffe
Merge pull request #10803 from Zopolis4/clangingaround
Resolve additional warnings generated by clang
2022-07-02 03:12:34 -04:00
Zopolis4
0f07deb0ef
Remove unused variable in SI_DeviceKeyboard.h left over from SI_DeviceGCController.h 2022-07-02 16:16:54 +10:00
iwubcode
66f5085800 DolphinQt: add word wrap to graphics mods description 2022-07-01 19:31:19 -05:00
iwubcode
8dd4e916a7 DolphinQt: save changes to disk before refreshing mod list 2022-07-01 19:31:19 -05:00
TryTwo
bd59b0a490 Debugger MemoryViewWidget: Allow direct editing of memory cells. 2022-07-01 17:30:24 -07:00
Pokechu22
bf68211878 RegisterWidget: Fix crash when right-clicking when there is no selected cell 2022-07-01 17:13:00 -07:00
Minty-Meeo
69e32dea52 Resolve GCC Warnings 2022-06-30 15:26:48 -05:00
iwubcode
4788a05c76 VideoCommon: fix projection graphics mod affecting more than the intended draw call 2022-06-29 20:04:59 -05:00
JMC47
5d04e1e1de
Merge pull request #10518 from iwubcode/draw-mod
Introducing a 'GraphicsMod' system for creators
2022-06-28 13:35:39 -04:00
JMC47
e50e45f400
Merge pull request #10700 from sepalani/ssl-handshake
Socket: Fix some non-blocking connect edge cases
2022-06-27 21:39:36 -04:00
iwubcode
8aef0015fd DolphinQt: add warning if graphics mods are not enabled 2022-06-27 18:28:28 -05:00
iwubcode
f3054aa99f DolphinQt: add widget in game properties to list the various graphics mods available 2022-06-27 18:22:06 -05:00
iwubcode
1480b78f64 VideoCommon: dump EFB with size and texture format details and dump XFB with size details. Finally move count to front of image for XFB/EFB dumps so as to make it easier to see them in order. Change the count value prefix to 'n' 2022-06-27 18:20:52 -05:00
iwubcode
69839df1eb VideoCommon: support dynamically updating game mods at runtime 2022-06-27 18:20:52 -05:00
iwubcode
892678648e VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls) 2022-06-27 18:20:52 -05:00
iwubcode
62c186e14b VideoCommon: add UninitializeEFBMemory to mirror XFB function 2022-06-27 18:20:52 -05:00
iwubcode
0f88155729 Core / DolphinQt / VideoCommon: add setting for enabling graphic mods 2022-06-27 18:20:52 -05:00
iwubcode
f416b71925 VideoCommon: add logic to handle a GraphicsMod while Dolphin is running 2022-06-27 18:20:52 -05:00
iwubcode
254246b814 VideoCommon: add logic to read a GraphicsMod from configuration 2022-06-27 18:20:52 -05:00
Jordan Woyak
87fb42b64c DolphinQt: Renamed "Range" to "Multiplier" in advanced mapping window. Removed the slider. Moved the spin box. 2022-06-26 22:52:20 -05:00
Jordan Woyak
4c409411ed DolphinQt: Don't show the advanced input settings on the main dialog. 2022-06-26 22:48:13 -05:00
Jordan Woyak
80d9e79cf1 ControllerEmu: Allow settings to be categorized as "advanced". Make "Virtual Notches" and "Gate Size" categorized as such. 2022-06-26 22:42:16 -05:00
Jordan Woyak
643f82539c ControllerEmu: Expose gate size setting for octagon analog sticks. 2022-06-26 22:33:44 -05:00
iwubcode
f92beb611f VideoCommon: add game mod constants 2022-06-26 21:53:21 -05:00
iwubcode
3857e1fa66 Core: add GraphicsMod directory 2022-06-26 21:53:21 -05:00
iwubcode
4fbbd85ef4 VideoCommon: create variables for EFB/XFB copy prefix. Reword prefix to 'efb1' and 'xfb1' to match textures 2022-06-26 21:53:21 -05:00
iwubcode
b9995b04a0 VideoCommon: add a way to get have a graphics directory count for all games by using a special 'all.txt' instead of a 'gameid.txt' file 2022-06-26 00:45:13 -05:00
iwubcode
7854afe512 VideoCommon: add support for setting and getting the stage from the texture info 2022-06-26 00:45:13 -05:00
iwubcode
a1892a9c68 VideoCommon: add function to check whether TextureFormat is a valid value 2022-06-26 00:45:13 -05:00
Pokechu22
76401e8ffb BS2Emu: Initialize the last rows of postMatrices to the identity matrix
This fixes Datel titles having missing textures (which was an issue with the previous commit).
2022-06-25 17:29:49 -07:00
Pokechu22
b2ddffeeb1 BS2Emu: Set HID0/1/2/4 and MSR with correct default values
These values were obtained by setting a breakpoint at a game's entry point, and then observing the register values with Dolphin's register widget.

There are other registers that aren't handled by this PR, including CR, XER, SRR0, SRR1, and "Int Mask" (as well as most of the GPRs). They could be added in a later PR if it turns out that their values matter, but probably most of them don't.

This fixes Datel titles booting with the IPL skipped (see https://bugs.dolphin-emu.org/issues/8223), though when booted this way they are currently missing textures. Due to somewhat janky code, Datel overwrites the syscall interrupt handler and then immediately triggers it (with the `sc` instruction) before they restore the correct one. This works on real hardware due to icache, and also works in Dolphin when the IPL runs due to icache, but prior to this change `HID0.ICE` defaulted to 0 so icache was not enabled when the IPL was skipped.
2022-06-25 14:27:29 -07:00
Pokechu22
9675faa232 DSPHLE: Properly reflect initial halt state in mail handler
DSPHLE::Initialize sets the halt and init bits to true (i.e. m_dsp_control.Hex starts as 0x804), which is reasonable behavior (this is the state the DSP will be in when starting a game from the IPL, as after `__OSStopAudioSystem` the control register is 0x804).
However, CMailHandler::m_halted defaults to false, and we only call CMailHandler::SetHalted in DSPHLE::DSP_WriteControlRegister when m_dsp_control.DSPHalt changes, so since DSPHalt defaults to true, if the first thing that happens is writing true to DSPHalt, we won't properly halt the mail handler.
Now, we call CMailHandler::SetHalted on startup. This fixes Datel titles when the IPL is skipped with DSP HLE (though this configuration only works once https://bugs.dolphin-emu.org/issues/8223 is fixed).
2022-06-25 14:06:55 -07:00
Admiral H. Curtiss
caf0e5b3e8
DSPHLE: Add variables in CMailHandler to savestate. 2022-06-25 19:15:21 +02:00
Pokechu22
52f32e61dc DSPHLE: Fix build error in the libasnd uCode
This was a conflict between 8a144a735f and b063f15dcc.
2022-06-24 19:29:31 -07:00
JMC47
75943a7a2c
Merge pull request #10763 from Pokechu22/dsp-hle-asnd
DSPHLE: Add HLE version of libasnd ucode
2022-06-24 21:51:27 -04:00
Pokechu22
1faca4bfc7
Merge pull request #10752 from tellowkrinkle/BetterShaderNames
VideoCommon: Better shader names
2022-06-24 15:50:48 -07:00