Commit graph

26188 commits

Author SHA1 Message Date
Tilka
3e04cb6e6b
Merge pull request #9959 from Bonta0/gba-qol
Qt: GBA QoL improvements
2021-07-25 17:23:57 +01:00
Tillmann Karras
14da138ed9 DSPHLE: fix and re-enable polyphase resampling
This fixes the title screen music of Snowpack Park.
2021-07-25 15:45:06 +01:00
Tilka
55a465c6e6
Merge pull request #9949 from JosJuice/wia-ice-3
DiscIO: Fix broken workaround for MSVC ARM64 ICE
2021-07-25 05:14:10 +01:00
Tilka
c42b1c1b9f
Merge pull request #9921 from Pokechu22/non-power-of-2-wrap
Software: Handle texture wrapping more accurately
2021-07-25 05:08:11 +01:00
Bonta
cfd0f4661f Qt: Implement GBA Interframe Blending 2021-07-24 20:34:26 +02:00
Bonta
6fc060bdca Qt: AlwaysOnTop GBA widget option 2021-07-24 20:00:16 +02:00
Bonta
501868ace0 Qt: Make GBA widgets movable with left click in borderless mode 2021-07-24 19:37:39 +02:00
Bonta
63ff86adff Qt: Borderless GBA windows 2021-07-24 19:12:17 +02:00
Bonta
ee64e217f4 Qt/Core: Refactor GBA Core accessors 2021-07-24 14:54:57 +02:00
JosJuice
5fe23ccc3e DiscIO: Fix broken workaround for MSVC ARM64 ICE
The workaround added in 30f9f31 caused a regression where Dolphin
incorrectly replaced runs of one byte with runs of another byte
when writing WIA and RVZ files. ReuseID::operator< was always
returning false unless the ReuseIDs being compared had different
partition keys, which caused std::map<ReuseID, GroupEntry>
to treat all ReuseIDs with the same partition key as equal.
2021-07-24 13:29:03 +02:00
Mai M
f380c23fda
Merge pull request #9890 from JosJuice/jitarm64-mtfsb0x
JitArm64: Implement mtfsb0x
2021-07-22 21:41:01 -04:00
Mai M
971f110b99
Merge pull request #9937 from Techjar/netplay-split-save-sd-write
NetPlay: Split save and SD card write settings
2021-07-22 21:40:31 -04:00
Mai M
4f87821f21
Merge pull request #9938 from Pokechu22/e-reader-context-menu-item
GBA: Add "Scan e-Reader Card(s)" context menu item
2021-07-22 21:39:10 -04:00
Mai M
885a4646f8
Merge pull request #9941 from JMC47/dsprecommendations
AudioPane: Adjust DSP selection names
2021-07-22 21:37:49 -04:00
JMC47
59e6048200 AudioPane: Adjust DSP selection names 2021-07-22 20:59:35 -04:00
Pokechu22
bcf2c6b9b9 MemoryViewWidget: Remove unnecessary column
This column would end up containing junk data after changing the data type.
2021-07-22 17:39:35 -07:00
Markus Wick
5af5656383
Merge pull request #9932 from JosJuice/jitarm64-dcbz-backpatch
JitArm64: Fix dcbz backpatch
2021-07-23 01:58:59 +02:00
Markus Wick
8ad7508620
Merge pull request #9767 from JosJuice/jitarm64-fpr-callee-saved
JitArm64: Improve Arm64FPRCache::GetCallerSavedUsed
2021-07-23 01:53:44 +02:00
Pokechu22
50109d70b6 GBA: Add "Scan e-Reader Card(s)" context menu item 2021-07-22 12:18:07 -07:00
JosJuice
db5a78781f
Merge pull request #9929 from Tilka/ax
DSPHLE: re-enable low-pass filter
2021-07-22 19:05:29 +02:00
JosJuice
484279f013
Merge pull request #9933 from Dentomologist/remove_stringutil_buildcompletefilename
StringUtil: Remove unused function BuildCompleteFilename
2021-07-22 19:05:07 +02:00
JosJuice
fdcea8566d JitArm64: Improve Arm64FPRCache::GetCallerSavedUsed
If we're only using the lower 64 bits of a callee-saved
register, GetCallerSavedUsed can return false for it.
2021-07-22 10:42:44 +02:00
Techjar
3ce5caf887 NetPlay: Split save and SD card write settings
This actually eliminates any setting pertaining to SD cards from the
NetPlay dialog, as it would effectively just be a duplicate of the
setting in the Wii pane, potentially causing confusion.

This also enables save data writing by default, as this is probably
what most players want, and should avoid them losing hours of progress
because they forgot to tick a checkbox.
2021-07-22 01:16:20 -04:00
Dentomologist
f5e5e8553c StringUtil: Remove unused function BuildCompleteFilename 2021-07-21 12:39:00 -07:00
JosJuice
1df3456267 JitArm64: Remove a comment in dcbz implementation
This implementation is pretty efficient in my opinion. And "As
long as we aren't falling back to interpreter we're winning a lot"
applies to basically every instruction to some degree anyway.
2021-07-21 19:24:41 +02:00
JosJuice
d91d6fcdc5 JitArm64: Fix dcbz backpatch
The dcbz instruction needs to lock W30 so that the slowmem code will
push and pop it when calling into C++. Also, the slowmem code expects
that the address is present in W0, so replace the use of W0 as a scratch
register in the fastmem code with the now locked W30.
2021-07-21 19:19:52 +02:00
JosJuice
302b47f5e6 JitArm64: Add temp reg parameter to Arm64RegCache::Flush
We currently have a bug when calling Arm64GPRCache::Flush with
FlushMode::MaintainState, zero free host registers, and at least
one guest register containing an immediate. We end up grabbing
a temporary register from the register cache in order to be
able to write the immediate to memory, but grabbing a temporary
register when there are zero free registers causes the least
recently used register to be flushed in a way which does not
maintain the state of the register cache.

To get around this, require callers to pass in a temporary
register in the GPR MaintainState case. In other cases,
passing in a temporary register is not required but can help
avoid spilling a register (if the caller already had a
temporary register at hand anyway, which in particular will
be the case in my upcoming memcheck pull request).
2021-07-21 16:28:19 +02:00
CrystalGamma
c991904e04 PowerPC: Add reservation monitor to save state 2021-07-21 12:14:07 +02:00
CrystalGamma
d763d693e8 PowerPC: Move lwarx/stwcxd. reservation into PowerPCState 2021-07-21 12:12:19 +02:00
Léo Lam
9a91b867ab
Merge pull request #9912 from Pokechu22/memory-viewer-physical-mem2
Fix MEM2 in the memory viewer in physical mode
2021-07-21 11:37:15 +02:00
JosJuice
a3c8fb06c5 NetPlayClient: Remove a designated initializer
release-ubu-x64 currently fails with "sorry, unimplemented: non-trivial
designated initializers not supported". pr-ubu-x64 doesn't for some
reason, but we might as well remove the designated initializer.
2021-07-21 09:36:52 +02:00
JosJuice
b2d87c49b6 JitArm64: Implement mtfsb0x
Part 3 of implementing the FPSCR system register instructions.
2021-07-21 09:22:13 +02:00
JMC47
a1e806ed76
Merge pull request #9600 from Bonta0/mgba-pr
Full GBA Controllers Integration with mGBA
2021-07-21 02:36:43 -04:00
Tillmann Karras
4a5c723114 DSPHLE: re-enable low-pass filter
Maybe this got fixed? Sonic Colors probably needs it for underwater audio.
2021-07-21 03:59:25 +01:00
Pokechu22
fa9c43cfaa Software: Handle texture wrapping more accurately
This fixes various texture offsetting issues with negative texture coordinates (bringing the software renderer in line with the hardware renderers).  It also handles the invalid wrap mode accurately (as was done for the hardware renderers in the previous commit).  Lastly, it handles wrapping with non-power-of-2 texture sizes in a hardware-accurate way (which is somewhat broken looking, as games aren't supposed to use wrapping with non-power-of-2 sizes); this has not been done for the hardware renderers.
2021-07-20 19:23:23 -07:00
Pokechu22
19332575aa WrapMode=3 behaves the same as Clamp 2021-07-20 19:23:23 -07:00
JMC47
b515786c8d
Merge pull request #9927 from OatmealDome/double-usbgecko
GeckoSockServer: Only join connectionThread if it is joinable
2021-07-20 22:18:33 -04:00
OatmealDome
48bcd96526 GeckoSockServer: Only join connectionThread if it is joinable 2021-07-20 14:56:09 -04:00
JosJuice
92fc4f1eca PixelShaderGen: Fix OpenGL ES bounding box compilation error 2021-07-20 11:39:32 +02:00
Techjar
5e0520b6e0 VideoCommon: Expand vector comparisons instead of overloading any()
For whatever stupid reason, Mali drivers do not allow overloading
built-in functions.
2021-07-20 05:24:47 -04:00
Dentomologist
fe670a3e68 FileUtil: Remove duplication in FileInfo constructor 2021-07-19 11:50:17 -07:00
Pokechu22
2d460b8e31 Fix MEM2 in the memory viewer in physical mode 2021-07-18 13:09:42 -07:00
Tillmann Karras
c948d7f436 PostProcessing: fix link error when switching shaders
Switching to a post-processing shader with different configuration options will
change the UBO, so we need to recompile the vertex shader as well.
2021-07-18 04:08:48 +01:00
Shawn Hoffman
8bddd8c675 remove SetRoundMode
we only care about SSE rounding mode, and set
that manually in SetSIMDMode
2021-07-17 19:29:22 -07:00
Tilka
3c90b657f3
Merge pull request #9907 from shuffle2/roundmode-bitfield
make FPSCR.RN an enum
2021-07-18 03:12:28 +01:00
Shawn Hoffman
197075293d make FPSCR.RN an enum 2021-07-17 18:55:06 -07:00
Shawn Hoffman
e1bddd4c18 remove DSP::Profiler*
this is not used anywhere and seems trivial to
ressurect if it's ever needed again.
2021-07-17 18:26:32 -07:00
Shawn Hoffman
c89ae53677 msvc: remove warning disables which no longer fire 2021-07-17 18:24:36 -07:00
Shawn Hoffman
f5b05ae080 remove an outdated comment
seems to have been solved 5 years ago by
b707e199c2
2021-07-17 17:46:57 -07:00
Léo Lam
5021a13aa9
DSPHLE: Fix running and is_stream checks in AX HLE
A voice is considered running if and only if `running` equals 1,
not if `running` is not equal to 0.

This fixes https://bugs.dolphin-emu.org/issues/12508 because for some
reason *The Sims 2 - Castaway* sets `running` to 8 when a stream
finishes playing; previously our AX HLE would just loop the voice
and eventually crash after accessing invalid memory addresses.

Thanks to JMC47 and delroth's help, I've verified that this is the
correct check for the following ucodes:

GC:
* 0x3ad3b7ac
* 0x3daf59b9
* 0x4e8a8b21
* 0x07f88145
* 0xe2136399
* 0x3389a79e

Wii:
* 0x347112ba
* 0xfa450138
* 0xadbc06bd

And while I was fixing the running check, I noticed that the is_stream
field was also being handled incorrectly, so I've fixed that as well.
2021-07-14 19:21:35 +02:00