Commit Graph

2952 Commits

Author SHA1 Message Date
Lander Gallastegi
9d2d39e70c Point sirit to upstream 2025-05-01 17:16:19 +02:00
Lander Gallastegi
66e57a40e3 Remove memory coveragte logic 2025-05-01 16:56:36 +02:00
Lander Gallastegi
ef51446b36 Better sync 2025-05-01 16:56:36 +02:00
Lander Gallastegi
b6001e47d6 Fixes for better sync 2025-05-01 16:56:36 +02:00
Lander Gallastegi
19473b2672 Better sync (WIP, breaks PR now) 2025-05-01 16:56:36 +02:00
Lander Gallastegi
5947526a4d Fix store_index 2025-05-01 16:56:36 +02:00
Lander Gallastegi
59ea5f8cfe 32 bit counter 2025-05-01 16:56:36 +02:00
Lander Gallastegi
0bf4e75da8 Use spec const and 32 bit atomic 2025-05-01 16:56:36 +02:00
Lander Gallastegi
f260a61d26 Only sync in the first time we see a readconst
Thsi is partialy wrong. We need to save the state into the submission context itself, not the rasterizer since we can yield and process another sumission (if im not understanding wrong).
2025-05-01 16:56:36 +02:00
Lander Gallastegi
c642e4f1be Process faults on submit 2025-05-01 16:56:36 +02:00
Lander Gallastegi
69a39a3afe Use compute to parse fault buffer 2025-05-01 16:56:36 +02:00
Lander Gallastegi
629dc6132e Some fixes (and async testing (doesn't work)) 2025-05-01 16:56:36 +02:00
Lander Gallastegi
ce17f57954 Fix size truncated when syncing range
And memory barrier
2025-05-01 16:56:36 +02:00
Lander Gallastegi
cbed00e09c Revert "Attempt to range sync error"
This reverts commit dd287b48682b50f215680bb0956e39c2809bf3fe.
2025-05-01 16:56:36 +02:00
Lander Gallastegi
8e0905b136 Attempt to range sync error 2025-05-01 16:56:36 +02:00
Lander Gallastegi
bee2ad3721 Use 2 mutexes insteed of copy 2025-05-01 16:56:36 +02:00
Lander Gallastegi
442a7ee509 Copy to avoid deadlock 2025-05-01 16:56:36 +02:00
Lander Gallastegi
e2f56feb8b Possible fix for NieR deadlock 2025-05-01 16:55:04 +02:00
Lander Gallastegi
359856d770 Fix incorrect assert 2025-05-01 16:55:04 +02:00
Lander Gallastegi
7c26fb3fbd Correct size insteed of end 2025-05-01 16:55:04 +02:00
Lander Gallastegi
e012c6c51e clang-format 2025-05-01 16:55:04 +02:00
Lander Gallastegi
0d9337b1f9 Add IR dumping from my read-const branch 2025-05-01 16:55:04 +02:00
Lander Gallastegi
87b3771285 Removed host buffers (may do it in another PR)
Also some random barrier fixes
2025-05-01 16:55:04 +02:00
Lander Gallastegi
e97c3e9653 Offset in bytes 2025-05-01 16:52:44 +02:00
Lander Gallastegi
4c38a1d429 Clang format once more 2025-05-01 16:52:44 +02:00
Lander Gallastegi
8f997f8d0b No need to check if it is a deleted buffer 2025-05-01 16:52:44 +02:00
Lander Gallastegi
f9e668cc6a Fix stride and patch phi node blocks 2025-05-01 16:52:44 +02:00
Lander Gallastegi
ea4a3563b9 Add testing log 2025-05-01 16:52:44 +02:00
Lander Gallastegi
71c0d7911e Correct decltype 2025-05-01 16:52:44 +02:00
Lander Gallastegi
5bb71458c0 Try to fix macOS build 2025-05-01 16:52:44 +02:00
Lander Gallastegi
20aacec41f clang-format but for real this time 2025-05-01 16:52:44 +02:00
Lander Gallastegi
d89d937501 clang-format 2025-05-01 16:52:44 +02:00
Lander Gallastegi
31df795701 16K pages and stack overflow fix 2025-05-01 16:52:44 +02:00
Lander Gallastegi
68a33cd38c Base impl (pending 16K pages and getbuffersize) 2025-05-01 16:52:44 +02:00
Lander Gallastegi
9356779bb3 Preparations for implementing SPV DMA access 2025-05-01 16:52:44 +02:00
Lander Gallastegi
c077fb97da Base DMA implementation 2025-05-01 16:52:44 +02:00
Lander Gallastegi
94a078207f Buffer syncing, faulted readback adn BDA in Buffer 2025-05-01 16:52:44 +02:00
Lander Gallastegi
83255ee68f Queue coverage 2025-05-01 16:52:44 +02:00
Lander Gallastegi
d5e45fb492 64K pages and fix memory mapping 2025-05-01 16:52:44 +02:00
Lander Gallastegi
52253b45fb Import memory 2025-05-01 16:52:44 +02:00
Stephen Miller
6c39bf229c
libkernel: Various filesystem fixes (#2868)
* Proper handling of whence 3 & 4

* Accurate directory handling in open

Directories can be opened, and can be created in open, these changes should handle that more accurately.

* Mount /app0 as read only

On real hardware, it's read only.

* Proper directory flag handling.

Even when directory is specified, it will still succeed to open non-directories.

* Check for read only directories

* Earlier ro check in posix_rmdir

Hardware tests suggest these checks are in a different order

* Clear temp folder on boot

My tests rely on this, and some games do too.
Two birds with one stone

* Clang

* Add missing DeleteHandle calls

Whoops

* Final flags adjustment in sceKernelOpen

All my current tests are now hardware accurate.

* Fix truncates

Host ftruncate consistently fails on EINVAL, I'll need to test if this issue affected Windows too.

* Windows hacks

Windows is more limiting about how folders are opened and things like that. For now, pretend these calls didn't error.
Also fixes compilation for Windows

* Final touch-ups

After expanding my test suite further, I found a couple more edge cases that needed addressing.
Bloodborne audio is still broken, I'll look into that soon.

* Remove hacky read-only behavior in posix_stat

Bloodborne apparently uses the mode parameter here when querying it's audio files, and the mode we returned led to it disabling audio entirely.

* Clang

* Cleaner code

* Combine fsync and sync flags

According to FreeBSD docs, the "sync" flag is synonymous with the fsync flag, and is only included to meet the POSIX spec.

* Log if any currently unhandled flags are encountered.

These are rare and probably not too important, but log a warning when they're seen.

* Update file_system.cpp

* Update file_system.cpp

* Clang

* Revert truncate fix

Using ftruncate works fine after moving the call to before the proper file opening code.

* Truncate before open

Open the file as read-write, then try truncating.
This fixes read | truncate flag behavior on Windows.

* Slightly adjust check for invalid flags

Any open call with invalid flags should return EINVAL, regardless of other errors parameters might cause.
2025-05-01 14:47:43 +03:00
Mahmoud Adel
b0e4e87ff3
Implement SnormNz conversion (#2841)
* +

* +

* Unpack Snorm 2x16

* +

* SintToSnormNz

* all is broken ig....

* review changes

* my stupid ass messed all while trying to resolve the conflicts..

* +

* +

* fix rebase

* clang-format fix (1)

* clang-format fix (2)

---------

Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
2025-05-01 02:12:15 -07:00
squidbus
4202d9d621 fix: Add missing ctime includes. 2025-04-30 23:37:37 -07:00
squidbus
5fd5b62539
shader_recompiler: Few fixes for buffer number conversions. (#2869)
* liverpool: Pass correct color buffer number type for conversion mapping.

* shader_recompiler: Apply number conversion to vertex inputs.
2025-04-30 20:46:16 -07:00
squidbus
10b24d04bc fix: Add new image atomic instructions to relevant lists. 2025-04-30 17:55:50 -07:00
anna12831920
c47d9b2ad6
Export eboot address (#2866) 2025-04-30 22:56:44 +03:00
squidbus
ede60e8f7f fix: Do not declare atomic float capability when not supported. 2025-04-30 11:43:51 -07:00
Marcin Mikołajczyk
c08f92aca1
Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats (#2820)
* Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats

* Handle missing VK_EXT_shader_atomic_float2
2025-04-30 11:42:08 -07:00
squidbus
a3bbf2274f fix: Mistake in store bounds check index. 2025-04-30 11:39:42 -07:00
georgemoralis
bb59cd81fa
[Libs] sceNet (#2815)
* implemented sceNetGetMacAddress

* added all error codes

* added ORBIS_NET_CTL_INFO_DEVICE , ORBIS_NET_CTL_INFO_MTU

* RE sceNetConnect

* sceNetBind RE

* RE sceNetAccept

* RE sceNetGetpeername ,sceNetGetsockname

* fixup

* RE sceNetListen ,sceNetSetsockopt

* sceNetShutdown,sceNetSocket,sceNetSocketAbort,sceNetSocketClose

* sceSend,sceSendTo,sceSendMsg

* sceNetRecv,sceNetRecvFrom,sceNetRecvMsg RE

* some kernel net calls

* init winsock2

* logging

* sockets interface

* added winsock to SCE* error codes conversion

* implemented net basic calls

* some net calls implementation

* clang fixes

* fixes for linux+macOS

* more fix

* added sys_accept implementation

* more posix net calls

* implemented sys_getsockname

* fixed redirection

* fixed posix socket?

* posix_sendto , recvfrom

* added sys_socketclose

* unsigned error log

* added setsocketoptions

* added more posix net calls

* implement getsocketOptions

* stubbed p2p calls
2025-04-30 17:58:39 +03:00