Exzap
e1e710e3f5
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
2025-04-26 00:22:35 +02:00
Exzap
0622631868
PPCRec: Move X64 files into subdirectory and rename
2025-04-26 00:22:35 +02:00
Exzap
da08eda506
PPCRec: Emit x86 movd for non-AVX + more restructuring
2025-04-26 00:22:35 +02:00
Exzap
411a83799c
PPCRec: Move IML register allocator
2025-04-26 00:22:35 +02:00
Exzap
231b5c5dc3
PPCRec: Move IML optimizer file
2025-04-26 00:22:35 +02:00
Exzap
14d82ae4a5
PPCRec: Move analyzer file + move some funcs to IMLInstruction
2025-04-26 00:22:35 +02:00
Exzap
f95180d0fc
PPCRec: Move debug printing + smaller clean up
2025-04-26 00:22:35 +02:00
Exzap
faf6c17438
PPCRec: Rename IML structs for better clarity
2025-04-26 00:22:34 +02:00
Exzap
4abd5127c0
PPCRec: Move Segment and Instruction struct into separate files
2025-04-26 00:22:34 +02:00
Exzap
ce5d010611
PPCRec: Use vector for instruction list
2025-04-26 00:22:34 +02:00
Exzap
d42ea6e5a8
PPCRec: Use vector for segment list + deduplicate RA file
2025-04-26 00:22:34 +02:00
Exzap
bbba516f08
Latte: Fix race condition on close during game boot
2025-04-26 00:22:34 +02:00
Exzap
06233e3462
UI: Fix wxWidgets debug assert
...
Build check / build (push) Failing after 0s
Generate translation template / generate-pot (push) Failing after 36s
Adding the same component multiple times is not allowed. Use sizers instead
2025-04-16 14:36:11 +02:00
Exzap
4972381edc
Vulkan: Fix imgui validation error when sRGB framebuffer is used
2025-04-15 22:46:19 +02:00
Exzap
cd6eb1097b
Vulkan: Fix a validation error + minor code refactor
...
We were using VK_EXT_DEPTH_CLIP_ENABLE but didn't actually request it.
Also fixed an assert when closing Cemu caused by incorrectly tracking the number of allocated pipelines
2025-04-15 21:10:11 +02:00
Exzap
c4eab08f30
Update vcpkg
Build check / build (push) Failing after 0s
Generate translation template / generate-pot (push) Failing after 1s
2025-04-03 19:11:14 +02:00
mitoposter
57ff99ce53
cubeb: Show default device option even if enumerating devices fails ( #1515 )
Build check / build (push) Failing after 0s
Generate translation template / generate-pot (push) Failing after 36s
2025-03-19 17:06:55 +01:00
capitalistspz
8b5cafa98e
Wiimote/L2CAP: More accurate descriptions for descriptors ( #1512 )
2025-03-13 01:09:45 +01:00
Crementif
186e92221a
debugger: allow printing registers using logging breakpoint placeholders ( #1510 )
...
This allows a savy user, developer or modder to change the comment field of a logging breakpoint to include placeholders such as {r3} or {f3} to log the register values whenever that code is hit.
2025-03-07 23:40:17 +01:00
goeiecool9999
31d2db6f78
OpenGL: Add explicit/matching qualifiers in output shader interface
...
fixes issues with old intel drivers
2025-03-05 22:23:06 +01:00
capitalistspz
ebb5ab53e2
Add menu item for opening shader cache directory ( #1494 )
Build check / build (push) Failing after 0s
Generate translation template / generate-pot (push) Failing after 8s
2025-02-14 20:56:51 +01:00
capitalistspz
a6fb0a48eb
BUILD.md: Provide more info about build configuration flags ( #1486 )
2025-02-04 10:56:33 +01:00
Exzap
ec2d7c086a
coreinit: Clean up time functions
Generate translation template / generate-pot (push) Failing after 34s
Build check / build (push) Failing after 40s
2025-01-30 03:49:17 +01:00
Exzap
c714e8cb6b
coreinit: Time to tick conversion is unsigned
...
The result is treated as signed in most cases, but the calculation uses unsigned arithmetic.
As a concrete example where this matters, DS VC passes -1 (2^64-1) to OSWaitEventWithTimeout which internally causes an overflow. But only with unsigned arithmetic this will result in a large positive number that behaves like the intended infinite timeout. With signed arithmetic the result is negative and the events will timeout immediately.
2025-01-30 03:32:24 +01:00
goeiecool9999
e834515f43
Vulkan: Improve post-shutdown cleanup and minor improvements ( #1401 )
2025-01-23 21:20:03 +01:00
Exzap
4f9eea07e0
CI: Update action version
2025-01-23 21:06:07 +01:00
goeiecool9999
372c314f06
fix building with fmt11 and GCC
2025-01-23 21:03:11 +01:00
Exzap
5bd253a1f8
Revert "Fix building against fmt 11.1.0 ( #1474 )"
...
Reverting commit 4ac65159ef
because game profile enums use the stringifying formatters from config.h and are not supposed to store raw integers
2025-01-23 17:33:06 +01:00
Alexandre Bouvier
4ac65159ef
Fix building against fmt 11.1.0 ( #1474 )
2025-01-16 12:54:29 +01:00
Joshua de Reeper
eab1b24320
nsyshid: Initialise interface index as 0 ( #1473 )
2025-01-12 20:20:48 +01:00
Exzap
07cd402531
Update precompiled.h
2025-01-12 18:33:15 +01:00
Joshua de Reeper
0a59085021
nsyshid: Make Libusb the Windows backend ( #1471 )
2025-01-12 14:33:24 +01:00
Exzap
8dd809d725
Latte: Implement better index caching ( #1443 )
2025-01-12 12:39:02 +01:00
rcaridade145
1923b7a7c4
Vulkan: Added R5_G6_B5_UNORM to supported readback formats ( #1430 )
2025-01-12 12:37:56 +01:00
brysma1
f61539a262
Update build instructions for fedora and add troubleshooting step for alternative architectures ( #1468 )
2025-01-08 04:22:55 +01:00
Crementif
92021db230
Use one CPU emulation thread for --force-interpreter ( #1467 )
2025-01-05 04:08:13 +01:00
Crementif
4b792aa4d2
debug: Fix shader dumping ( #1466 )
2025-01-04 20:38:42 +01:00
capitalistspz
1e30d72658
build: Add ALLOW_PORTABLE flag ( #1464 )
...
* Add ALLOW_PORTABLE cmake flag
* Also check that `portable` is a directory
2024-12-30 18:49:51 +01:00
Mike Lothian
2b0cbf7f6b
Fix building against Boost 1.87.0 ( #1455 )
2024-12-18 22:15:42 +01:00
goeiecool9999
3738ccd2e6
Play bootSound.btsnd while shaders/pipelines are compiling ( #1047 )
2024-12-18 15:55:23 +01:00
Exzap
b53b223ba9
Vulkan: Use cache for sampler objects
2024-12-16 13:05:22 +01:00
Exzap
6aaad1eb83
Debugger: Added right click context menu to disasm view + small fixes
2024-12-16 13:05:22 +01:00
Exzap
adab729f43
UI: Correctly handle unicode paths during save export
2024-12-16 13:05:22 +01:00
capitalistspz
dd0af0a56f
Linux: Allow connecting Wiimotes via L2CAP ( #1353 )
2024-12-07 12:02:40 +01:00
Exzap
934cb54605
Properly check if MLC is writeable
2024-12-07 10:26:17 +01:00
Exzap
356cf0e5e0
Multiple smaller HLE improvements
2024-12-07 10:26:17 +01:00
Exzap
e2d0871ca3
Camera: Set error code in CAMInit
...
Fixes Hunter's Trophy 2 crashing on boot
2024-12-07 10:26:17 +01:00
Cemu-Language CI
40d9664d1c
Update translation files
2024-12-07 07:14:20 +00:00
neebyA
eca7374567
Set version for macOS bundle ( #1431 )
2024-12-02 05:19:15 +01:00
Jeremy Kescher
80a6057512
build: Fix linker failure with glslang 15.0.0 ( #1436 )
2024-12-02 01:01:22 +01:00