Henrik Rydgård and Claude Opus 5
bd505b7f1c
Interpreter: implement the FPU divide-by-zero exception
...
div.s now maintains fcr31's Cause.Z and (when the trap is masked) sticky
Flag.Z bits, in the standard MIPS bit positions. Only a finite non-zero
dividend counts, so 0/0, inf/0 and NaN operands are excluded per IEEE 754.
When the guest has the trap unmasked, the new Core_FPUException() reports it
with the usual module suffix and MIPS call stack, and fd is left unwritten as
hardware would. That's gated behind a new developer setting, off by default:
PSP threads start with fcr31 = 0x00000e00, i.e. three of the traps already
enabled, and games divide by zero without meaning anything by it. The fcr31
bits are updated either way, so what the game reads back doesn't depend on
the setting.
Interpreter only - the JITs are unchanged, and none of this is reachable
under them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01R9fKXvYBrnqtp1QQGaGWVv
2026-08-29 23:40:48 +02:00
Henrik Rydgård
a317890c08
Remove the GPUDebugInterface class
...
Just a pointless extra layer in the class hiearchy, making it
unnecessarily hard to modify the interface.
Might as well hit GPUCommon directly.
2026-06-02 11:15:08 +02:00
Henrik Rydgård
f60e27a9b7
Just some refactoring of the GPUStatistics struct, and more use of StringWriter
2026-05-29 14:40:31 +02:00
Henrik Rydgård
a78e0e76de
Disable the GPU profiler for OpenGL. Also restrict to in-game.
2026-05-06 00:27:20 +02:00
Henrik Rydgård
75453632f9
Handle inset adjustements on the C++ side, handle them better in the UI.
2026-03-14 18:13:37 +01:00
Henrik Rydgård
160e2c4f9b
Refactor: Call GetLayoutBounds on the screen instead of the context where possible.
...
This will allow screens to influence the layout bounds in a unified way
2026-03-14 13:07:48 +01:00
Henrik Rydgård
f2ebcf42cb
On the pause screen, ask for confirmation when creating configs. Too easy to slip and do by accident.
2026-03-12 15:41:24 +01:00
Henrik Rydgård
93264b3920
Small tweak of FPS counter position
2026-02-08 18:44:48 +01:00
Henrik Rydgård
45ef8120f3
Minor UX
2025-10-27 13:17:48 +01:00
Henrik Rydgård
9467643bd4
Fix formatting string bug in debug overlay
2025-10-21 15:04:15 +02:00
Henrik Rydgård
042cf87248
Rework the present mode settings, refactor.
2025-10-20 21:28:38 +02:00
Henrik Rydgård
176c55da25
Remove unused "interval" concept from presentation mode
2025-10-19 18:18:06 +02:00
Henrik Rydgård
2cf0ffea73
Allow choosing the frame presentation mode in detail in Vulkan mode
2025-08-21 01:01:16 +02:00
Henrik Rydgård
cc3fbb22e4
Change some stat arrays from double to float (to save mem bandwidth)
2025-06-18 11:00:27 +02:00
Henrik Rydgård
8d6f8b9399
Cleanup and paranoia
2025-06-06 10:34:13 +02:00
Henrik Rydgård
80147f318e
Remove PSP_CancelBoot, assorted cleanup
2025-05-13 13:58:28 +02:00
Henrik Rydgård
1a93d8a1f9
Some work on symbol export, minor cleanups
2025-03-29 14:23:59 +01:00
Henrik Rydgård
9ae8691623
Fix FPS display regression
2025-03-29 11:16:33 +01:00
Henrik Rydgård
89e031fb8a
Logging cleanup
2025-03-08 23:39:22 +01:00
Henrik Rydgård
01d96fd949
Linux warning fixes
2025-03-05 17:02:46 +01:00
Henrik Rydgård
2f58084134
Crash screen: Add more suggestions
2025-03-02 13:51:17 +01:00
Henrik Rydgård
ee772bb1e2
Refactor querying the battery percentage into a regular sysprop
2025-02-11 10:31:18 -06:00
Henrik Rydgård
419c329b06
Show active compat flags on crash screen
2024-12-10 01:43:44 +01:00
Henrik Rydgård
0df2a40487
Remove the "GPUInterface" base class. Not really useful, GPUCommon is pretty much the same thing.
2024-12-02 11:12:14 +01:00
Henrik Rydgård
204672800c
Warning fix
2024-09-07 15:58:03 +02:00
Henrik Rydgård
320a1cfc8f
Merge pull request #19325 from Nabile-Rahmani/display-refresh-rate-option
...
[Feature] Option to override the display refresh rate
2024-07-17 20:25:38 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Nabile Rahmani
730613ce67
Scale speed percentage calculation to eliminate micro deviations
2024-07-14 11:30:11 +02:00
Nabile Rahmani
480b94f4d2
Fix speed percentage calculation
2024-07-14 05:10:28 +02:00
Nabile Rahmani
7af15c73bc
[Feature] Option to override the display refresh rate
...
This adds a per-game graphics option, `DisplayRefreshRate`, to override the display refresh rate.
It defaults to 60 Hz, and is located in Dev tools.
Games using variable timesteps benefit from higher refresh rates.
Closes #19319
2024-07-13 15:04:20 +02:00
Henrik Rydgård
8397fd6791
Also disable the GPU JIT tests on ARM64, not applicable
2024-04-29 11:13:35 +02:00
Henrik Rydgård
c5791764d8
Make the i18n T function use std::string_view
...
Buildfixes, crashfixes
One more
Android buildfix
Buildfix Qt
2024-02-12 18:44:39 +01:00
Henrik Rydgård
8670dafdf5
Fix duplicate in th, fix case of "JIT using IR"
2024-01-28 17:26:26 +01:00
Henrik Rydgård
622aeaab6d
Hopefully robustify some logic in EmuScreen enough
2024-01-24 00:06:01 +01:00
Henrik Rydgård
f7785a56f4
Add some tips to the crash screen
2024-01-19 17:05:30 +01:00
Henrik Rydgård
7feae30c41
Move the crash and FPS overlays to DebugOverlay.cpp/h
2024-01-19 16:52:42 +01:00
Henrik Rydgård
3621529df9
Debug: Add quick "Framebuffer List" overlay.
2023-12-02 14:07:31 +01:00
Henrik Rydgård
95e86c73b8
SasAudio: Some cleanup and debug overlay improvements
...
Shows "BAD" in the overlay if address out of range.
Which does happen in Afterburner, see issue #14010 .
2023-09-05 12:15:13 +02:00
Henrik Rydgård
3be0ebce6d
Debug overlay: Move Sas data to the audio debug screen. Disable text wrapping.
2023-08-17 15:18:50 +02:00
Henrik Rydgård
572595cc7b
Refactor: Lift the frame time history data up one level into thin3d
2023-08-16 11:45:26 +02:00
Henrik Rydgård
ff6e118fff
Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically.
2023-08-14 11:02:29 +02:00
Henrik Rydgård
870c45edd7
Fix flipped check for debug overlays
2023-08-14 11:02:29 +02:00
Henrik Rydgård
dc4de340b3
Some debug overlays don't make sense when not in-game, disable them. Minor feedback fixes.
2023-08-13 21:54:24 +02:00
Henrik Rydgård
8fec4fb02f
wip
2023-08-08 13:26:27 +02:00
Henrik Rydgård
c6c79a98c7
Merge pull request #17855 from hrydgard/more-achievement-ui-fixes
...
Achievement list: Support the more detailed categorization.
2023-08-07 01:26:09 +02:00
Henrik Rydgård
cd0f2eb401
Achievement list: Support the more detailed categorization, RC_CLIENT_ACHIEVEMENT_LIST_GROUPING_PROGRESS
2023-08-06 15:43:33 +02:00
Nemoumbra
c2f9ae2e16
Buildfix for VS2017
2023-08-06 15:06:54 +03:00
Henrik Rydgård
a32249a3cf
Move DebugOverlay rendering to the overlay screen, allowing drawing it on top of the menu
2023-08-03 16:19:18 +02:00
Henrik Rydgård
0530dc57a8
Implement frame time measurement on Android using VK_GOOGLE_display_timing
2023-08-03 12:59:25 +02:00
Henrik Rydgård
e16cac6548
Initial work on supporting VK_GOOGLE_display_timing. Not working yet.
2023-08-03 11:11:16 +02:00