Commit graph

62 commits

Author SHA1 Message Date
psucien
7fcb758da2 timer_management: sceKernelUsleep on <1ms delays 2024-06-10 23:48:06 +02:00
TheTurtle
8ce58389ad
kernel: Implement gettimeofday + other misc fixes (#187)
* kernel: Add gettimeofday

* kernel: Move sceKernelReleaseDirectMemory where it belongs

* savedata: Stub sceSaveDataDialogUpdateStatus to return finished

* memory: Add lock to VirtualQuery and remove debug print

* clang format

* fixed linux build?

* special case for sceKernelWrite (stdin,stdout,stderr)

* special case for case savedata mount

* reduced mutex spamming

* added missing default rwlock attributes init

* kernel: Add more sleep functions

* file_system: Add some functions

* memory: Missed adding some functions

* kernel: Moved some functions to time

* kernel: Fix build error

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-10 22:59:12 +03:00
georgemoralis
6f8d99fbf2 fixed posix_stat error return 2024-06-10 18:09:22 +03:00
georgemoralis
3318f12639 fixed possible nullptr crash on rwlock create 2024-06-10 18:01:50 +03:00
raphaelthegreat
fc887bf3f5 core: Rework memory manager 2024-06-10 02:13:44 +03:00
georgemoralis
1a66fa098f
Merge pull request #174 from shadps4-emu/kernel_stuff
- sceKernelOpen: added rdwr and append modes
2024-06-09 08:26:03 +03:00
raziel1000
a790c30c28 added sceKernelSleep and small fix on usleep 2024-06-08 18:43:08 -06:00
georgemoralis
908eaa102d clang format fix 2024-06-09 00:26:12 +03:00
georgemoralis
84dca0a5dd added sceKernelTriggerUserEvent,sceKernelDeleteUserEvent 2024-06-09 00:23:58 +03:00
georgemoralis
2e6c28c34c partial sceKernelFStat 2024-06-08 23:53:38 +03:00
georgemoralis
5be6777220 added sceKernelPread 2024-06-08 23:25:20 +03:00
raziel1000
d3adcf2e6c posix_pthread_mutex_trylock
posix_pthread_attr_setdetachstate
posix_pthread_attr_destroy
posix_pthread_create_name_np
posix_pthread_join
2024-06-08 11:13:02 -06:00
georgemoralis
c16275fe16 posix_usleep,posix_pthread_equal 2024-06-08 20:01:28 +03:00
georgemoralis
05e4a4b4e1 hackish random/urandom support 2024-06-08 10:22:28 +03:00
georgemoralis
8115665a90 fixed sceKernelClose when decriptor is negative value 2024-06-08 09:56:57 +03:00
raziel1000
3b34aebe06 - sceKernelOpen: added rdwr and append modes
- saveDataMount: added mount mode 9, 28 and 34
- pthread: added a bunch of needed functions
- mem: added sceKernelMapNamedDirectMemory
2024-06-08 00:23:55 -06:00
georgemoralis
5d24a961cb
RWLocks implementation (#171)
* added dummy rwlock

* implemented part of rwlock functions (WIP)

* implemented the most important functions for rwlocks
2024-06-07 21:30:26 +03:00
TheTurtle
998d046210
video_core: Add depth buffer support and fix some bugs (#172)
* memory: Avoid crash when alignment is zero

* Also remove unused file

* shader_recompiler: Add more instructions

* Also fix some minor issues with a few existing instructions

* control_flow: Don't emit discard for null exports

* renderer_vulkan: Add depth buffer support

* liverpool: Fix wrong color buffer number type and viewport zscale

* Also add some more formats
2024-06-07 16:26:43 +03:00
raphaelthegreat
705d326a6d kernel: Fix stack corruption from OrbisTimesec 2024-06-05 22:27:28 +03:00
TheTurtle
728249f58d
core: Properly implement TLS (#164)
* core: Split module code from linker

* linker: Properly implement thread local storage

* kernel: Fix a few memory functions

* kernel: Implement module loading

* Now it's easy to do anyway with new module rework
2024-06-05 22:08:18 +03:00
psucien
f624f7749c
Fixes and QoL (#159)
* to ensure that we're not unlocking submits too early

* a final touch

* video_core: texture_cache: fix for page table corruption

* core: linker: a name for the game main thread

* libraries: gnmdriver: an option to dump application command lists

* libraries: kernel: named guest threads

* video_core: added a heuristic for determination of CB/DB surface extents

* fix for rebase leftover
2024-06-01 23:50:03 +03:00
georgemoralis
3320156a27 fixed a case in sceKernelCreateEventFlag (found in Super Meat boy) 2024-05-30 20:16:16 +03:00
georgemoralis
4749782a68 scePthreadCondTimedwait needed for Hyper Light Drifter 2024-05-30 19:14:06 +03:00
raphaelthegreat
dd91456b48 video_core: Moar shader instruction 2024-05-30 18:17:54 +03:00
raphaelthegreat
58de7ff55a video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
georgemoralis
d30703b4eb improvements in definations 2024-05-28 18:24:42 +03:00
georgemoralis
4d5e9d1da4 set,poll event flag 2024-05-28 15:13:56 +03:00
georgemoralis
1dfa91b638 event flag implementation from previous pr 2024-05-28 14:29:53 +03:00
raphaelthegreat
d59b102b6f video_core: Add image support 2024-05-27 18:25:45 +03:00
TheTurtle
8dfa5782b2
video_core: Add constant buffer support (#147) 2024-05-26 15:51:35 +03:00
georgemoralis
0b8baedab7 improved sceKernelWaitEqueue 2024-05-18 10:02:40 +03:00
georgemoralis
67c1772771 added _read in libkernel 2024-05-18 09:51:47 +03:00
georgemoralis
42fb9f6473 fixed sceKernelGetCompiledSdkVersion thanks raziel1000 2024-05-18 09:51:47 +03:00
georgemoralis
4b5e2e80fc added sceKernelGetCompiledSdkVersion (which return games system version ) 2024-05-18 09:51:46 +03:00
georgemoralis
cc98b11860 clang format 2024-05-18 09:51:46 +03:00
georgemoralis
43773d12d9 added scePthreadEqual 2024-05-18 09:51:46 +03:00
psucien
45e73d324a kernel: event queue improvements 2024-05-17 23:32:15 +02:00
psucien
9ad7495661 kernel: user event and data functions 2024-05-17 23:29:10 +02:00
TheTurtle
55855b4195
core: Implement new memory manager (#133)
* core: Implement new memory manager

* ci: Attempt to fix linux build

* code: Fix a few build errors
2024-05-16 15:55:50 +03:00
georgemoralis
266fa57c43 clang format fix 2024-05-15 13:10:51 +03:00
georgemoralis
932f0435e8 scePthreadCondSignal added 2024-05-13 22:53:50 +03:00
georgemoralis
413b67f8ce scePthreadMutexTrylock and some more libcinternal functions 2024-05-13 20:09:32 +03:00
georgemoralis
99e4301dcc pthread_self , scePthreadCondSignal , scePthreadCondWait ,scePthreadCondattrDestroy 2024-05-13 15:08:15 +03:00
georgemoralis
84de60a29a scePthreadDetach , scePthreadAttrSetstacksize , clock_gettime 2024-05-13 14:04:25 +03:00
georgemoralis
d0d84221fd possible fix for linux(?) 2024-05-12 19:36:40 +03:00
georgemoralis
64cabdadf2 sceKernelConvertUtcToLocaltime implemented 2024-05-12 19:03:51 +03:00
georgemoralis
2038d179fe Merge remote-tracking branch 'origin/main' into kernel_stuff 2024-05-11 10:20:32 +03:00
psucien
d804a66aa2 review comments applied 2024-05-11 00:04:04 +02:00
psucien
59e7bbdec4 kernel: sceKernelDeleteEqueue added 2024-05-10 22:04:41 +02:00
georgemoralis
b00b849d3f use winpthreads from mingw64 2024-05-09 23:45:09 +03:00