TheTurtle
bfc845324c
shader_recompiler: Small instruction parsing refactor/bugfixes ( #340 )
...
* translator: Implemtn f32 to f16 convert
* shader_recompiler: Add bit instructions
* shader_recompiler: More data share instructions
* shader_recompiler: Remove exec contexts, fix S_MOV_B64
* shader_recompiler: Split instruction parsing into categories
* shader_recompiler: Better BFS search
* shader_recompiler: Constant propagation pass for cmp_class_f32
* shader_recompiler: Partial readfirstlane implementation
* shader_recompiler: Stub readlane/writelane only for non-compute
* hack: Fix swizzle on RDR
* Will properly fix this when merging this
* clang format
* address_space: Bump user area size to full
* shader_recompiler: V_INTERP_MOV_F32
* Should work the same as spirv will emit flat decoration on demand
* kernel: Add MAP_OP_MAP_FLEXIBLE
* image_view: Attempt to apply storage swizzle on format
* vk_scheduler: Barrier attachments on renderpass end
* clang format
* liverpool: cs state backup
* shader_recompiler: More instructions and formats
* vector_alu: Proper V_MBCNT_U32_B32
* shader_recompiler: Port some dark souls things
* file_system: Implement sceKernelRename
* more formats
* clang format
* resource_tracking_pass: Back to assert
* translate: Tracedata
* kernel: Remove tracy lock
* Solves random crashes in Dark Souls
* code: Review comments
2024-07-30 23:32:40 +02:00
georgemoralis
156e500d21
Merge pull request #343 from Borchev/AddPthreadGetStackSizeThunk
...
Add pthread_attr_getstacksize thunk
2024-07-30 23:36:39 +03:00
Borchev
03560c019e
Fix SearchFree function bug ( #339 )
2024-07-30 22:40:42 +03:00
Borchev
35cb8810cb
Add pthread_attr_getstacksize thunk
2024-07-30 12:37:05 -07:00
georgemoralis
7b8d0d59af
kernel: Implement sceKernelSetVirtualRangeName ( #338 )
...
* Fix in searchFree should fix #337
* clang format fix
* sceKernelSetVirtualRangeName implementation
* improved vaddr conversion
* updated VirtualQuery to include name too
* unmap also removed name thanks @red_prig
* fixed copy...
2024-07-29 19:08:06 +03:00
squidbus
e2bdbeaf80
Add sem_timedwait polyfill for macOS.
2024-07-28 16:42:33 -07:00
Dzmitry Dubrova
c3a2b3531d
Implement some pthread calls ( #332 )
2024-07-28 18:43:44 +03:00
TheTurtle
5363a226e1
Move presentation to separate thread/improve sync ( #303 )
...
* video_out: Move presentation to separate thread
* liverpool: Better sync for CPU flips
* driver: Make flip blocking
* videoout: Proper flip rate and vblank management
* config: Add vblank divider option
* clang format
* videoout: added `sceVideoOutWaitVblank`
* clang format
* vk_scheduler: Silly merge conflict
* externals: Add renderdoc API
* clang format
* reuse
* rdoc: manual capture trigger
* clang fmt
---------
Co-authored-by: psucien <168137814+psucien@users.noreply.github.com>
2024-07-28 15:54:09 +02:00
Vinicius Rangel
40f21d4a79
fix tls patch on windows ( #328 )
...
* fix tls patch on windows
based on TlsGetValue in kernel32.dll
* fix tls patch on windows for expansion slots
2024-07-27 20:16:21 +03:00
TheTurtle
6eefcb2780
semaphore: Yet another race condition fix ( #327 )
2024-07-27 17:18:18 +03:00
raziel1000
abf7cea257
fs: added /download0 mount
...
fs: get rid of double slashes
2024-07-26 08:07:22 -06:00
georgemoralis
0d9273e2fb
added /dev/urandom
2024-07-26 08:50:39 +03:00
georgemoralis
fb0e1ab435
commented sem_timedwait for linux untill @squidbus fix it
2024-07-26 08:16:32 +03:00
georgemoralis
adfb08d660
cleanup memory_management
2024-07-26 08:08:47 +03:00
raziel1000
3d73174659
Applied feedback from @raphaelthegreat
2024-07-26 07:59:35 +03:00
georgemoralis
7fe993f593
some fixup to playgo , makes Worms go further
2024-07-26 07:53:45 +03:00
raziel1000
ee65797c86
- fixed sceAppContentTemporaryDataMount2
2024-07-26 07:53:19 +03:00
raziel1000
a5cea0cb4b
thread_management: some pthread functions
2024-07-26 07:53:18 +03:00
raziel1000
3c05ce04c2
save_data: fix/accuracy for saveDataMem functions
2024-07-26 07:53:18 +03:00
TheTurtle
0c96f2a030
memory: Cleanups and refactors ( #324 )
...
* memory: Various fixes
* Added (Partial) sceKernelBatchMap/sceKernelBatchMap2
* memory: Rename and implement batch unmap
* memory: Remove uneeded assert
* memory: Commonize free search routine
* memory: Contains check is inclusive
* memory: Address some alignment issues
* clang format
---------
Co-authored-by: raziel1000 <ckraziel@gmail.com>
2024-07-25 23:01:12 +03:00
georgemoralis
be0a88fdfa
clang fix
2024-07-25 11:59:39 +03:00
IndecisiveTurtle
237033bc57
address_space: Fix windows placeholder mapping
2024-07-24 22:59:56 +03:00
georgemoralis
d8590ac812
one more memory fix
2024-07-21 23:16:46 +03:00
georgemoralis
18084c0212
memory fix
2024-07-21 23:14:40 +03:00
georgemoralis
8db440573d
Merge pull request #312 from Borchev/main
...
Add sceKernelGetDirectMemoryType, update sceKernelReserveVirtualRange
2024-07-21 22:52:50 +03:00
squidbus
ec9146b7b2
Allocate more system reserved space on macOS and document restrictions.
2024-07-21 22:36:12 +03:00
squidbus
bb7215977f
Support RIP relative memory operands in patched instructions.
2024-07-21 22:36:12 +03:00
squidbus
6783776990
Only use date library on macOS.
2024-07-21 22:36:12 +03:00
squidbus
bfb0eb7711
Make sure only system managed region can be moved on Windows.
2024-07-21 22:36:12 +03:00
squidbus
e820ecc5ba
Only patch BMI1 instructions under Rosetta 2.
2024-07-21 22:36:12 +03:00
squidbus
09727ce9d6
Define tessellation_factors_ring_addr relative to end of system reserved area.
2024-07-21 22:36:12 +03:00
squidbus
d5e45d001e
Reduce system reserved space to 0x700000000 and map fixed on macOS.
2024-07-21 22:36:12 +03:00
squidbus
d07a52df13
Address review comments around memory and patches.
2024-07-21 22:36:12 +03:00
squidbus
bdca446c5e
Make sure system managed memory is in correct location on macOS.
2024-07-21 22:36:12 +03:00
squidbus
6648589ef9
Set minimum macOS target to 11 and fix compile errors.
2024-07-21 22:36:12 +03:00
squidbus
b5d0347c15
Migrate TLS patches to new patching system.
2024-07-21 22:36:12 +03:00
squidbus
d42a32bbd8
Add initial macOS support.
2024-07-21 22:36:12 +03:00
Borchev
b3350ceabb
Fix formatting
2024-07-21 12:35:01 -07:00
Borchev
632cb2ef93
Add sceKernelGetDirectMemoryType and update sceKernelReserveVirtualRange to search for free region when virtual_addr==0
2024-07-21 11:29:24 -07:00
psucien
2b31ab1e71
Surface management rework (1/3) ( #307 )
...
* amdgpu: proper CB and DB sizes calculation; minor refactoring
* texture_cache: separate file for image_info
* texture_cache: image guest address moved into image info
* texture_cache: surface size calculation
* shader_recompiler: fixed sin/cos
Thanks to red_pring and gandalfthewhite0173
* initial preparations for subresources upload
* review comments
2024-07-20 12:51:21 +03:00
georgemoralis
879b8dcfe8
Merge branch 'main' into miscFixes6
2024-07-18 18:18:10 +03:00
Dzmitry Dubrova
788bdf6d2a
kernel: Implement posix_pthread_once ( #297 )
...
* kernel: Implement posix_pthread_once
* Fix clang format
2024-07-17 23:34:22 +03:00
georgemoralis
baf9ee9125
force imedialog to input "shadps4" as name . That way we can pass games that want username . temp solution till imgui dialog prepared
2024-07-17 20:32:14 +03:00
IndecisiveTurtle
1c99ccf6dc
Add comments
2024-07-17 15:52:40 +03:00
IndecisiveTurtle
5ce901d78b
event_queue: Add clear flag to events and don't return error
2024-07-17 14:50:26 +03:00
IndecisiveTurtle
33615d1d32
gnmdriver: Fix incorrect trailing nop insertion in indirect draws
2024-07-17 14:48:30 +03:00
IndecisiveTurtle
b977dc4d8e
fs: Defeat games with double slashes
2024-07-17 14:46:37 +03:00
georgemoralis
d919baa160
Merge pull request #252 from qurious-pixel/patch-1
...
Move "game_data" to RW directory inside user folder for linux
2024-07-16 23:05:29 +03:00
squidbus
378e136ba0
Return EBUSY from sceKernelPollEventFlag instead of ETIMEDOUT.
2024-07-16 04:53:37 -07:00
TheTurtle
83b12859a5
fs: Fix nullptr check in GetFile
2024-07-15 16:52:24 +03:00
TheTurtle
c4c1dfaa62
fs: Use proper append operator
2024-07-15 15:42:35 +03:00
georgemoralis
6202c21106
Merge pull request #293 from shadps4-emu/misc-fixes3
...
Various linux fixes
2024-07-15 15:25:20 +03:00
IndecisiveTurtle
3e8540bb6a
fs: Remove some unnecessary string conversions
2024-07-15 15:14:04 +03:00
IndecisiveTurtle
c2c6aededa
Merge branch 'misc-fixes3' of https://github.com/shadps4-emu/shadPS4 into misc-fixes3
2024-07-15 15:05:29 +03:00
IndecisiveTurtle
f315f74f2d
kernel: Remove linux hack
...
* Breaks many games, only benefits BB. Tbd
2024-07-15 14:51:45 +03:00
IndecisiveTurtle
16a778745d
fs: Fix case of getting the mount itself
2024-07-15 14:50:28 +03:00
georgemoralis
9b3ea720a8
windows std::filesystem fixes
2024-07-15 14:50:23 +03:00
georgemoralis
909fcb5b75
clang format fix
2024-07-15 14:18:28 +03:00
georgemoralis
9a7a508b80
Merge pull request #287 from polybiusproxy/dev
...
gnmdriver: Implement shader functions
2024-07-15 07:47:33 +03:00
jas0n098
defd6cd6c0
Replace deprecated pthread functions ( #290 )
...
pthread_attr_(set,get)stackaddr are deprecated and don't exist anymore on musl libc
2024-07-15 03:55:58 +03:00
IndecisiveTurtle
d4e95f7bd3
clang format
2024-07-15 03:47:10 +03:00
IndecisiveTurtle
a3619919e1
fs: Actually functional linux case insensitive search
2024-07-15 03:37:30 +03:00
IndecisiveTurtle
ff9a42621c
tls: Use gs segment for linux
2024-07-15 01:48:57 +03:00
IndecisiveTurtle
91ca33fe49
event_queues: Use std placeholders
2024-07-15 01:28:08 +03:00
psucien
77d0535f9f
review comments applied
2024-07-14 23:25:41 +02:00
raziel1000
5d79c8d74c
Some functions called by Stardew Valley
2024-07-14 23:23:11 +03:00
georgemoralis
055c84ca49
initial ime dialog handling
2024-07-14 23:23:10 +03:00
georgemoralis
1ca189bdda
replace unreachable with default return in sceKernelClockGettime
2024-07-14 23:23:10 +03:00
raziel1000
3c2dc4deac
- sceSaveDataDirNameSearch wip, needs testing and more work.
2024-07-14 23:23:10 +03:00
psucien
ada0513de0
libraries: gnmdriver: added missing ASC PM4 dump
2024-07-14 18:27:28 +02:00
psucien
1c2a562131
libraries: kernel: added sceKernelGetEventId
2024-07-14 18:20:31 +02:00
Live session user
958b894706
Move game_data to RW directory inside user folder for linux
2024-07-13 16:44:13 -07:00
Daniel R.
90a0180203
clang-format
2024-07-12 11:03:55 +02:00
Daniel R.
28ace24b3f
gnmdriver: Implement shader functions
2024-07-12 11:00:11 +02:00
Daniel R.
3a7d2ef6eb
Fix Linux builds
2024-07-11 15:16:50 +02:00
Daniel R
8a8c1f274b
Misc implementations and fixes. ( #250 )
...
* Implement `sceKernelFtruncate` and `sceKernelUnlink`.
* Remove unused variable.
* Implement `sceKernelReserveVirtualRange`, misc fixes
* Fix `sceKernelReserveVirtualRange`.
* Add TODO on reserve
* Replace comment with assert.
* Add missing copyright header
* Add `UNREACHABLE` for `IOFile::Unlink`.
* Move NT API initialization out of the header
* Fix bug where files were always mapped as read only.
* `clang-format`
2024-07-11 15:35:58 +03:00
Vladislav Mikhalin
6add8bfb96
Filesystem errors and Base Array Layers ( #280 )
...
* Filesystem errors and Base Array Layers
* Fixed build for POSIX
* forgot 1 file
2024-07-11 14:37:21 +03:00
psucien
2ca3b97c7d
fix for large delays precision + Linux build
2024-07-11 13:14:42 +03:00
psucien
9ffe0ea70d
kernel: added HR timers and asio service thread
2024-07-11 13:14:42 +03:00
psucien
6132e03a2c
kernel: equeue: minor refactoring
2024-07-11 13:14:42 +03:00
georgemoralis
13d2d4aefb
forgot to register avplayer module
2024-07-10 19:15:58 +03:00
georgemoralis
a186223d8e
More HLE stuff and fixes ( #273 )
...
* sceKernelOpen truncate is not neccesary
* fixup scePthreadCondSignal
* dummy error , ime dialogs stubbed
* sceErrorDialog implemenation (no ui)
* small fix in sceSaveDataGetEventResult and sceAppContentTemporaryDataMount2.
* ime dialog structs and functions definations
* added stubbed avplayer
* Open folder should be first on context menu
---------
Co-authored-by: raziel1000 <ckraziel@gmail.com>
2024-07-10 19:20:19 +03:00
Vinicius Rangel
1bf8b1e36e
Fix sceAudioOutOpen not handling audio param attributes
...
and returning error incorrectly when some mask is applied
2024-07-08 01:29:58 -03:00
georgemoralis
a67c24a761
Merge pull request #253 from shadps4-emu/graphics/features_and_fixes
...
Graphics: missing features and fixes
2024-07-07 20:42:13 +03:00
psucien
51557590be
gnmdriver: added sceGnmFindResourcesPublic
stub
2024-07-07 13:47:01 +02:00
TheTurtle
020e69dfb4
memory: Set virtual query offset
2024-07-07 01:26:17 +03:00
psucien
2da61fa0b3
gnmdriver, amdgpu: added gpu idle IRQ; submission lock logic improved
2024-07-06 18:03:34 +02:00
georgemoralis
c231695ee8
Merge pull request #239 from shadps4-emu/miscFixes3
...
Misc fixes 3
2024-07-06 11:16:53 +03:00
TheTurtle
60c63da3fd
shader_recompiler: Check usage before enabling capabilities ( #245 )
...
* vk_instance: Better feature check
* shader_recompiler: Make most features optional
* vk_instance: Bump extension vector size
* resource_tracking_pass: Perform BFS for sharp tracking
* The Witness triggered this
2024-07-06 02:42:16 +03:00
georgemoralis
34a6b19636
scePthreadMutexTimedlock added
2024-07-05 15:23:35 +03:00
raziel1000
0b9718c5b3
forgot duplicate.
2024-07-04 21:02:59 -06:00
Younes
dbeaaa4f43
Merge branch 'main' into miscFixes2
2024-07-04 20:51:04 -06:00
TheTurtle
effc52c931
thread_management: Fix windows build
2024-07-05 00:20:55 +03:00
TheTurtle
d9873e30bc
shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store ( #231 )
...
* shader_recompiler: Add LDEXP
* shader_recompiler: Add most image integer atomic ops
* shader_recompiler: Implement shared memory load/store
* shader_recompiler: More image atomics
* externals: Update sirit
* clang format
* cmake: Add missing files
* shader_recompiler: Fix some atomic bugs
* shader_recompiler: Vs outputs
* shader_recompiler: Shared mem has side-effects, fix format component order
* shader_recompiler: Inline constant buffer impl
* video_core: Fix regressions
* Work
* Fixup a few things
2024-07-05 00:15:44 +03:00
georgemoralis
f6b73f9e68
improved sceAppContentAppParamGetInt
2024-07-04 13:49:11 +03:00
georgemoralis
3727a8f00e
improved file not found return in sceKernelOpen
2024-07-04 11:38:23 +03:00
raziel1000
ec750fa156
scePthreadSetprio, scePthreadGetprio
2024-07-04 02:22:43 -06:00
raziel1000
eee0a0cb52
....
2024-07-04 01:57:03 -06:00
raziel1000
9ab33ee759
...
2024-07-04 01:54:50 -06:00
raziel1000
409327ebe6
mr clang format
2024-07-04 01:53:06 -06:00
raziel1000
8abe23712f
- Several SaveData functions. Dysmantle and we are doomed should save and load now.
2024-07-04 01:51:46 -06:00
georgemoralis
606a4e9ff0
fixed linux compile?
2024-07-04 09:38:25 +03:00
georgemoralis
bec2a4be8b
added scePthreadGetthreadid
2024-07-03 20:05:21 +03:00
georgemoralis
8505857628
dummy sceAppContentGetAddcontInfoList and fixed structs
2024-07-03 20:04:56 +03:00
georgemoralis
827260e2fb
Merge pull request #230 from shadps4-emu/stabilization12
...
reduced logging
2024-07-01 23:53:59 +03:00
georgemoralis
8ccd53d7f1
moved elf logging to DebugDump fuction , which can be enabled in config . This reduces main log file a lot
2024-07-01 23:07:57 +03:00
IndecisiveTurtle
b72115bed4
shader_recompiler: More instructions
2024-07-01 22:42:45 +03:00
IndecisiveTurtle
0a900115e8
video_core: Fix some regressions
2024-07-01 18:26:22 +03:00
IndecisiveTurtle
20e9012490
code: Add additional logging during init
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
3a3cb0c0a5
tls: Switch to trace logs
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
69797f4d5d
video_core: Track renderpass scopes properly
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
73c2697ed1
video_core: Fix a few problems
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
383900bdbf
tls: Fix linux crash
2024-07-01 13:56:14 +03:00
georgemoralis
91d553c800
Merge pull request #225 from shadps4-emu/stabilization/10
...
Various fixes and improvements
2024-07-01 13:09:11 +03:00
georgemoralis
21cc9c49fe
Merge pull request #220 from shadps4-emu/stabilization9
...
HLE stuff
2024-07-01 01:18:41 +03:00
georgemoralis
30fe941ae2
eventflag : changed an assert to log as error
2024-07-01 00:51:38 +03:00
georgemoralis
28a48d894f
fixed name style
2024-07-01 00:50:07 +03:00
psucien
5fb6daf583
libraries: gnmdriver: added initialization preamble to every first submit in a frame
2024-06-30 18:22:39 +02:00
georgemoralis
14b39ecab3
added posix error write to errno
2024-06-30 10:40:06 +03:00
georgemoralis
dfed4e8501
added case for savedata (needed by flow)
2024-06-30 10:12:07 +03:00
georgemoralis
029f029c61
added sceKernelDeleteEventFlag
2024-06-30 10:11:44 +03:00
psucien
d7e058ce96
libraries: gnmdriver: sceGnmDrawInitToDefaultContextState
and sceGnmDrawInitToDefaultContextState400
implementation
2024-06-30 01:21:39 +03:00
psucien
dba04e213d
libraries: gnmdriver: fix for incorrect offset in sceGnmDrawInitDefaultHardwareState175
2024-06-30 01:21:39 +03:00
georgemoralis
e557702698
fixed posix_open return code
2024-06-28 23:19:33 +03:00
georgemoralis
98809911c2
sceKernelOpen handle directory doesn't exist case
2024-06-28 23:06:15 +03:00
georgemoralis
163ebd3291
few more sceNet work
2024-06-28 23:00:01 +03:00
georgemoralis
a7bdd721ee
implemented a part of sceNet calls
2024-06-27 18:42:36 +03:00
georgemoralis
ae709d6557
Merge pull request #219 from shadps4-emu/gnmdriver/hw_init
...
Complete HW state init functions
2024-06-27 17:33:58 +03:00
psucien
d69779f291
things prettified
2024-06-27 15:47:18 +02:00
georgemoralis
0845d8f250
Stabilization8 ( #218 )
...
* disable configured flexible memory size (caused issues in some games)
* fixed case S_OR_B64 for blazing chrome
* submodules updates and fixes for latest SDL
* stubbed _sigprocmask (not handled and spams too much)
* added ReplaceOp case in Stencilop
* dummy ajm module added
2024-06-27 16:37:17 +03:00
psucien
0dfb003aca
libraries: gnmdriver: complete HW stat init functions
2024-06-27 13:36:55 +02:00
georgemoralis
1bf2e69c97
clang format fixes
2024-06-26 20:32:08 +03:00
IndecisiveTurtle
c5f2368e52
kernel: Const correctness
2024-06-26 18:24:06 +03:00
IndecisiveTurtle
e705b58db7
kernel: Fix pread and pwrite
2024-06-26 18:09:58 +03:00
IndecisiveTurtle
8a1f9d1dd4
linker: More null check
2024-06-26 18:05:31 +03:00
IndecisiveTurtle
674db5e4d2
kernel: Rework semaphore implementation
2024-06-26 17:57:18 +03:00
IndecisiveTurtle
f489ecde86
kernel: Cleanup filesystem code
2024-06-26 17:54:36 +03:00
psucien
681ce9a1ff
Merge pull request #215 from shadps4-emu/miscFixAgain
...
Misc fixes (mostly LLE)
2024-06-26 14:15:07 +02:00
georgemoralis
dd0638572f
missed from previous commit
2024-06-26 14:57:18 +03:00
georgemoralis
ffa6c7e2fd
added sceKernelGetFsSandboxRandomWord and dummy posix_connect
2024-06-26 14:56:41 +03:00
georgemoralis
1c5b77503c
sceAudioOutGetPortState added
2024-06-26 14:48:32 +03:00
georgemoralis
d7bbfbd629
load existing lle modules from sys_module folder
2024-06-26 14:43:01 +03:00
Alexandre Bouvier
aae827786d
fix system include paths
2024-06-25 18:17:16 +02:00
georgemoralis
f880e701d4
Merge pull request #213 from shadps4-emu/hle/trophies
...
A better stub for trophies
2024-06-25 18:38:35 +03:00
psucien
b77224435a
fix for Linux build
2024-06-25 17:14:12 +02:00
georgemoralis
a58bd0fe19
Merge pull request #214 from shadps4-emu/miscFixes
...
Misc fixes
2024-06-25 17:55:57 +03:00
psucien
71f66bb94b
kernel: thread_management: silence compilation warning
2024-06-25 09:56:19 +02:00
psucien
523f1e1b15
libraries: trophy: a better stubs implementation
2024-06-25 09:43:26 +02:00
psucien
7ad9d4a0d3
common: Common
namespace for the slot vector container
2024-06-25 09:31:32 +02:00
psucien
117f859021
libraries: gnm_driver: added sceGnmDrawIndexIndirect
and sceGnmDrawIndirect
2024-06-24 22:53:59 +02:00