Commit Graph
12187 Commits
Author SHA1 Message Date
Unknown W. Brackets c3db3d5187 arm64jit: When rouding unset, use nearest.
The 0/default rounding mode is nearest, not toward zero.
We set hasSetRounding only when fcr31 has a non-zero rounding mode or
flush to zero set.
2023-07-25 20:30:05 -07:00
Unknown W. Brackets 3383d5b93a Merge pull request #17751 from unknownbrackets/riscv-jit
Initial RISC-V jit based on IR
2023-07-25 00:42:22 -07:00
Henrik Rydgård a72c4aa383 Actually fix the race condition. Can't do any initialization step while waiting. 2023-07-24 12:08:15 +02:00
Henrik Rydgård 3ae520c35d RetroAchievements: Fix another race condition, improve logging.
Seems to help the frontend problem.
2023-07-24 12:00:16 +02:00
Unknown W. Brackets b6f83ca969 riscv: Cleanup some pointerification flags. 2023-07-23 21:17:55 -07:00
Unknown W. Brackets 18c48681a8 riscv: Implement multiply instructions. 2023-07-23 18:01:50 -07:00
Unknown W. Brackets 7f4689e8fa riscv: Use direct SLI/SLIU instructions.
Derp, I forgot these existed on RISC-V for a moment.
2023-07-23 18:01:46 -07:00
Unknown W. Brackets ca15fa7061 riscv: Enable jit by default. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 4100767b5e riscv: Optimize SetConst a bit. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets f7f7531500 riscv: Fix min/max normalization. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 34bfe93ea5 riscv: Fix block lookup issues. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 92694e765f riscv: Implement conditional moves. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 2c7da94bd1 riscv: Implement shifts and compares. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 5ed2f0d559 riscv: Implement logic ops. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 94be343591 riscv: Try to keep regs normalized, track.
Since we can't address the lower 32-bits only in compares, this can help
us avoid renormalizing before a compare.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets 7aafa11d24 riscv: Implement conditional exits. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 8ee73264bf riscv: Correct depointerify on FlushAll(). 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 720f868a10 riscv: Use R_RA as a temporary for calls.
This is the most logical thing, since we're about to write it anyway.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets 76e3246065 riscv: Reduce jit codesize a bit. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets d31eded9ba riscv: Allow dirty pointers, explicitly. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 624caa2dea riscv: Implement the simplest exits. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 1dfedde741 riscv: Avoid needless save/load around compile. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 165169eb31 riscv: Implement load and store ops. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets c2da7d18bb riscv: Stub out more IR compilation categories. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 05a2789cf4 riscv: Implement some simple assign instructions. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets c6c25af484 riscv: Add some safety to pointerifying.
We have to clear the upper bits in case of sign extension or other things.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets bf7a6eb2cd riscv: Add jit for some initial instructions. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 4c1cc2dfdc riscv: Add a register cache for jit.
Not yet actually used.  Might be buggy.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets b2d3c750f1 irjit: Define a specific IRReg type. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 47b81985bd riscv: Initial untested dispatcher.
The minimum to actually, probably, running code.  Pretty slow.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets e271e43ec5 riscv: Initial staffolding for IR based jit. 2023-07-23 18:01:00 -07:00
Unknown W. Brackets 3468423bb4 Debugger: Handle missing crash/block ptrs better. 2023-07-23 18:01:00 -07:00
Henrik Rydgård 2625570d21 Fix issue where achievements wouldn't always activate when starting from frontends
My previous workaround was flawed - it didn't work at all since we run
http callbacks on the main thread, so no progress was made in the
background.

Now we really delay starting the game until the achievement system is
ready, if it's in the process of logging in.
2023-07-23 23:40:53 +02:00
Henrik Rydgård 942df0198a Merge pull request #17766 from hrydgard/single-threaded-rendering
Vulkan: Make multi-threaded rendering a developer option (previously always on)
2023-07-23 23:05:28 +02:00
Henrik Rydgård b118e25b6a Vulkan: Make multithreaded rendering an option.
Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.

So make it an option.
2023-07-23 22:06:01 +02:00
Henrik Rydgård 68c124d779 Merge pull request #17756 from hrydgard/alert-on-retroachievement-server-error
Improve handling of RetroAchievements login errors
2023-07-23 12:41:06 +02:00
Henrik Rydgård 95c5550071 Merge pull request #17765 from hrydgard/rapid-fire-interval
Make the rapid-fire interval configurable
2023-07-23 12:24:05 +02:00
Henrik Rydgård d924b742c0 Make the rapid-fire interval configurable
Rapid-fire works by holding down the button mapped for Rapid-Fire. Once
that's held, the PSP face buttons, L, R and Start will be repeated while
held.

With this new setting, you can change the repeat interval from the
default of 5 frames.

The interval is specified as frames rather than as milliseconds or
something because that often maps better to game logic.
2023-07-23 11:49:25 +02:00
Henrik Rydgård eb14c87a71 Allow configuring the game language separately from the PPSSPP UI language, with a new setting. 2023-07-23 11:30:04 +02:00
Henrik Rydgård 0ab4c58343 Improve handling of server/token errors 2023-07-22 12:36:26 +02:00
Henrik Rydgård 93bb113009 Common: Rename Download to Request, and the old Request to ServerRequest. 2023-07-21 22:12:00 +02:00
Henrik Rydgård 61db21b12d Cleanup, fix so we can run RetroAchievements with https, and start doing that 2023-07-21 10:49:01 +02:00
Henrik Rydgård 9decdd198e Address more feedback, minor cleanup 2023-07-21 10:30:06 +02:00
Henrik Rydgård ab6e902fea Make naett work on Android, UWP, Mac. Exclude on Linux 2023-07-21 10:28:31 +02:00
Henrik Rydgård fbd980bee6 Get basic Naett requests to work (the store works in https mode) 2023-07-21 10:28:17 +02:00
Henrik Rydgård b54d5ab8e6 Cleanup the g_PortManager shutdown process
Following up comment by @ANR2ME in #17744, to be merged before that one.
2023-07-20 23:55:35 +02:00
Henrik Rydgård 370bb4c315 More progressbar improvements 2023-07-18 15:52:14 +02:00
Henrik Rydgård ecea3844b0 Improved progress bar popups for downloads
Now shows the filename, and also there's a delay mode where they'll only
be visible if the download takes more than a second, plus they can be
named.
2023-07-18 15:13:44 +02:00
Unknown W. Brackets e4f9c72fe9 riscv: Avoid unaligned mem combine in IR. 2023-07-16 16:20:58 -07:00
Unknown W. Brackets d4e689b096 irjit: Allow IRInterpret() on partial block.
For later if we want to fallback from native to IR interpret.
2023-07-16 16:19:53 -07:00