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
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
JMC47
76f890f6b0
Merge pull request #10761 from Pokechu22/dsp-halt-mail
...
DSPHLE: Handle mail more accurately
2022-06-24 18:46:20 -04:00
JMC47
ffa3bf86fb
Merge pull request #10760 from tellowkrinkle/std430
...
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-24 18:40:47 -04:00
Pokechu22
8a144a735f
DSPHLE: Add HLE version of libasnd ucode
2022-06-23 10:50:24 -07:00
Admiral H. Curtiss
0a2aabe6ec
Merge pull request #10753 from Pokechu22/dsp-hle-cdd1-constants
...
DSPHLE: Move CDD1 constants to UCodes.h
2022-06-23 13:43:57 +02:00
Pierre Bourdon
2bd72dfc6f
Merge pull request #10758 from shuffle2/x64-on-arm64
...
windows: detect and warn if running x64 dolphin on arm64
2022-06-23 07:34:34 +02:00
Pokechu22
f3c8e75666
DSPHLE: Move CDD1 constants to UCodes.h
...
These are used by *all* uCodes, though not all uCodes support MAIL_RESUME or MAIL_CONTINUE.
2022-06-22 22:01:13 -07:00
Shawn Hoffman
29ddd0e6f0
windows: detect and warn if running x64 dolphin on arm64
2022-06-22 15:33:12 -07:00
Pokechu22
a72fa4b9cc
DSPHLE: Don't generate new mail if the DSP is halted
...
This fixes booting Datel titles with DSPHLE (see https://bugs.dolphin-emu.org/issues/12943 ). Datel messed up their DSP initialization code, so it only works by receiving a mail later on, but if halting isn't implemented then it receives the mail too early and hangs.
2022-06-22 09:57:33 -07:00
Pokechu22
3aeafcc70b
DSPHLE: Return last mail with top bit cleared if there is no new mail
...
This is an accuracy improvement, though I don't think it matters for anything in practice.
2022-06-22 09:56:51 -07:00
Pokechu22
bdbb23fa1a
DSPHLE: Rename CMailHandler::m_Mails to m_pending_mails
2022-06-22 09:56:51 -07:00
Pokechu22
0fec8ffb3c
DSPHLE: Remove empty destructors
...
Most of these were made unnecessary by the previous commit.
2022-06-22 09:56:51 -07:00
Pokechu22
567f9bede4
DSPHLE: Remove unneeded calls to m_mail_handler.Clear()
...
It's cleared whenever the uCode changes, so there's no reason to clear it in a destructor or during initialization.
I've also renamed it to ClearPending.
2022-06-22 09:56:50 -07:00
Pokechu22
b063f15dcc
DSPHLE: Replace CMailHandler::IsEmpty with CMailHandler::HasPending
2022-06-22 09:56:50 -07:00
Pierre Bourdon
c8e716234e
Merge pull request #10732 from Pokechu22/dsp-init
...
Increase accuracy of DSP initialization process
2022-06-22 14:36:04 +02:00
Pierre Bourdon
6ddff87d42
Merge pull request #10755 from tellowkrinkle/DebugUID
...
VideoCommon: Don't add garbage to shader uids in debug builds
2022-06-22 14:33:23 +02:00
Pierre Bourdon
dc61f87fe4
Merge pull request #10772 from shuffle2/morepch
...
msbuild: add pch for dolphinqt
2022-06-22 14:27:44 +02:00
Pierre Bourdon
ceef02ed2a
Merge pull request #10750 from Pokechu22/hermes-test
...
Enhance DSPAssemblyTest, and fix various DSPTool bugs discovered while doing so
2022-06-22 14:26:50 +02:00
Pierre Bourdon
efcb9bec9c
Merge pull request #10774 from spotlightishere/bsd-determine-nameserver
...
IP/Top: Expand host nameserver usage
2022-06-22 13:02:05 +02:00
Spotlight
430c58cf27
IOS: Use host nameserver on more BSDs
2022-06-21 21:49:02 -05:00
Spotlight
a2530e3b93
IOS: Use first available IPv4 nameserver
2022-06-21 21:49:02 -05:00
Zopolis4
0dfd9d4b43
Replace Cpp11 (A Deprecated alias for Latest) in .clang-format
2022-06-22 08:57:32 +10:00
Shawn Hoffman
b39a11e23b
msbuild: add pch for dolphinqt
...
since this now includes Qt headers it's better than only using
the vanilla DolphinLib one alone (previous behavior before Qt6)
2022-06-21 13:35:14 -07:00
Pokechu22
a334883c47
Qt/MemoryViewWidget: Don't elide text
...
Before, the Hex 32 display would get truncated on Linux.
2022-06-20 18:53:23 -07:00
Admiral H. Curtiss
f441e3ab98
Merge pull request #10723 from Pokechu22/dsp-lle-unsigned-loop-counter
...
DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF
2022-06-21 02:01:13 +02:00
Admiral H. Curtiss
d524a92963
Merge pull request #10767 from Pokechu22/dsp-lle-dirq-zero-log
...
DSPLLE: Don't log when DIRQ is set to 0
2022-06-21 01:31:03 +02:00
JosJuice
fafc78b9b5
Re-run code formatting after update to Android Studio 2022.2
...
Android Studio 2022.2 "Chipmunk" changes the code formatting rules a
little. Let's apply the new formatting in this PR so that the lint bot
doesn't take it out on innocent PRs.
2022-06-20 17:41:41 +02:00
Pokechu22
c317f7fd22
DSPLLE: Don't log when DIRQ is set to 0
...
No interrupt is generated in this case. The homebrew liband uCode writes zero fairly frequently, so logging it results in spam.
2022-06-19 10:46:41 -07:00
Braxton Anderson
2b2b8e932d
Rename FPS_REFRESH_INTERVAL in VideoCommon/FPSCounter
2022-06-17 20:11:53 -06:00
TellowKrinkle
f79ac768d8
VideoCommon:ShaderCache: Add const to some local variables
2022-06-17 20:14:32 -05:00