Exzap
0f1d7532a1
PPCRec: Remove now unused PPC_ENTER and jumpMarkAddress
2025-04-26 00:22:35 +02:00
Exzap
6cdcef880b
PPCRec: Fix single segment loop not being detected
...
Also removed associatedPPCAddress field from IMLInstruction as it's no longer used
2025-04-26 00:22:35 +02:00
Exzap
bb6b18d78f
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
2025-04-26 00:22:35 +02:00
Exzap
f2a07ade4c
PPCRec: Fix merge conflicts
2025-04-26 00:22:35 +02:00
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) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-03-19 17:06:55 +01:00
capitalistspz
8b5cafa98e
Wiimote/L2CAP: More accurate descriptions for descriptors ( #1512 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-03-13 01:09:45 +01:00
Crementif
186e92221a
debugger: allow printing registers using logging breakpoint placeholders ( #1510 )
...
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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
...
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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 )"
...
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
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 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-01-16 12:54:29 +01:00
Joshua de Reeper
eab1b24320
nsyshid: Initialise interface index as 0 ( #1473 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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 )
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
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 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-01-05 04:08:13 +01:00
Crementif
4b792aa4d2
debug: Fix shader dumping ( #1466 )
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-01-04 20:38:42 +01:00
capitalistspz
1e30d72658
build: Add ALLOW_PORTABLE flag ( #1464 )
...
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
* 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 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2024-12-18 22:15:42 +01:00
goeiecool9999
3738ccd2e6
Play bootSound.btsnd while shaders/pipelines are compiling ( #1047 )
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2024-12-18 15:55:23 +01:00
Exzap
b53b223ba9
Vulkan: Use cache for sampler objects
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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