Exzap
8d972d2500
PPCRec: Unify BCCTR and BCLR code
...
Instead of having fixed macros for BCCTR/BCCTRL/BCLR/BCLRL we now have only one single macro instruction that takes the jump destination as a register parameter.
This also allows us to reuse an already loaded LR register (by something like MTLR) instead of loading it again from memory.
As a necessary requirement for this: The register allocator now has support for read operations in suffix instructions
2024-08-30 01:28:05 +02:00
Exzap
a5f6faac8a
PPCRec: Fix merge conflicts
2024-08-30 01:28:05 +02:00
Exzap
ce8dc5526c
PPCRec: Reworked IML builder to work with basic-blocks
...
Intermediate commit while I'm still fixing things but I didn't want to pile on too many changes in a single commit.
New:
Reworked PPC->IML converter to first create a graph of basic blocks and then turn those into IML segment(s). This was mainly done to decouple IML design from having PPC specific knowledge like branch target addresses. The previous design also didn't allow to preserve cycle counting properly in all cases since it was based on IML instruction counting.
The new solution supports functions with non-continuous body. A pretty common example for this is when functions end with a trailing B instruction to some other place.
Current limitations:
- BL inlining not implemented
- MFTB not implemented
- BCCTR and BCLR are only partially implemented
Undo vcpkg change
2024-08-30 01:28:05 +02:00
Exzap
db60ea6535
PPCRec: Move X64 files into subdirectory and rename
2024-08-30 00:47:55 +02:00
Exzap
27f70d5f34
PPCRec: Emit x86 movd for non-AVX + more restructuring
2024-08-30 00:47:54 +02:00
Exzap
d1fe1a905f
PPCRec: Move IML register allocator
2024-08-30 00:47:54 +02:00
Exzap
e53c6ad2e9
PPCRec: Move IML optimizer file
2024-08-30 00:47:54 +02:00
Exzap
101a2ef911
PPCRec: Move analyzer file + move some funcs to IMLInstruction
2024-08-30 00:47:54 +02:00
Exzap
625874a753
PPCRec: Move debug printing + smaller clean up
2024-08-30 00:47:54 +02:00
Exzap
5b2bc7e03a
PPCRec: Rename IML structs for better clarity
2024-08-30 00:47:54 +02:00
Exzap
b1b46f3d1f
PPCRec: Move Segment and Instruction struct into separate files
2024-08-30 00:47:54 +02:00
Exzap
0265108e56
PPCRec: Use vector for instruction list
2024-08-30 00:47:54 +02:00
Exzap
f523b2152d
PPCRec: Use vector for segment list + deduplicate RA file
2024-08-30 00:47:54 +02:00
Exzap
4c16397cf4
Latte: Fix race condition on close during game boot
2024-08-30 00:47:54 +02:00
squidbus
9a53b19403
CI+build: Improve macOS builds ( #1310 )
2024-08-28 11:06:49 +02:00
Cemu-Language CI
03484d2146
Update translation files
2024-08-28 09:05:50 +00:00
Exzap
1234e2c118
Preparations for 2.1 ( #1306 )
2024-08-26 11:43:38 +02:00
Cemu-Language CI
d7f39aab05
Update translation files
2024-08-26 09:16:11 +00:00
bl
dc9d99b03b
nn_fp: Implement GetMyComment and UpdateCommentAsync ( #1173 )
2024-08-24 21:03:03 +02:00
Exzap
573c98b2f8
GfxPack: Workaround for invisible detail panel
...
Fixes #1307
There is probably a better way to calculate the maximum width. But this suffices for now as a workaround
2024-08-23 19:26:33 +02:00
Cemu-Language CI
9e53c1ce27
Update translation files
2024-08-22 05:17:01 +00:00
Exzap
958137a301
vpad: Keep second channel empty if no extra GamePad is configured
2024-08-15 18:27:08 +02:00
20943204920434
294a6de779
Update appimage.sh to support runtime libstdc++.so.6 loading ( #1292 )
...
Add checkrt plugin in order to detect the right libstdc++.so.6 version to load.
2024-08-15 16:22:41 +02:00
Exzap
2843da4479
padscore: Invoke sampling callbacks every 5ms
...
This fixes high input latency in games like Pokemon Rumble U which update input via the sampling callbacks
2024-08-15 05:00:09 +02:00
Exzap
b0bab273e2
padscore: Simulate queue behaviour for KPADRead
2024-08-15 02:16:24 +02:00
Skyth (Asilkan)
c49296acdc
Add support for iterating directories in graphics pack content folders. ( #1288 )
2024-08-13 15:53:04 +02:00
goeiecool9999
a6d8c0fb9f
CI: Fix macOS build ( #1291 )
2024-08-13 15:48:13 +02:00
Exzap
e551f8f524
Fix clang compile error
2024-08-13 05:57:55 +02:00
Exzap
f52970c822
Vulkan: Allow RGBA16F texture format with SRGB bit
2024-08-13 04:47:43 +02:00
Exzap
e02cc42d67
COS: Implement PPC va_list, va_arg and update related functions
2024-08-13 01:00:56 +02:00
goeiecool9999
9812a47cb1
clang-format: Put class braces on a new line ( #1283 )
2024-08-08 19:35:50 +02:00
Exzap
7fd532436d
CI: Manual unshallow of vcpkg is no longer needed
2024-08-08 16:07:45 +02:00
Exzap
598298cb3d
Vulkan: Fix stencil front mask
2024-08-08 16:07:45 +02:00
goeiecool9999
54e695a6e8
git: unshallow vcpkg, shallow vulkan-headers and imgui ( #1282 )
2024-08-08 15:58:24 +02:00
Exzap
bf2208145b
Enable async shader compile by default
2024-08-07 16:35:15 +02:00
Exzap
b52b676413
vcpkg: Automatically unshallow submodule
2024-08-07 02:50:24 +02:00
Exzap
2129644781
Remove shaderCache directory
...
The location of the shaderCache path is different for non-portable cases so let's not confuse the user by shipping with a precreated directory that isn't actually used
2024-08-06 23:02:28 +02:00
Exzap
d81eb952a4
nsyshid: Silence some logging in release builds
2024-08-06 22:58:23 +02:00
Exzap
1575866eca
Vulkan: Add R32_X8_FLOAT format
2024-08-04 14:47:51 +02:00
Joshua de Reeper
517e68fe57
nsyshid: Tidyups and Fixes ( #1275 )
2024-07-28 18:50:20 +02:00
Exzap
593da5ed79
CI: Workaround for MoltenVK crash
...
1.2.10 and later crash during descriptor set creation. So for now let's stick with the older version
2024-07-27 18:35:23 +02:00
Exzap
c73fa3761c
Fix compatibility with GCC
2024-07-27 04:45:36 +02:00
Exzap
5328e9eb10
CPU: Fix overflow bit calculation in SUBFO instruction
...
Since rD can overlap with rA or rB the result needs to be stored in a temporary
2024-07-26 06:03:00 +02:00
Exzap
47f1dcf996
debugger: Add symbol support to PPC stack traces
...
Also moved the declaration to precompiled.h instead of redefining it wherever it is used
2024-07-26 06:03:00 +02:00
Exzap
252429933f
debugger: Slightly optimize symbol list updates
2024-07-26 06:03:00 +02:00
Exzap
026d547dcc
Use HTTP 1.1 in Nintendo API requests
2024-07-26 06:03:00 +02:00
Exzap
f1685eab66
h264: Use asynchronous decoding when possible ( #1257 )
2024-07-26 05:48:42 +02:00
Exverge
4b9c7c0d30
Update Fedora build instructions ( #1269 )
2024-07-24 08:32:40 +02:00
capitalistspz
e65abf4898
Suppress unnecessary GTK messages ( #1267 )
2024-07-23 22:18:55 +02:00
Joshua de Reeper
a1c1a608d7
nsyshid: Emulate Infinity Base ( #1246 )
2024-07-23 03:18:48 +02:00