Commit graph

651 commits

Author SHA1 Message Date
georgemoralis
3218c36b22
knack fixes by niko (#1933) 2024-12-27 23:03:03 +02:00
squidbus
333f35ef25
audio: Implement cubeb audio out backend. (#1895)
* audio: Implement cubeb audio out backend.

* cubeb_audio: Add some additional safety checks.

* cubeb_audio: Add debug logging callback.

* audioout: Refactor backend ports into class.

* pthread: Bump minimum stack size to fix cubeb crash.

* cubeb_audio: Replace output yield loop with condvar.

* common: Rename ring_buffer_base to RingBuffer.
2024-12-27 21:04:49 +02:00
Nenkai
f95803664b
equeue: sceGnmGetEqEventType/sceKernelGetEventData impl (#1839) 2024-12-27 20:33:45 +02:00
Daniel R.
cbb13fa39b
hotfix: fix incorrect appcontent available space size 2024-12-26 13:18:53 +01:00
squidbus
95638d5ca5
exception: Fix raising exceptions on POSIX systems (#1868) 2024-12-25 00:21:32 +02:00
IndecisiveTurtle
8f7eb2d0e9 semaphore: Attempt to acquire before checking timeout
* The posix specification says that if the object can be acquired immediately, timeout doesnt matter
2024-12-24 15:39:17 +02:00
Daniel R.
c284cf72e1
Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
Daniel R.
2c0f986c52
core/libraries: HLE fiber reimplementation (#1836) 2024-12-24 13:33:00 +01:00
psucien
43fd8fa44a hot-fix: macos release build 2024-12-22 23:11:16 +01:00
rainmakerv2
433d9459e0
Disable trophy pop-up with config setting (#1834) 2024-12-22 15:46:45 +02:00
squidbus
fac21a5362
audio: Move port logic out of SDL backend and define backend interface. (#1848) 2024-12-22 11:46:28 +02:00
georgemoralis
b0b74243af clang-fix 2024-12-19 10:25:03 +02:00
TheTurtle
adf4b635f7
hot-fix: Proper abi on init_routine 2024-12-18 22:11:09 +02:00
ElBread3
aa5c1c10df
More Fixes for Separate Update (#1487)
* handle getdents + fix condition + add info to description

* fix not handling dents errors

* to not overwrite it, only gather separate update entries when normal folder is done

* fix always setting entries to 0 and guest name including "UPDATE"

* reset indexes on completion

* don't use concat, fixes long standing bug

* make sce_module module loading take both paths into account
2024-12-17 12:42:21 +02:00
psucien
e7c4ffe032 hot-fix: Tracy operation restored; memory leak fix as a bonus 2024-12-15 20:53:29 +01:00
psucien
0fd1ab674b
GPU processor refactoring (#1787)
* coroutine code prettification

* asc queues submission refactoring

* better asc ring context handling

* final touches and review notes

* even more simplification for context saving
2024-12-15 00:54:46 +02:00
baggins183
3c0c921ef5
Tessellation (#1528)
* shader_recompiler: Tessellation WIP

* fix compiler errors after merge

DONT MERGE set log file to /dev/null

DONT MERGE linux pthread bb fix

save work

DONT MERGE dump ir

save more work

fix mistake with ES shader

skip list

add input patch control points dynamic state

random stuff

* WIP Tessellation partial implementation. Squash commits

* test: make local/tcs use attr arrays

* attr arrays in TCS/TES

* dont define empty attr arrays

* switch to special opcodes for tess tcs/tes reads and tcs writes

* impl tcs/tes read attr insts

* rebase fix

* save some work

* save work probably broken and slow

* put Vertex LogicalStage after TCS and TES to fix bindings

* more refactors

* refactor pattern matching and optimize modulos (disabled)

* enable modulo opt

* copyright

* rebase fixes

* remove some prints

* remove some stuff

* Add TCS/TES support for shader patching and use LogicalStage

* refactor and handle wider DS instructions

* get rid of GetAttributes for special tess constants reads. Immediately replace some upon seeing readconstbuffer. Gets rid of some extra passes over IR

* stop relying on GNMX HsConstants struct. Change runtime_info.hs_info and some regs

* delete some more stuff

* update comments for current implementation

* some cleanup

* uint error

* more cleanup

* remove patch control points dynamic state (because runtime_info already depends on it)

* fix potential problem with determining passthrough

---------

Co-authored-by: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-12-14 12:56:17 +02:00
rainmakerv2
8bb1e8fcdb
Resize trophy pop up windows based on window size (#1769) 2024-12-14 10:17:00 +02:00
TheTurtle
cfbd869126
texture_cache: Improve support for stencil reads (#1758)
* texture_cache: Improve support for stencil reads

* libraries: Supress some spammy logs

* core: Support loading font libraries

* texture_cache: Remove assert
2024-12-13 18:28:19 +02:00
TheTurtle
8acefd25e7
hot-fix the hot-fix 2024-12-13 18:26:16 +02:00
TheTurtle
bab00dbca8
kernel: Fix module finding
Patch by Elbread
2024-12-13 18:23:01 +02:00
georgemoralis
2a19d915e8
fix for detecting more that 2 players and play both with player 1 keys (#1750) 2024-12-12 22:46:20 +02:00
squidbus
5789d1a5fb
playgo: Lower scePlayGoGetLocus log to debug. (#1748) 2024-12-12 09:47:07 +02:00
TheTurtle
7f4265834a
hot-fix: Fix race in rwlock
Resetting the owner should be before the lock is unlocked, otherwise a waiter might lock and set a new owner before its reset.
2024-12-12 03:33:49 +02:00
TheTurtle
0a9c437ec8
hot-fix: Enforce minimum stack size of 64KB
Fixes some crashes in BB from unity pt 1
2024-12-11 21:17:55 +02:00
Daniel R.
b82993c568
core/kernel: implement condvar signalto 2024-12-11 20:12:35 +01:00
squidbus
14f7dc3527
cache: Invalidate pages for file reads. (#1726)
* cache: Invalidate pages for file reads.

* texture_cache: Simplify invalidate intersection check.

* vk_rasterizer: Make aware of mapped memory ranges.

* buffer_cache: Remove redundant page calculations.

Called functions will convert to page numbers/addresses themselves.

* file_system: Simplify memory invalidation and add a few missed cases.
2024-12-11 21:11:24 +02:00
squidbus
41fd1c84cf
semaphore: Use handles to properly handle semaphore double-delete. (#1728) 2024-12-10 14:43:32 +02:00
Stephen Miller
f938829f12
Implement sceGnmDingDongForWorkload (#1707)
Seen in Final Fantasy XV.
2024-12-08 22:04:33 +02:00
Daniel R.
fea2593ab4
The way to Unity, pt.3 (#1681) 2024-12-08 18:30:33 +02:00
auser1337
1940ac0fec
ajm: support for multiple contexts (#1690)
* ajm: support for multiple contexts

* fix sceAjmInitialize
2024-12-08 10:18:12 +02:00
Ada Ahmed
dad5953e8c
fix: fix #1457 again by moving av_err2str to a common header (#1688) 2024-12-08 00:52:03 +02:00
psucien
119e03cb58 hot-fix: fix for incorrect asc qid 2024-12-07 22:28:31 +01:00
¥IGA
2266622dcf
Support for Vulkan 1.4 (#1665) 2024-12-07 19:41:41 +02:00
squidbus
e1ecfb8dd1
semaphore: Add GCD semaphore implementation. (#1677) 2024-12-06 23:46:44 +02:00
Daniel R.
7ffa581d4b
The way to Unity, pt.2 (#1671) 2024-12-06 22:04:36 +01:00
Daniel R.
15ae7a094d
hotfix: fix inverted operator on GetDents 2024-12-05 18:45:55 +01:00
Daniel R.
98f0cb65d7
The way to Unity, pt.1 (#1659) 2024-12-05 17:21:35 +01:00
Vinicius Rangel
2380f2f9c9
Virtual device abstraction (#1577)
* IOFile: removes seek limit checks when file is writable

* add virtual devices scaffold

* add stdin/out/err as virtual devices

* fixed some merging issues

* clang-fix

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-12-05 18:00:17 +02:00
squidbus
c019b54fec
thread: Configure stack and guard on POSIX hosts. (#1664) 2024-12-04 20:21:03 +02:00
TheTurtle
6bf93071cf
hot-fix: Correct getpagesize
Tested on my PS4 pro, returns 16KB instead of 4KB
2024-12-03 14:15:08 +02:00
georgemoralis
c66db95378
Misc Ime fixes continue (#1655)
* core/libraries: Misc. Ime fixes

* fixed issues

---------

Co-authored-by: Daniel R <47796739+polybiusproxy@users.noreply.github.com>
2024-12-03 10:05:51 +02:00
psucien
4a5850628e hot-fix: debug build fixed 2024-12-01 15:46:08 +01:00
squidbus
b00a321b5e
playgo: Fix loading PlayGo file. (#1639) 2024-12-01 14:12:04 +02:00
squidbus
394a14626b
libraries: Add stubs for libScePlayGoDialog (#1635) 2024-12-01 13:44:15 +02:00
TheTurtle
5b6e0ab238
core: Library cleanup (#1631)
* core: Split error codes into separate files

* Reduces build times and is cleaner

* core: Bring structs and enums to codebase style

* core: More style changes
2024-11-30 22:37:36 +02:00
squidbus
7153838c4e
libraries: Add initial HLE JPEG encoder skeleton (#1607)
* libraries: Add initial HLE JPEG encoder skeleton

* jpegenc: Finish adding parameter validation.

* updated enums , added logging

* jpegenc: Clean up parameter validations.

* jpegenc: Fix missing log.

* externals: Update ffmpeg-core

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-11-30 21:43:12 +02:00
squidbus
07f4a0305b
semaphore: Use condvars with separate signaled flag to prevent races (#1615)
* Revert "semaphore: Use binary_semaphore instead of condvar"

This reverts commit 85dc57b868.

* semaphore: Use separate signaled flag to prevent races

* mutex: Few misc fixes

* condvar: Few misc fixes

* signals: Add thread name to unhandled signal message.
2024-11-30 19:19:07 +02:00
squidbus
99ac10a417
libraries: Add libSceRazorCpu HLE skeleton. (#1624)
* Remove save migration code (#1621)

* Kernel Fixes (#1605)

* scePthreadSetprio Changes

FindThread uses posix error codes, so the function export should apply the ORBIS wrapper to convert these. Since it uses posix codes, I've also renamed the function to align with other posix functions. Lastly, this fixes a compile warning about ret sometimes not getting initialized.

* Implement posix_munmap

Used by Hatsune Miku Project Diva X during intros. May help with stability on Linux, probably won't change anything on Windows.

* Exports

Some missing function exports I've seen in my tests.
sceKernelAvailableFlexibleMemorySize export is used in Final Fantasy XV Episode Duscae
posix_pthread_setprio and posix_pthread_getschedparam are used by Spider-Man Miles Morales
scePthreadKeyDelete is used in UE4 games.

I've also added in a typo fix related to my previous PR.

* libScePosix export for posix_pthread_attr_setguardsize

Used in Hatsune Miku Project Diva X v1.02

* libraries: Add libSceRazorCpu HLE skeleton.

---------

Co-authored-by: ¥IGA <164882787+Xphalnos@users.noreply.github.com>
Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
2024-11-30 11:30:22 +02:00
Stephen Miller
7e525a59e4 Kernel Fixes (#1605)
* scePthreadSetprio Changes

FindThread uses posix error codes, so the function export should apply the ORBIS wrapper to convert these. Since it uses posix codes, I've also renamed the function to align with other posix functions. Lastly, this fixes a compile warning about ret sometimes not getting initialized.

* Implement posix_munmap

Used by Hatsune Miku Project Diva X during intros. May help with stability on Linux, probably won't change anything on Windows.

* Exports

Some missing function exports I've seen in my tests.
sceKernelAvailableFlexibleMemorySize export is used in Final Fantasy XV Episode Duscae
posix_pthread_setprio and posix_pthread_getschedparam are used by Spider-Man Miles Morales
scePthreadKeyDelete is used in UE4 games.

I've also added in a typo fix related to my previous PR.

* libScePosix export for posix_pthread_attr_setguardsize

Used in Hatsune Miku Project Diva X v1.02
2024-11-30 11:23:48 +02:00