Commit graph

105 commits

Author SHA1 Message Date
Jean-Philip Desjardins
fbe1d81dfa Use Select in CheckFlagPipeline.
Some checks failed
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
2025-02-04 11:14:55 -05:00
Jean-Philip Desjardins
8003d25286 Use MD_LoadFromRefMasked and MD_StoreAtRefMasked. 2025-01-10 15:55:35 -05:00
Jean-Philip Desjardins
d5a5079bde Use MD_PushRelElementExpand for broadcast operations. 2025-01-01 17:14:48 -05:00
Jean-Philip Desjardins
f2e872d523 Broadcast constants when possible. 2025-01-01 17:14:48 -05:00
Jean-Philip Desjardins
62997ad4be Use accurate ADDi only if specified by compile hint. 2024-12-18 11:52:26 -05:00
Jean-Philip Desjardins
67e0c572bc Rename compile hint. 2024-12-18 11:51:32 -05:00
Jean-Philip Desjardins
b59696f544 Add missing clamping. 2024-08-16 16:44:53 -04:00
Jean-Philip Desjardins
5bb0f5e84b Allow reading VU1 TPC from LQI. 2024-08-16 16:44:52 -04:00
Jean-Philip Desjardins
18c0a6b17d Update to match FP32 CodeGen changes. 2024-05-28 17:30:17 -04:00
Jean-Philip Desjardins
5002a38e2f Use LoadFromRefIdx instead of computing offset manually. 2024-04-29 14:50:38 -04:00
Jean-Philip Desjardins
8445595b73 Add clamping in SUB_base.
Fixes issue where character disappears after listening to tape in Fatal Frame 3.
2024-04-02 11:58:47 -04:00
Jean-Philip Desjardins
acc8d93bb0 Clamp MULA input.
Fixes buggy vertical lines in Hunter x Hunter: Ryuumyaku no Saidan.
2024-02-27 15:46:06 -05:00
Jean-Philip Desjardins
c2399cdf34 Fix some parameter values that were implicitly converted to RETURN_VALUE. 2024-01-26 13:45:03 -05:00
Jean-Philip Desjardins
a9f54cbe3e Minor optimization to LQ and SQ when not accessing all lanes. 2023-12-20 09:41:00 -05:00
Jean-Philip Desjardins
10748be6b5 Add clamping to fix issues in Mt. Doom rendering in LOTR: ROTK. 2023-12-20 09:41:00 -05:00
Jean-Philip Desjardins
267e1bc115 Avoid saving vector if it doesn't change its value. 2023-12-20 09:41:00 -05:00
Jean-Philip Desjardins
65cee7e4c3 Fix some potential issues with VU0 micro & macro sync. 2023-09-25 10:53:52 -04:00
Jean-Philip Desjardins
5f32f19f3b Fix some register clobbering cases. 2023-09-25 10:53:52 -04:00
Jean-Philip Desjardins
033c7c9c99 Properly clear stack when skipping LQ. 2023-08-30 10:21:25 -04:00
Jean-Philip Desjardins
3c8a36a2af Some clever improvements to mem accesses. 2023-07-26 14:10:05 -04:00
Jean-Philip Desjardins
1eb8ad505b Update CodeGen submodule. 2023-07-21 11:54:36 -04:00
Jean-Philip Desjardins
e14548d931 Add check. 2023-07-20 18:04:47 -04:00
Jean-Philip Desjardins
d7653a2f25 Fix warnings. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
9bcbe1f699 Update pipeTime when syncing EFU operations.
Fixes issues with Shinobi where WAITP is used and FDIV pipeline needs to be updated as a side-effect.
2023-05-11 10:01:48 -04:00
Jean-Philip Desjardins
2f737651fb Add function to check for NaNs in vectors. 2023-05-10 09:07:19 -04:00
Jean-Philip Desjardins
d302c318d4 Do simple move when adding 0.
Avoids destructive clamping that might be against the intent of the instruction.
2023-05-10 09:07:18 -04:00
Jean-Philip Desjardins
b5d8aad96e Use CodeGen's native MD_ClampS to clamp vectors. 2023-03-03 16:50:59 -05:00
Jean-Philip Desjardins
db6ffbc111 Support writing VU1 registers from VU0 macro mode. 2022-07-11 14:09:46 -04:00
Jean-Philip Desjardins
6708e394db Add comment to explain why we don't use FpAddTruncate on JS. 2022-02-14 13:07:15 -05:00
Jean-Philip Desjardins
e0bfe0223c Disable accurate ADDi on JavaScript.
Could be enabled later.
2022-02-14 13:07:15 -05:00
Jean-Philip Desjardins
aebd6eb9bc Prevent clobbering of VF0. 2022-02-11 13:15:38 -05:00
Jean-Philip Desjardins
34171f12e5 Prevent VI0 clobbering. 2022-02-09 12:38:32 -05:00
Jean-Philip Desjardins
69531b84bc Don't recompute the clamping mask.
Removes a few instructions in generated code.
2021-07-09 10:03:27 -04:00
Jean-Philip Desjardins
80e6554cdc Use StoreAtRefIdx to clear flags pipeline.
Using PullRel would cause array items to be register allocated which is not a good thing
since they are accessed through array operations in other places.
2021-07-02 10:22:27 -04:00
darkpigeon
6dd820d734 Merge branch 'jpd002:master' into fatalframe1 2021-05-15 15:33:20 +07:00
Jean-Philip Desjardins
4ceef01615 Prevent MOVE on VF0. 2021-04-27 13:51:57 -04:00
darkpigeon
e0c3d55007
Add clamping to VU
Fixes Fatal Frame 1's door-blocking bug, which allows further proceeding ingame
2021-04-07 22:22:34 +07:00
Jean-Philip Desjardins
650f129545 Clamp some input vectors.
Fixes issues entering some areas in Samurai Legend Musashi.
2021-01-26 19:30:24 -05:00
Jean-Philip Desjardins
efbbeb057b Merge ADD code in a single function.
Except for ADDi which has an exception.
2021-01-26 19:30:24 -05:00
Jean-Philip Desjardins
29ebcafec5 Preserve W component of FD in OPMSUB.
Fixes a ton of problems (KH2, Musashi Samurai Legends, Wild Arms 5 & probably others).
2020-11-26 16:29:46 -05:00
Jean-Philip Desjardins
935427fa6e Remove unused include. 2020-11-25 09:54:55 -05:00
Jean-Philip Desjardins
239f6c53c7 Make sure sticky flags arrive at the proper time. 2020-06-02 15:12:27 -04:00
Jean-Philip Desjardins
d207c648ac Formatting niceties. 2020-06-02 15:12:27 -04:00
Mahmood - Zer0xFF
e503f3eae6 improve VU MOVE/RNEXT instruction 2020-05-21 19:22:16 +01:00
Jean-Philip Desjardins
2bfe87ff52 Clamp vectors before comparing in MINI/MAX. 2020-05-15 16:44:08 -04:00
Jean-Philip Desjardins
ff488e17db Implement ADDAq. 2020-05-15 12:37:55 -04:00
Jean-Philip Desjardins
53db596365 Prevent ITOF0 & ITOF12 from clobbering VF0. 2020-05-15 12:37:54 -04:00
Jean-Philip Desjardins
50608f6453 Use LoadFromRefIdx in ILW. 2020-05-11 13:15:21 -04:00
Jean-Philip Desjardins
ece02c072c Use StoreAtRefIdx in ISW. 2020-05-11 13:15:21 -04:00
Jean-Philip Desjardins
cda03da746 Use StoreAtRefIdx4 in QueueInFlagPipeline. 2020-05-11 13:15:21 -04:00