Commit Graph

3892 Commits

Author SHA1 Message Date
georgemoralis
10147fb4e9 clang 2026-03-18 13:50:01 +02:00
georgemoralis
49c9786863
Merge branch 'main' into user_and_settings 2026-03-18 13:16:47 +02:00
Kravickas
2ca342970a
MIP fixes (#4141)
* int32-modifiers

GCN VOP3 abs/neg modifier bits always operate on the sign bit (bit 31)
regardless of instruction type. For integer operands this means:
	
abs = clear bit 31   (x & 0x7FFFFFFF)
neg = toggle bit 31  (x ^ 0x80000000)

* int64-modifiers

Previously GetSrc64<IR::U64> completely ignored input modifiers
for integer operands. Now unpacks to two U32s, modifies the high
dword's bit 31 (= bit 63 of the 64-bit value), and repacks.

* V_MUL_LEGACY_F32

GCN V_MUL_LEGACY_F32: if either source is zero, result is +0.0
regardless of the other operand (even NaN or Inf). Standard IEEE
multiply produces NaN for 0*Inf. The fix adds a zero-check select
before the multiply.
2026-03-18 10:05:20 +02:00
rosenkolev1
9a3e7b097c
Make thread TidCounter atomic (#4133) 2026-03-18 09:40:37 +02:00
georgemoralis
6e843d0c4b feeling dangerous , let's re-enable lod where supported 2026-03-17 22:18:26 +02:00
baggins183
1bb152d976
IMAGE_STORE_MIP fallback (#4075)
* fallback for IMAGE_STORE_MIP when not natively supported

* Lod should be treated as absolute, independent of sharp's base_level (judging by other implemented instructions)

* fix descriptor set layouts

* dumb error

* force fallback for testing

* treat Lod as relative to base_level

* optimization when lod index is constant
2026-03-17 21:47:19 +02:00
shinra-electric
88c3437240
Bump ccache-action (#4138) 2026-03-17 18:36:59 +02:00
kalaposfos13
e6b743032d
Don't print unresolved libc and libSceFios2 stubs (#4137) 2026-03-17 15:58:31 +02:00
georgemoralis
3a3ef5b05f started 0.15.1 WIP 2026-03-17 10:26:34 +02:00
georgemoralis
4d62930075 tagged 0.15.0 release 2026-03-17 09:22:22 +02:00
kalaposfos13
6a8cf7ac2e *that* function 2026-03-14 18:43:49 +01:00
shinra-electric
30ff9cf050
CI: Update actions/cache due to Node 20 deprecation (#4128)
* Upload-artifact v4 --> v6

* Download-artifact v5 --> v8

* Checkout v5 --> v6

* cache v4 --> v5
2026-03-14 19:15:29 +02:00
Stephen Miller
844cfe5185
Lib.Ssl2: Stub data for sceSslGetCaCerts (#4127)
* Test

* More robust logic for storing and freeing dummy data

Anything heap allocated is invalidated when the function returns. Use malloc to allocate the string instead, and make sure to free those allocations in sceSslFreeCaCerts.
2026-03-14 17:12:26 +02:00
kalaposfos13
8f81064703 remove debug logging 2026-03-14 15:31:50 +01:00
kalaposfos13
9322cc5941 the light sphere (why it blinking tho?) 2026-03-14 15:06:43 +01:00
kalaposfos13
97e2367db4 use motion controls for move 2026-03-14 14:23:39 +01:00
kalaposfos13
d229ab4d8b init motion controls for move 2026-03-14 14:10:39 +01:00
kalaposfos13
92f4b885b1 as they say, 25th time's the charm 2026-03-14 13:49:32 +01:00
kalaposfos13
5099a17519 the Move controllers' Move button can now be used as input for normal controller output 2026-03-13 17:46:07 +01:00
Санька Четвёртый
f336096b12
PSF file format: close file after encode() (#4122) 2026-03-13 12:38:22 +02:00
kalaposfos13
87d403d5c2 userid is still != pad handle 2026-03-12 22:40:17 +01:00
kalaposfos13
0cc0dc9c31 what is shadow going to do about this 2026-03-12 22:21:25 +01:00
kalaposfos13
badaa30cbc attempt to fix returning too many users 2026-03-12 21:40:23 +01:00
kalaposfos13
5df712dc4b Merge remote-tracking branch 'origin/main' into user_and_settings 2026-03-12 21:40:04 +01:00
kalaposfos13
d6626c4ccf
Rereworked trophy backend (#4121)
* a better trophy file layout, part 1

* part 2

* now it actually works
2026-03-12 21:14:51 +02:00
kalaposfos13
67ffd0334b
Properly fix game flag handling (#4119)
* fix the fix for the fix

* fine there's no debug info then because of Ubuntu things
2026-03-12 17:15:04 +01:00
georgemoralis
f8d0344138
Merge branch 'main' into user_and_settings 2026-03-12 08:53:35 +02:00
Stephen Miller
c8b3d63e7e
Core: Fix game arguments (#4118)
* Fix game arguments.

Tested with Crash Team Racing Nitro Fueled

* Fix the fix

This callback runs unconditionally, so only perform erase if we actually place anything in gameArgs
2026-03-12 08:53:12 +02:00
georgemoralis
1c69f35d67
Merge branch 'main' into user_and_settings 2026-03-11 23:23:58 +02:00
georgemoralis
ff96c54451
Trophies fixes (#4114)
* added extraction to users based on npcommid

* npcommids are stored in elf_info now

Made nptrophy to work correcty with npcommids

* fixed loading of keymanager

* make linux happy

* partial trophy rewrite with lanugages support

* fixed troph file naming
2026-03-11 23:23:35 +02:00
Stephen Miller
ac3786f533
Fix return type for ImageAtomicU32CmpSwap (#4115)
Somedays I wonder how I miss these details. But hey, least there are two other people who also missed this 😅
2026-03-10 16:25:22 -07:00
kalaposfos13
d06a3d4777 + 2026-03-10 15:36:38 +01:00
kalaposfos13
8396de2aa2 settings migration chapter 2 2026-03-10 15:32:27 +01:00
georgemoralis
fa1deb4845 fixed settings for the openal backend 2026-03-10 11:13:06 +02:00
georgemoralis
3157382d8e
OpenAL sound backened (#4030)
* code cleanup

* simd implementation and better buffer support

* reduce logging in audioout

* added openal libs

* added sceAudioOutGetSystemState

* fixed backend

* initial audio out openal support , still not working properly

* cleanups

* fixed converters for openal

* basic work for openal and audio3d

* clang

* better conversion?

* trying to fix conversions

* better conversions?

* more safe format conversions

* improved audioout conversions

* seems better

* smoother

* increased buffers

* reduce spamming log

* added SIMD version of convertors

* some corrections to audio3d

* support for AL_EXT_FLOAT32 extension and fallbacks if not available

* added device selection

* use ALC_ALL_DEVICES_SPECIFIER

* no it will not work this way

* improved device detection

* fixed audio3d again

* proper device register in openal

* some openal audio3d improvements based on the sdl one

* clang
2026-03-10 11:00:21 +02:00
georgemoralis
c9595a4288 added settings for audio backend 2026-03-10 10:43:59 +02:00
georgemoralis
58f4e12437
Merge branch 'main' into user_and_settings 2026-03-10 09:03:26 +02:00
Stephen Miller
3ee06a91df
Relocate imports on HLE loads (#4113)
Now that dynamic HLE loads happen after the eboot loads, HLEs for most "preload" modules wouldn't detect if you didn't have libSceRtc dumped. This was because, while we stored all the new symbols from the HLE lib, we weren't relocating loaded modules to use these symbols.
2026-03-10 07:25:45 +02:00
Stephen Miller
ab9577c088 Remove malloc_init stuff
Keeping my heap API definition fixes though, since that's a valid change.
Also adding back libScePadTracker LLE, shadow removed it during rebase, but it should still "work" with these changes.
2026-03-09 12:11:49 -05:00
georgemoralis
19a99dec41 compile fixes 2026-03-09 18:46:53 +02:00
georgemoralis
79025787da clang 2026-03-09 18:36:45 +02:00
Miller
f5d394a5b2 Merge branch 'malloc_init_heap_api_lle' into user_and_settings 2026-03-09 11:18:59 -05:00
georgemoralis
fb48bcf979
Merge branch 'main' into user_and_settings 2026-03-09 18:11:44 +02:00
Stephen Miller
85476e55ea
Recompiler: Implement IMAGE_ATOMIC_CMPSWAP (#4109)
* To implement ImageAtomicCmpSwap

...but it doesn't work, so here it shall stay.

* a fix

* Clang

* Add to MayHaveSideEffects

I missed this while digging through IR code.
2026-03-09 18:02:22 +02:00
TheTurtle
df6bb8562e
renderer_vulkan: Force subgroup size to 64 when possible (#4111) 2026-03-09 17:46:51 +02:00
TheTurtle
e16ba06ab0
shader_recompiler: Support 32 thread sharing mode (#4110) 2026-03-09 17:33:58 +02:00
kalaposfos13
0579569f13
Improve signal emulation (#4108)
* improve signal emulation

* make the sce function use the new posix ones

* ifdefing away the issues

* fix me being very tired yesterday night

* let macOS handle SIGRT signals with the native sigaction call instead of an early error return

* windows still has no clue what the fuck is going on

* the loathsome clang-formatter

* fix oact

* return the guest handler, not the host one

* Clear any existing signal mask for game threads.

* don't rely on implementation specific things

* Fix Windows support and sceKernelRaiseException bug

* Review suggestions

@kalaposfos13 suggested I push these.

---------

Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
2026-03-09 14:20:14 +02:00
kalaposfos13
eca4ef2665 thank you shadow :torrac: 2026-03-09 13:14:46 +01:00
kalaposfos13
7fe034f3ca hook up the new backend's lightbar colour values
This temorarily breaks override_controller_color, but that already only worked correctly with one gamepad anyway.
2026-03-09 13:11:47 +01:00
kalaposfos13
d0580a11fa Revert conditionally omitting the initial user login event until the exact trigger requirements are found 2026-03-09 09:52:45 +01:00