Commit Graph

2939 Commits

Author SHA1 Message Date
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
georgemoralis
53b2ccffca
New Crowdin updates (#2846)
* New translations en_us.ts (Vietnamese)

* New translations en_us.ts (Vietnamese)

* New translations en_us.ts (Vietnamese)

* New translations en_us.ts (Vietnamese)
2025-04-30 12:41:30 +03:00
Marcin Mikołajczyk
fa9f58446f
Implement sceKernelPwritev (#2865) 2025-04-30 02:09:40 -07:00
squidbus
5e3157a82c
vk_rasterizer: Fix updating wrong color attachment when skipped by mask. (#2859) 2025-04-29 16:29:35 -07:00
lcjh
beb9c86749
Code Review: SuspiciousPriority (#2854)
Priority of the '&&' operation is higher than that of the '||' operation.It's possible that parentheses should be used in the expression.
2025-04-28 11:27:25 -07:00
squidbus
81fa9b7fff
shader_recompiler: Add lowering pass for when 64-bit float is unsupported. (#2858)
* shader_recompiler: Add lowering pass for when 64-bit float is unsupported.

* shader_recompiler: Fix PackDouble2x32/UnpackDouble2x32 type.

* shader_recompiler: Remove extra bit cast implementations.
2025-04-28 00:04:16 -07:00
squidbus
385c5a4507 fix: Add missing OpSelectionMerge in bounds check. 2025-04-27 21:53:36 -07:00
squidbus
59d060bc16 fix: gcc compile 2025-04-27 21:06:10 -07:00
squidbus
83fd0683fa fix: Properly enable depthBounds feature. 2025-04-27 20:57:04 -07:00
squidbus
81ad31ce31
pp_pass: Use correct surface format. (#2860) 2025-04-27 20:56:17 -07:00
MajorP93
ff984d3cde
ci: Use mold linker for Linux builds (#2847)
* The default linker which happens to be BFD in Ubuntu 24.04 does not support Clang's ThinLTO which CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE=ON tries to enable.
* Using mold linker fixes this and reduces build time a bit.
* For consistency reasons we enable mold linker for GCC builds aswell.
2025-04-27 20:34:59 -07:00
squidbus
b505829e16
lower_buffer_format_to_raw: Fix handling of format remapping. (#2857) 2025-04-27 16:52:52 -07:00
Valdis Bogdāns
254375ef0c
Update ime_dialog.h (#2853)
Fix the incorrect ORBIS_IME_DIALOG_MAX_TEXT_LENGTH; a larger value is required for at least the game Undertale
2025-04-27 20:57:20 +03:00
Vinicius Rangel
cef795b80b
devtools: persist fsr configs (#2852)
Saves FSR config to imgui.ini so it won't reset every startup
2025-04-27 13:32:29 -03:00