Commit Graph

12733 Commits

Author SHA1 Message Date
Unknown W. Brackets
03f22beefd arm64jit: Implement Vec2Pack32To16. 2023-09-06 20:20:52 -07:00
Unknown W. Brackets
178bb8416b arm64jit: Implement FSpecial. 2023-09-06 20:08:36 -07:00
Unknown W. Brackets
fad24e3b44 arm64jit: Implement FSign. 2023-09-06 19:53:49 -07:00
Unknown W. Brackets
a1304f6ac8 arm64jit: Implement VFPU compare in IR. 2023-09-06 19:02:24 -07:00
Henrik Rydgård
61af237f98 Check v.on for whether to trigger v.playing, like before. 2023-09-06 15:46:07 +02:00
Henrik Rydgård
9f984af48c
Merge pull request #18082 from hrydgard/retroachievements-logspam-fix
Retroachievements logspam fix, edge case fixes
2023-09-06 15:03:35 +02:00
Henrik Rydgård
8b32a1e5e2 Remove the weird ChangedParams thing entirely and do the straightforward thing 2023-09-06 14:52:57 +02:00
Henrik Rydgård
9794d5377b Always reinitialize the VAG decoder on sceSasSetVoice, even if already playing. Fixes After Burner. 2023-09-06 11:25:19 +02:00
Henrik Rydgård
1ee4c63bba Logging: __sceCore isn't very interesting, log as verbose 2023-09-06 11:25:19 +02:00
Henrik Rydgård
a84f08e55e Typo fix
See #18080
2023-09-06 11:21:41 +02:00
Henrik Rydgård
ce82179321 Avoid checking for achievements for homebrew. Fix edge case. 2023-09-06 11:19:13 +02:00
Henrik Rydgård
b61fa7053f RetroAchievements: Add parameter to SetGame for IdentifiedFileType, also add bool return to SaveSecret 2023-09-06 10:56:51 +02:00
Henrik Rydgård
cd79d120d8 Don't log warnings on missing RA login secret. Also don't even check unless a username has been set. 2023-09-06 10:34:32 +02:00
Henrik Rydgård
1bfa566b3d
Merge pull request #18081 from unknownbrackets/arm64jit-float
arm64jit: Implement some float compares and conversions
2023-09-06 10:11:56 +02:00
Henrik Rydgård
f2512e0fdd
Merge pull request #18080 from unknownbrackets/x86jit-minor
x86jit: Correct jitbase range comparison
2023-09-06 09:23:55 +02:00
Unknown W. Brackets
01ed48a3d0 arm64jit: Implement FCvtSW. 2023-09-06 00:09:26 -07:00
Unknown W. Brackets
89a9584c38 arm64jit: Implement FRound/similar. 2023-09-06 00:09:26 -07:00
Unknown W. Brackets
97d9a7f07f arm64jit: Implement FCmp. 2023-09-06 00:09:26 -07:00
Unknown W. Brackets
c8f888fab0 arm64jit: Implement FMin/FMax. 2023-09-06 00:09:26 -07:00
Unknown W. Brackets
0fc337cdc1 x86jit: Correct jitbase range comparison. 2023-09-05 23:56:36 -07:00
Henrik Rydgård
6c3547d7ae
Merge pull request #18073 from unknownbrackets/arm64jit-vec4
arm64jit: Implement several other Vec4 IR ops
2023-09-06 08:55:57 +02: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
Unknown W. Brackets
953d97b54a arm64jit: Implement Vec4Init. 2023-09-05 00:10:26 -07:00
Unknown W. Brackets
11f92b4684 arm64jit: Implement Vec4Dot. 2023-09-05 00:10:26 -07:00
Unknown W. Brackets
81aeb04788 arm64jit: Implement Vec4Blend. 2023-09-05 00:10:26 -07:00
Unknown W. Brackets
85387b44a1 arm64jit: Implement Vec4Scale. 2023-09-05 00:10:26 -07:00
Unknown W. Brackets
3f29b4c713
Merge pull request #18068 from unknownbrackets/arm64jit-shuffle
arm64jit: Implement shuffle optimizer
2023-09-05 00:10:08 -07:00
Henrik Rydgård
37fc621d8a
Merge pull request #18071 from unknownbrackets/arm64jit-muldiv
arm64jit: Implement IR multiplies and divides
2023-09-05 09:07:02 +02:00
Unknown W. Brackets
d8231ecb17 arm64jit: Implement divide in IR. 2023-09-04 23:38:55 -07:00
Unknown W. Brackets
c272284043 arm64jit: Implement multiplies in IR. 2023-09-04 23:38:55 -07:00
Unknown W. Brackets
17ffc9c261 arm64jit: Special case some shuffles.
To avoid 4 instruction shuffles.
2023-09-04 23:37:40 -07:00
Henrik Rydgård
67cb466ee1 Allow using a file browser to choose UMDs during disc change. 2023-09-04 21:43:10 +02:00
Unknown W. Brackets
885ae5c805 arm64jit: Implement shuffle optimizer. 2023-09-04 12:27:39 -07:00
Henrik Rydgård
9690a71a14
Merge pull request #18061 from unknownbrackets/arm64-ir-jit
arm64jit: Implement most ALU and load/store in IR jit
2023-09-04 10:02:24 +02:00
Unknown W. Brackets
494aab62fc
Merge pull request #18063 from unknownbrackets/arm64-ir-float
arm64jit: Add some initial float and vec4 ops
2023-09-04 00:08:08 -07:00
Unknown W. Brackets
5134b7eedb
Merge pull request #18064 from unknownbrackets/arm64-ir-exit
arm64jit: Implement exits and a few system ops
2023-09-04 00:07:13 -07:00
Unknown W. Brackets
85b80bc9e5 arm64jit: Implement load/store in IR. 2023-09-04 00:04:36 -07:00
Unknown W. Brackets
ccee8e41ee arm64jit: Implement exits. 2023-09-03 21:16:08 -07:00
Unknown W. Brackets
e02426cbbf arm64jit: Implement some system ops. 2023-09-03 21:16:08 -07:00
Unknown W. Brackets
0933381b9e arm64jit: Add some simple vec4 ops. 2023-09-03 21:14:58 -07:00
Unknown W. Brackets
87b9633258 arm64jit: Add some simple float ops. 2023-09-03 21:14:58 -07:00
Unknown W. Brackets
1042737c21 irjit: Correct metadata on Vec2 packing ops. 2023-09-03 21:13:11 -07:00
Unknown W. Brackets
c44f0e1fca arm64jit: Implement most ALU in IR jit. 2023-09-03 15:30:55 -07:00
Henrik Rydgård
2f300c2023
Merge pull request #18060 from unknownbrackets/x86-jitbase
x86jit: Bake emuhack mask into jitbase
2023-09-03 22:53:23 +02:00
Henrik Rydgård
daa0586641
Merge pull request #18059 from unknownbrackets/arm64-ir-jit
arm64jit: Add initial base for IR jit
2023-09-03 22:33:24 +02:00
Unknown W. Brackets
9439a43323 riscv: Correct an overlap case, fix assert. 2023-09-03 13:29:57 -07:00
Unknown W. Brackets
0452b8b57a riscv: Account for emuhack in JITBASEREG. 2023-09-03 13:29:05 -07:00
Unknown W. Brackets
1d152a1486 x86jit: Bake emuhack mask into jitbase. 2023-09-03 12:49:36 -07:00
Henrik Rydgård
4694a11b9f
Merge pull request #18053 from unknownbrackets/x86-jit-debug
x86jit: Handle breakpoints
2023-09-03 21:45:48 +02:00
Unknown W. Brackets
60bcc5b083 x86jit: Handle breakpoints.
Otherwise, we don't actually break until later, which isn't great.
Could be more optimal, "rewinding" regcache state.
2023-09-03 12:28:11 -07:00
Unknown W. Brackets
259734bd47 irjit: Fix likely delay slot breakpoints. 2023-09-03 12:27:10 -07:00
Unknown W. Brackets
e1a1f56f4c irjit: Cleanup breakpoint ops. 2023-09-03 12:27:10 -07:00
Unknown W. Brackets
7607280837 arm64jit: Implement just the most basic ops.
This improves the slowness a good bit.
2023-09-03 12:20:16 -07:00
Unknown W. Brackets
1b756ff8c1 arm64jit: Add initial base for IR jit.
This works, but very slowly at this point.
2023-09-03 12:14:28 -07:00
Henrik Rydgård
8a5e4d3591
Merge pull request #18054 from unknownbrackets/memblockinfo
HLE: Capture better allocation names
2023-09-03 10:38:03 +02:00
Unknown W. Brackets
c7304eccdb x86jit: Avoid R15 for jitbase if near ctxreg. 2023-09-02 23:05:56 -07:00
Unknown W. Brackets
32feb82d16 HLE: Capture better allocation names.
We know which FPL, so don't just say "FPL".
2023-09-02 22:55:45 -07:00
Henrik Rydgård
f6c1493373
Merge pull request #18048 from unknownbrackets/irjit-vec4
IR: Add a pass to keep things in vec4 more
2023-09-02 15:11:06 +02:00
Henrik Rydgård
20dedec07e
Merge pull request #18046 from unknownbrackets/x86-jit-reduce
x86jit: Reduce bloat further
2023-09-02 13:37:20 +02:00
Unknown W. Brackets
739e474957 irjit: Improve dot and store vec4 interaction. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
becad54923 x86jit: Maintain Vec4 on FMov extract. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
2ca638868c irjit: Remove Vec4Scale/Vec4Dot aliasing in pass. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
96c90c19c6 irjit: Reduce unnecessary shuffles.
If it's never used as a Vec4 again, it's often not worth it.
2023-09-01 22:35:59 -07:00
Unknown W. Brackets
5f84887dea irjit: Add a pass to keep Vec4s in Vec4s. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
9bac755491 x86jit: Avoid pointerify if clobbered.
For x86, it's not worth it for one.
2023-09-01 22:34:22 -07:00
Unknown W. Brackets
b370a89ef2 x86jit: Reduce block link padding.
Reduces bloat a good bit.
2023-09-01 22:33:02 -07:00
Unknown W. Brackets
c5d0e1d0cc x86jit: Implement float to integer. 2023-09-01 22:31:25 -07:00
Unknown W. Brackets
c85886c11e irjit: Use enum for rounding modes. 2023-09-01 22:29:24 -07:00
iota97
01083c87ea Analog stick gesture 2023-09-01 09:32:21 +02:00
Henrik Rydgård
ce47055860 Touch controls: Add an option for "Sticky D-Pad".
Will make it a lot easier to pull off certain moves in fighting games.

Should help #17950
2023-08-31 22:37:11 +02:00
Henrik Rydgård
7a3eab9bfd
Merge pull request #18027 from unknownbrackets/memblockinfo
Debugger: Reduce cost of small copy tracking
2023-08-31 13:17:27 +02:00
Henrik Rydgård
ad1f378902 Also simplify __CtrlUpdateButtons to only do a single read and write to the global. 2023-08-31 11:10:02 +02:00
Unknown W. Brackets
d5c91fa02c Debugger: Reduce cost of small copy tracking.
This uses another 400KB RAM and does a bit more writing, but makes lookups
faster.
2023-08-31 00:17:30 -07:00
Henrik Rydgård
351de6eb25
Merge pull request #18026 from unknownbrackets/x86-jit-float
x86jit: Fix vsat0 saturate
2023-08-31 08:28:50 +02:00
Henrik Rydgård
fbc1fc417e
Merge pull request #18025 from unknownbrackets/x86-jit-regcache
x86jit: Fix a vec4 clobber issue
2023-08-31 08:20:01 +02:00
Unknown W. Brackets
bcac804cc5 x86jit: Fix vsat0 saturate. 2023-08-30 23:07:57 -07:00
Unknown W. Brackets
d5a51da95e x86jit: Fix pointer modify when masked. 2023-08-30 22:04:26 -07:00
Unknown W. Brackets
742dc0a0c7 x86jit: Fix vec4 clobber issue. 2023-08-30 22:04:25 -07:00
Henrik Rydgård
3d0051f34b Fix enabling of native keyboard input on Switch 2023-08-30 18:14:17 +02:00
Henrik Rydgård
5321cb97fd
Merge pull request #18007 from unknownbrackets/x86-jit-lsu
x86jit: Implement CondStore
2023-08-29 09:06:43 +02:00
Unknown W. Brackets
8233fdfd91 x86jit: Implement CondStore. 2023-08-28 23:32:49 -07:00
Unknown W. Brackets
181adde6f1 x86jit: Implement float saturates. 2023-08-28 23:11:46 -07:00
Unknown W. Brackets
c4d13e522b x86jit: Use a literal pool to avoid rip checks. 2023-08-28 23:11:46 -07:00
Unknown W. Brackets
eab05e32a7 x86jit: Implement FCvtScaledSW. 2023-08-28 23:11:46 -07:00
Unknown W. Brackets
2b6bd01417 x86jit: Optimize FMul. 2023-08-28 23:11:46 -07:00
Henrik Rydgård
ae0af175de
Merge pull request #18004 from unknownbrackets/x86-jit-minor
x86jit: Small cleanup and tweaks, downcountInRegster, GetFPRLaneCount bugfix
2023-08-29 08:01:47 +02:00
Unknown W. Brackets
0cb6a17ea3 x86jit: Small Clz codesize optimization. 2023-08-28 21:17:06 -07:00
Unknown W. Brackets
14d871730f x86jit: Optimize slow memory. 2023-08-28 21:16:38 -07:00
Unknown W. Brackets
1bfa054a41 irjit: Correct GetFPRLaneCount().
Oops, this was just wrong...
2023-08-28 21:09:56 -07:00
Unknown W. Brackets
75e20af886 x86jit: Fix default prefix on core switch. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
8e8605935e irjit: Detect subtract-to-zero as constant. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
0a5eafa3de x86jit: Another small LEA optimization. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
289cb71790 x86jit: Small tweaks to fixed code. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
ee5381917a x86jit: Implement downcount in register. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
7f3e2e55b5 x86jit: Small opt for Sltu. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
4e90bd5070 x86jit: Use NEG more automatically for Sub x,0,y. 2023-08-28 21:09:56 -07:00
Henrik Rydgård
9291a4e52a
Merge pull request #17998 from hrydgard/minor-fixes
Minor: Correct RA login retry behavior if disabled, improved logging in CLUTLoad case
2023-08-28 16:09:34 +02:00
Henrik Rydgård
9e708fc82d Don't show RetroAchievements login failures (and don't retry) if the user has disabled them. 2023-08-28 14:38:32 +02:00
Henrik Rydgård
b637a9c42e Upgrade rcheevos to latest
The timer issue has been fixed upstream. Hopefully nothing will regress on
32-bit Android this time.

See #17631
2023-08-28 14:09:46 +02:00
Henrik Rydgård
26af6eb569 RetroAchievements: More connection notifications
Trying to make it harder for a user to accidentally run without achievements enabled.
2023-08-28 12:15:24 +02:00
Henrik Rydgård
dddf63d057
Merge pull request #17993 from unknownbrackets/x86-jit-minor
x86jit: Replacements, expose for profiling better
2023-08-28 10:23:00 +02:00
Henrik Rydgård
0ecfb6b112
Merge pull request #17992 from unknownbrackets/x86-jit-float
x86jit: Implement trig instructions, couple other FPU
2023-08-28 10:20:38 +02:00
Henrik Rydgård
54ebe461fc
Merge pull request #17994 from unknownbrackets/x86-jit-lea
x86: Use LEA in a few sensible places
2023-08-28 10:17:13 +02:00
Henrik Rydgård
24e0cb013b
Merge pull request #17991 from unknownbrackets/x86-jit-dot
x86jit: Improve vdot performance
2023-08-28 10:15:03 +02:00
Henrik Rydgård
3489ff5143
Merge pull request #17990 from unknownbrackets/x86-jit-alu
x86jit: Implement divides and a couple more ALUs
2023-08-28 10:12:31 +02:00
Unknown W. Brackets
f10444eb42 x86jit: Special case broadcast shuffles. 2023-08-27 23:24:30 -07:00
Unknown W. Brackets
61a99b4bac x86jit: Implement trig/reciprocals. 2023-08-27 23:24:30 -07:00
Unknown W. Brackets
4b1c809886 x86jit: Implement a few more float ops, shuffle. 2023-08-27 23:24:30 -07:00
Unknown W. Brackets
479ebaea11 x86: Use LEA in a few sensible places. 2023-08-27 13:59:19 -07:00
Unknown W. Brackets
8b77114da6 x86jit: Remove outdated file. 2023-08-27 13:01:22 -07:00
Unknown W. Brackets
2e64abd2a0 x86jit: Improve some debug labels.
Helps when running a profiler that reads these.
2023-08-27 12:51:29 -07:00
Unknown W. Brackets
303aa0548c x86jit: Handle replacements directly. 2023-08-27 12:51:24 -07:00
Unknown W. Brackets
35fe15d718 x86jit: Do not use Vec4Dot for vdot.t.
It was much slower to do so in LittleBigPlanet.
2023-08-27 12:39:21 -07:00
Unknown W. Brackets
1abd3ac361 x86jit: Use a faster vdot than DPPS. 2023-08-27 12:39:08 -07:00
Unknown W. Brackets
497fc09c29 x86jit: Implement divides. 2023-08-27 12:34:58 -07:00
Unknown W. Brackets
1b25f854a1 x86jit: Reduce code size a tiny bit. 2023-08-27 12:34:58 -07:00
Unknown W. Brackets
2231fb807b x86jit: Implement Clz, Not, XorConst. 2023-08-27 12:34:58 -07:00
Unknown W. Brackets
7d8dc0f8ab irjit: Detect clobber in lane change. 2023-08-27 12:27:05 -07:00
Unknown W. Brackets
6507251e83 irjit: Consider temps clobbered by block end. 2023-08-27 12:26:42 -07:00
Unknown W. Brackets
f263698897 irjit: Cleanup temp purging on exit.
We were sometimes considering it read by exit and not purging.
2023-08-27 12:26:05 -07:00
Henrik Rydgård
def25100df RetroAchievements: Warn the user if has token and not logged in. 2023-08-26 13:27:10 +02:00
Henrik Rydgård
5779e37f55
Merge pull request #17982 from ANR2ME/adhoc
[Adhoc] An attempt to fix winsock error 10022 on Monster Hunter Freedom
2023-08-26 07:14:13 +02:00
ANR2ME
270943dd59 Show socket id in Info Log when successfully created/accepted. 2023-08-26 06:43:24 +07:00
ANR2ME
47efec2782 Treat WSAEINVAL similar to WSAEALREADY during connect for backward-compatibility to Winsock 1.1, but might confuses with an actual invalid argument error on newer Winsock. 2023-08-26 06:25:09 +07:00
Henrik Rydgård
a70b36671a Show the RetroAchievements icon in a bunch of notifications 2023-08-25 16:36:29 +02:00
Henrik Rydgård
6d28ccbd8e Add HTTP log channel, and make ACHIEVEMENTS a proper one. 2023-08-25 13:53:46 +02:00
Henrik Rydgård
c59e9e51b2 Non-change to see if CI fixes itself.. 2023-08-25 12:39:19 +02:00
Henrik Rydgård
1025bbcf89 Log level/type: Use enum class instead of the awkward namespace trick.
Just a small cleanup I've wanted to do for a long time.
2023-08-25 11:48:59 +02:00
Henrik Rydgård
308e983a99
Merge pull request #17975 from unknownbrackets/x86-jit-ir
More x86 IR JIT
2023-08-25 09:41:38 +02:00
Unknown W. Brackets
be4fe52796 x86jit: A few more float ops. 2023-08-25 00:01:03 -07:00
Unknown W. Brackets
d021706eb3 x86jit: Implement conditional assigns. 2023-08-25 00:01:03 -07:00
Unknown W. Brackets
d1a30334bf x86jit: Implement multiplies. 2023-08-25 00:01:03 -07:00
Unknown W. Brackets
363f2b68e1 x86jit: Implement shifts. 2023-08-25 00:01:03 -07:00
Unknown W. Brackets
601bf344c1 x86jit: Implement vdot. 2023-08-25 00:01:03 -07:00
Unknown W. Brackets
bfb8df8472 x86jit: Implement fneg/abs. 2023-08-25 00:01:02 -07:00
Unknown W. Brackets
004c35cf76 x86jit: Implement syscalls and some system. 2023-08-25 00:01:02 -07:00
Unknown W. Brackets
2fbdc42a5c x86jit: Reduce code a bit in SETcc paths. 2023-08-25 00:00:35 -07:00
Henrik Rydgård
dfe187df1e Allow disabling HTTPS through the config file
Simply set:

```ini
[General]
DisableHTTPS = True
```

Added to help debug issue #17969
2023-08-24 21:28:30 +02:00
Henrik Rydgård
d2d8688e47 Add "Create frame dump" to the in-game developer menu (that can be enabled in dev settings)
Makes it possible to create one without connecting the websocket
debugger, even on non-Windows platforms.
2023-08-24 14:41:35 +02:00
Henrik Rydgård
fb84444043
Merge pull request #17965 from hrydgard/load-clut-old-framebuffers
Add compat flag to not load CLUTs from old framebuffers
2023-08-24 14:24:24 +02:00
Henrik Rydgård
0e56ed1f38 Android: Fix bug where autoconfigure for unknown pad types didn't do anything, instead of just doing the defaults. 2023-08-24 11:08:52 +02:00
Henrik Rydgård
16d073c4ad Add compat flag to not load CLUTs from old framebuffers 2023-08-24 10:30:37 +02:00
Henrik Rydgård
ca40de852a
Merge pull request #17960 from hrydgard/control-mapping-fixes
Controls: Make the analog/digital mapping clash resolution more gentle.
2023-08-24 09:52:40 +02:00
Henrik Rydgård
30016bc0d6
Merge pull request #17962 from hrydgard/toggle-wlan-switch
Add mappable key to toggle networking
2023-08-24 09:52:29 +02:00
Unknown W. Brackets
e2c6011906 x86jit: Implement VFPU Fcmp. 2023-08-23 22:17:55 -07:00
Unknown W. Brackets
00155790d6 x86jit: Add some notes for vector calls.
Let's avoid the thunks to be more similar to other backends.
2023-08-23 22:17:55 -07:00
Unknown W. Brackets
ef93b7547e x86jit: Add vmin/vmax. 2023-08-23 22:17:55 -07:00
Unknown W. Brackets
931c84f835 x86jit: Implement FCmp. 2023-08-23 22:17:55 -07:00
Unknown W. Brackets
d86f6ae618 x86jit: Implement set less thans. 2023-08-23 22:17:55 -07:00
Unknown W. Brackets
5473a5c698 x86jit: Add low MapWithFlags for Ext8to32. 2023-08-23 22:17:55 -07:00
Unknown W. Brackets
0b1953e5fd x86jit: Handle more Vec4 ops, some related. 2023-08-23 22:17:50 -07:00
Henrik Rydgård
feb0ea245e Add mappable key to toggle networking
Fixes #17352

Requested in #17343
2023-08-23 22:14:51 +02:00
Henrik Rydgård
797f88bf31 Fix ordering problem with screenshots that was causing crashes.
Fixes #17781
2023-08-23 19:03:33 +02:00
Henrik Rydgård
be2f81c3eb Controls: Make the analog/digital mapping clash resolution more gentle.
Now takes the time into account, so clashing digital input will only shrink
analog inputs once it's a few seconds old.

Also fixes a bug where if there are both inputs, it was hard to reach
the limits because the digital input itself ended up getting shrunk.

This might help #17860
2023-08-23 18:51:27 +02:00
Henrik Rydgård
a07079bdf9 Timestamp control inputs 2023-08-23 17:52:30 +02:00
Unknown W. Brackets
269a57a8b8 irjit: Fix vmin/vmax NAN handling.
Oops, this needs to be signed.
2023-08-23 06:50:42 -07:00
Henrik Rydgård
77355a1568
Merge pull request #17954 from unknownbrackets/x86-jit-ir
x86jit: Fix Ext8to32/Ext16to32, some reg issues
2023-08-23 08:50:02 +02:00
Unknown W. Brackets
efaf14a19f x86jit: Fix spilling zero register.
We can't flush it, but it's likely not to get "clobbered".
2023-08-22 23:29:13 -07:00
Unknown W. Brackets
c397e2e4da x86jit: Flush reg if dirty on map as ptr. 2023-08-22 23:29:13 -07:00
Unknown W. Brackets
a1bddd880d x86jit: Fix sign extension. 2023-08-22 23:29:13 -07:00
Unknown W. Brackets
74e5e43fdc jit: Skip known prefix writes.
If we already know what's in memory and it's default, we can skip
overwriting with default values.  This is common, actually.
2023-08-22 23:26:31 -07:00
Henrik Rydgård
6a3840d9b6 Implement bswap just because 2023-08-22 16:18:03 +02:00
Henrik Rydgård
7384d3d49f Debug mode buildfix 2023-08-22 16:15:07 +02:00
Henrik Rydgård
c5a076487e Disable extends on x86-32 2023-08-22 16:09:45 +02:00
Henrik Rydgård
b67741509c Implement a few ALU ops in the x86 JIT-from-IR. 2023-08-22 16:08:12 +02:00
Unknown W. Brackets
11c40e6889 x86: Implement a few basic float/vec4 ops. 2023-08-22 10:39:46 +02:00
Unknown W. Brackets
521b63dd2b x86jit: Implement FMul. 2023-08-22 10:39:46 +02:00
Unknown W. Brackets
edcb156897 x86jit: Add Vec4 and Float load/store. 2023-08-22 10:39:46 +02:00
Henrik Rydgård
951c35ba71
Merge pull request #17948 from unknownbrackets/x86-ir
x86jit: Fix some issues in 32-bit
2023-08-22 09:41:10 +02:00
Unknown W. Brackets
07fa1ed573 x86jit: Automatically flush incompatible regs. 2023-08-21 21:16:54 -07:00
Unknown W. Brackets
55654f52b2 x86jit: Fix Store8 on i386.
Require an 8-bit capable register in mapping.
2023-08-21 21:05:51 -07:00
Unknown W. Brackets
db34b85107 irjit: Allow flag-based allocation order.
Sometimes backends have needs, like XMM0/v0-only, or similar.
2023-08-21 20:46:05 -07:00
Unknown W. Brackets
bea74ba162 x86jit: Avoid negative offset warning. 2023-08-21 20:38:56 -07:00
ANR2ME
3c66523f04 A quick fix for Metal Gear Acid due to adhocctl's busy state never reset to false when there are no adhocctl's handler. 2023-08-22 04:29:07 +07:00
Unknown W. Brackets
1ccc2d5d2f x86jit: Fix address offsets with memview mask. 2023-08-21 09:03:10 -07:00
Unknown W. Brackets
40b3ff9573 x86jit: Fix spill issue. 2023-08-21 08:23:58 -07:00
Henrik Rydgård
1e269c1d3c
Merge pull request #17943 from unknownbrackets/x86-ir
Add an x86/x64 backend for IR
2023-08-21 09:21:37 +02:00
Unknown W. Brackets
538832940a x86jit: Implement some shifts. 2023-08-21 00:07:42 -07:00
Henrik Rydgård
61bf366d30
Merge pull request #17942 from unknownbrackets/irjit-clobber
irjit: Fix regalloc clobber on exit
2023-08-21 08:04:50 +02:00
Unknown W. Brackets
2b914046ff x86jit: Implement most exits. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
104b6d8c15 x86jit: Implement some basic arithmetic. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
5045cf012e x86jit: Fix flushing of zero register. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
08ea31f405 x86jit: Improve debug disasm. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
4e7f8cf213 x86jit: Implement load/store. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
a47b4424e5 x86jit: Fix some silly mistakes. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
4e3f3860f9 x86jit: Stub out op categories to files. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
622c69dbb9 x86jit: Expose option to select new IR based jit. 2023-08-20 22:28:54 -07:00
Unknown W. Brackets
c491f701ba x86jit: Add initial IR-based jit backend.
It works, but pretty slow in some parts with everything stubbed.
2023-08-20 22:28:54 -07:00
Unknown W. Brackets
81e24a9fee irjit: Fix regalloc clobber on exit. 2023-08-20 22:12:52 -07:00
Unknown W. Brackets
8dfc2f04d7 riscv: Use a single reg for LO/HI.
This is the same optimization we have for arm64, basically.
2023-08-20 14:49:09 -07:00
Henrik Rydgård
629d46ef5b
Merge pull request #17938 from unknownbrackets/riscv-centralize
Centralize IR regcache from RISC-V
2023-08-20 23:47:02 +02:00
Henrik Rydgård
6554b3eb75
Merge pull request #17939 from unknownbrackets/ir-vec-minor
irjit: Implement vtfm 4x4 using dots
2023-08-20 23:40:04 +02:00
Unknown W. Brackets
82fb41cba0 irjit: Implement vtfm 4x4 using dots. 2023-08-20 13:50:02 -07:00
Unknown W. Brackets
36b6aa4728 riscv: Allow GPR "SIMD" without FPR SIMD. 2023-08-20 12:42:11 -07:00
Unknown W. Brackets
6a75e6712e riscv: Use automapping for special cases too. 2023-08-20 12:42:11 -07:00
Unknown W. Brackets
a190793ad2 riscv: Simplify mapping for more instructions. 2023-08-20 12:42:11 -07:00
Unknown W. Brackets
cc4bc406d5 riscv: Cleanup VfpuCtrlToReg meta, use auto-map. 2023-08-20 12:42:11 -07:00
Unknown W. Brackets
e40ae60029 riscv: Mark normalized32 after mapping.
It's less confusing to separate it.
2023-08-20 12:42:11 -07:00
Unknown W. Brackets
f9bf7de701 riscv: Use a single reg cache. 2023-08-20 12:42:11 -07:00
Unknown W. Brackets
e30fb82a64 riscv: Remove some unused reg funcs. 2023-08-20 12:42:11 -07:00