Commit Graph

31748 Commits

Author SHA1 Message Date
92d67df4e9 Merge pull request #12138 from JosJuice/jit-gp-check-discard
Jit: Don't discard before gather pipe interrupt check
2023-09-10 15:10:37 +02:00
7869abf0e6 Common/MemArena: Set MAP_NORESERVE in LazyMemoryRegion on Linux. 2023-09-10 14:52:34 +02:00
3f6a976e0f IOS/KD: Implement Download Scheduler 2023-09-10 07:47:15 -04:00
34b0a6ea90 Jit: Check for discarded registers when flushing
This adds a check for the bug addressed by the previous commit.
2023-09-10 12:54:52 +02:00
5902b5b113 PPCAnalyst: Don't discard before gather pipe interrupt check
This bug has been lurking in the code ever since I added the discard
functionality. It doesn't seem to be triggered all that often,
and on top of that the emitted code only runs conditionally, so I'm not
sure if people have been affected by this bug in practice or not.
2023-09-10 12:54:52 +02:00
f7f4da2be8 Jit: Use correct address when checking fifoWriteAddresses
We need to check for the address of the *previous* instruction, because
checking fifoWriteAddresses happens not at the end of the instruction
that triggered it but at the start of the next instruction.
2023-09-10 12:54:18 +02:00
1a0f0e7e96 Merge pull request #12081 from JosJuice/jitarm64-debug-exit-pc
JitArm64: Store PC on debug exit
2023-09-10 02:10:29 +02:00
5e0cf795e3 Merge pull request #12169 from jordan-woyak/widescreen-heuristic-gameini
VideoCommon: Expose the widescreen heuristic's standard and widescreen values in onion config.
2023-09-09 16:51:11 +02:00
911c469cf5 Common/LogManager: Add logging category for Achievements. 2023-09-09 14:47:20 +02:00
R
860acfb15d Steam Deck: Periodically reenable gyro 2023-09-07 19:56:58 +01:00
57e56f4bc2 Merge pull request #12174 from AdmiralCurtiss/jitcache-32bit
Core/JitCache: Don't try to allocate the fast block map on 32-bit builds.
2023-09-07 19:29:04 +02:00
cf2a1f29b7 Core/JitCache: Don't try to allocate the fast block map on 32-bit builds. 2023-09-07 14:48:57 +02:00
422bc7a627 Common/MemArena: A zero-byte allocation is invalid. 2023-09-07 14:41:24 +02:00
c14bc6ea4c Common/MemArena: mmap returns MAP_FAILED on error, not nullptr. 2023-09-07 13:59:33 +02:00
a20bb3e05b Common/MemArena: Assert return value of LazyMemoryRegion::Clear()'s mmap() call. 2023-09-07 04:00:22 +02:00
7cc4304918 VideoCommon: Expose the widescreen heuristic's standard and widescreen ratio values in onion config. 2023-09-06 18:45:28 -05:00
c0440df288 Merge pull request #12029 from LillyJadeKatrin/retroachievements-bugfix-2
RetroAchievements - Rearranged startup process
2023-09-06 12:23:52 -04:00
3b5b9e0fc0 Merge pull request #12028 from LillyJadeKatrin/retroachievements-bugfix
RetroAchievements - Add Rich Presence to Achievement Dialog Header
2023-09-06 12:20:20 -04:00
38bd04c439 Add Rich Presence to Achievement Dialog Header
This refactors the Rich Presence generation to store to a member field that can be exposed to the UI to display the Rich Presence in the achievement header. It still updates at its original rate of once per two minutes, but calls an update on the dialog when that ticks.
2023-09-06 10:01:33 -04:00
589834f562 VideoCommon: add cubemap as a sampler target for shaders, add cubemap as a valid texture asset 2023-09-05 21:11:19 -05:00
76a00551d1 Merge pull request #11419 from OatmealDome/widescreen
VideoCommon: Allow widescreen heuristic's constants to be overridden by onion config
2023-09-05 13:25:07 -04:00
4938b99600 VertexManagerBase: Allow widecreen heuristic constants to be overriden by onion config 2023-09-05 11:50:49 -04:00
de781a6fa7 RenderBase: Allow widescreen heuristic's transition threshold to be overridden by onion config 2023-09-05 11:49:22 -04:00
9419d92446 Merge pull request #12139 from iwubcode/more_shader_texture_properties
VideoCommon: add additional texture sampler types to ShaderAsset
2023-09-04 22:45:56 -04:00
82ea4f4c70 Merge pull request #12137 from iwubcode/custom_pipeline_more_error_checking
VideoCommon: additional error checking for CustomPipelineAction
2023-09-04 22:43:41 -04:00
627282473b Merge pull request #12136 from iwubcode/texture_metadata_struct
VideoCommon: add TextureData structure with metadata
2023-09-04 22:40:50 -04:00
d0afe36269 Disable Arbitrary Mipmap Detection checkbox when GPU Texture Decoding is enabled
See https://bugs.dolphin-emu.org/issues/13049
2023-09-04 13:24:05 -07:00
b969d89103 Disable Texture Filtering dropdown when Manual Texture Sampling is checked
See https://bugs.dolphin-emu.org/issues/13049
2023-09-04 13:24:03 -07:00
efabcaf6ea Merge pull request #12159 from noahpistilli/evc+rgnsel
Add Everybody Votes Channel and Region Select to WiiLink config
2023-09-04 12:00:02 -04:00
348e60cd3f Rearranged RetroAchievements startup process
Moved AchievementManager Init further down in the MainWindow constructor; its original position was because it had an impact on the contents of the menu bar, and this is no longer the case.
2023-09-04 09:32:13 -04:00
3e9c9a3e8d Merge pull request #12004 from TellowKrinkle/MetalMultiTarget
VideoBackends:Metal: Multi render target support
2023-09-03 23:31:38 -04:00
900439ea0d Merge pull request #12102 from iwubcode/cubemap_custom_texture
VideoCommon: add ability to load cube maps into custom texture data
2023-09-03 18:29:00 -04:00
fb852a5062 VideoCommon: Deinit Graphics Mod Manager implicitly 2023-09-03 16:06:08 -04:00
fdaa82f96d Add Everybody Votes Channel and Region Select to WiiLink config 2023-09-03 15:56:02 -04:00
143a13622f Merge pull request #12108 from noahpistilli/kd-check-mail
IOS/KD: Implement NWC24_CHECK_MAIL_NOW
2023-09-03 19:52:26 +02:00
2154941c2c IOS/KD: Implement NWC24_CHECK_MAIL_NOW 2023-09-03 13:05:58 -04:00
f063fb31b3 Merge pull request #12149 from noahpistilli/no-response-header-rsa
IOS/KD: Check if a file has an RSA signature
2023-09-03 03:50:18 +02:00
fa2bc535f1 IOS/KD: Check if a file has an RSA signature 2023-09-02 21:39:54 -04:00
46a596c0d3 Merge pull request #12148 from Dentomologist/fifo_convert_memoryupdate_type_to_enum_class
Fifo: Convert MemoryUpdate::Type to enum class
2023-09-03 03:34:35 +02:00
62fee2f3b6 VideoCommon: add loading cube maps from DDS files and loading it into our custom texture object. Custom texture object now has the concept of slices in addition to levels. Traditional custom textures have a single slice 2023-09-02 20:20:09 -05:00
9cabf20aaa Fifo: Convert MemoryUpdate::Type to enum class 2023-09-02 18:19:26 -07:00
6d04618921 Merge pull request #12157 from Dentomologist/texturecachebase_add_m_prefix
TextureCacheBase: Add m_ prefix to member variables
2023-09-03 03:10:57 +02:00
bd57d17dee Merge pull request #12079 from JosJuice/blr-no-fastmem
Jit: Allow BLR optimization without fastmem
2023-09-02 12:45:39 -04:00
d5d3eb5025 TextureCacheBase: Add m_ prefix to member variables 2023-09-01 22:52:17 -07:00
f1c1c6ded6 JitCache: Fix potentially dangling pointer to fast block map.
Whenever JitBaseBlockCache::Clear() got called, it threw away the memory mapping for the fast block map and created a new one. This new mapping typically got mapped at the same address at the old one, but this is not guaranteed. The pointer to the mapping gets embedded in the generated dispatcher code in Jit64AsmRoutineManager::Generate(), which is only called once on game boot, so if the new mapping ended up at a different address than the old one, the pointer in the ASM pointed at garbage, leading to a crash.

This fixes the issue by guaranteeing that the new mapping is mapped at the same address.
2023-09-02 04:03:22 +02:00
5bd7756064 Common/MemArena: Add LazyMemoryRegion to represent a zero-initialized memory region whose pages are only allocated on first access. 2023-09-02 04:02:10 +02:00
4131dffae9 Jit: Allow BLR optimization without fastmem
While both fastmem and the BLR optimization depend on fault handling,
the BLR optimization doesn't depend on fastmem, and there are cases
where you might want the BLR optimization but not fastmem. For me
personally, it's useful when I try to use a debugger on Android and have
to disable fastmem so I don't get SIGSEGVs all the time, but it would be
especially useful for iOS users.
2023-08-29 22:55:29 +02:00
af2c32635a Jit: Add more error checking to ProtectStack 2023-08-29 22:46:50 +02:00
1b2d0c0507 Merge pull request #10575 from JosJuice/jitbase-auto-clear
Jit: Automatically clear cache when JIT settings are updated
2023-08-29 15:56:25 -04:00
8c2c665af3 Jit: Check MSR state in BLR optimization
When we execute a JIT block, we have to make sure that both the PC and
the DR/IR bits of MSR are the same as they were when the block was
compiled. When jumping to a block from the dispatcher, this is done in
the way you would expect: By checking the PC and the relevant MSR bits.
However, when returning to a block using the BLR optimization, we only
check the PC. Checking the MSR bits is done by instead resetting the
stack when the MSR changes, making PC checks afterwards fail.

Except... We were only resetting the stack on rfi instructions. There
are actually many more ways for the MSR to change, and we weren't
covering those at all. I looked into resetting the stack on all of them,
but it would be pretty cumbersome both in terms of writing the code and
in terms of how often at runtime we'd have to reset the stack, so I
think the better option would be to check the MSR bits along with the
PC. That's what this commit implements.
2023-08-29 19:05:26 +02:00