Commit graph

289 commits

Author SHA1 Message Date
georgemoralis 53fc8dec8c really fixed typo 2024-06-11 22:41:35 +03:00
georgemoralis 81e4000432 fix typo 2024-06-11 19:36:17 +03:00
georgemoralis 0217e43fb9 added libScePosix nanosleep 2024-06-11 16:42:15 +03:00
psucien ce62ae31e5 tracy: basic markup and project palette 2024-06-11 12:14:33 +02:00
georgemoralis fbca6f3302 Merge pull request #190 from shadps4-emu/stabilization_three
Stabilization three
2024-06-11 07:25:55 +03:00
raziel1000 7ba9ad6cca - Added trophy decryption when extracting a fpkg. trp icons and xmls are dumped to game_data/<title> (can be restored if deleted by accident by opening the trophy viewer)
- Added a trophy viewer (right click on game ==> trophy viewer)
- Enabled Run button.
- Switched gui settings to toml.
- Added recent files (6 max)
- Applied @raphaelthegreat suggestions and corrections (Thanks a lot).
- Fixed several bugs and crashes.
- Full screen should disabled by default.
- Added region in list mode.
- Added a simple temp elf list widget.
- Added messages when extracting pkg (ex: installing a patch before the game...etc)
2024-06-10 20:42:21 -06:00
psucien 1dd9f7a99e timer_management: sceKernelUsleep on <1ms delays 2024-06-10 23:48:06 +02:00
TheTurtle 752995e209 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 f3a88e100a fixed posix_stat error return 2024-06-10 18:09:22 +03:00
georgemoralis e4e9383779 fixed possible nullptr crash on rwlock create 2024-06-10 18:01:50 +03:00
raphaelthegreat d151558b0f Fix linux build 2024-06-10 12:13:24 +03:00
raphaelthegreat 5f97816fd7 core: Rework memory manager 2024-06-10 02:13:44 +03:00
georgemoralis 953f9de448 Merge pull request #174 from shadps4-emu/kernel_stuff
- sceKernelOpen: added rdwr and append modes
2024-06-09 08:26:03 +03:00
raziel1000 6e4c970c5a added sceKernelSleep and small fix on usleep 2024-06-08 18:43:08 -06:00
georgemoralis 191d2d0b91 Merge pull request #175 from shadps4-emu/missing_gnm_calls
Additional GnmDriver functions
2024-06-09 00:58:45 +03:00
psucien 80be54140a gnmdriver: sceGnmDrawInitDefaultHardwareState175 added 2024-06-08 23:42:09 +02:00
georgemoralis e4c3825e31 clang format fix 2024-06-09 00:26:12 +03:00
georgemoralis 337a0ee728 added sceKernelTriggerUserEvent,sceKernelDeleteUserEvent 2024-06-09 00:23:58 +03:00
georgemoralis 9acc5460c4 partial sceKernelFStat 2024-06-08 23:53:38 +03:00
georgemoralis 91343f3cf5 added sceKernelPread 2024-06-08 23:25:20 +03:00
georgemoralis 50186055d3 added rtc and disc_map modules 2024-06-08 22:41:25 +03:00
raziel1000 2474d1ec43 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 e868993138 posix_usleep,posix_pthread_equal 2024-06-08 20:01:28 +03:00
raphaelthegreat e8cb8003b8 address_space: Don't reserve space again 2024-06-08 19:10:32 +03:00
georgemoralis f7a5e883f7 hackish random/urandom support 2024-06-08 10:22:28 +03:00
georgemoralis 072540a40d fixed sceKernelClose when decriptor is negative value 2024-06-08 09:56:57 +03:00
raziel1000 10b8e9a3bf - 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
psucien 92bf7b35d4 libs: gnmdriver: get tessellation ring factor address 2024-06-08 01:19:52 +02:00
psucien 99e885bc9f libs: gnmdriver: map compute queue 2024-06-08 01:19:52 +02:00
georgemoralis c09c2da147 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 718ade970f 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 433bdf9aaa kernel: Fix stack corruption from OrbisTimesec 2024-06-05 22:27:28 +03:00
TheTurtle 4779381eec 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 d43ee1051c fix for name of the first dumped cmdb 2024-06-02 18:59:41 +02:00
psucien 09bacf155e 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 088971f5b9 added app_content module 2024-05-31 15:03:05 +03:00
georgemoralis 91d888d4cd fixed a case in sceKernelCreateEventFlag (found in Super Meat boy) 2024-05-30 20:16:16 +03:00
georgemoralis 1b9bafa57e added sceSaveDataMount needed for Cursed Castilla 2024-05-30 19:14:06 +03:00
georgemoralis 924d5ce64b scePthreadCondTimedwait needed for Hyper Light Drifter 2024-05-30 19:14:06 +03:00
georgemoralis 632007a3c7 fixed sonic mania savedata 2024-05-30 19:14:06 +03:00
raphaelthegreat e637f52076 video_core: Moar shader instruction 2024-05-30 18:17:54 +03:00
raphaelthegreat 99d20d4119 video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
psucien 4e58f3d6d4 clang fmt 2024-05-29 20:31:34 +02:00
psucien 8229f4a76b videoout, platform: fix for ooo irqs 2024-05-29 16:02:51 +02:00
psucien 4de443dd92 libraries: libc: fix for FSin implementation 2024-05-29 16:02:49 +02:00
georgemoralis 55a73279cf improvements in definations 2024-05-28 18:24:42 +03:00
georgemoralis 26c862c746 set,poll event flag 2024-05-28 15:13:56 +03:00
georgemoralis b8ced0db35 event flag implementation from previous pr 2024-05-28 14:29:53 +03:00
raphaelthegreat 05c4542301 video_core: Address some feedback 2024-05-27 22:13:55 +03:00
raphaelthegreat 8bd9bf1a7d video_core: Add image support 2024-05-27 18:25:45 +03:00
georgemoralis f850679b6e Merge pull request #146 from shadps4-emu/video_out/new_gpu_frontend
video_core: initial support for CE and ASC queues
2024-05-27 13:50:25 +03:00
TheTurtle 22b7ae4b63 video_core: Add constant buffer support (#147) 2024-05-26 15:51:35 +03:00
psucien b3c26564cd video_core: initial support for CE and ASC queues 2024-05-26 12:39:30 +02:00
TheTurtle 0aa04c60cb video_core: Bringup some basic functionality (#145)
* video_core: Remove hack in rasterizer

* The hack was to skip the first draw as the display buffer had not been created yet and the texture cache couldn't create one itself. With this patch it now can, using the color buffer parameters from registers

* shader_recompiler: Implement attribute loads/stores

* video_core: Add basic vertex, index buffer handling and pipeline caching

* externals: Make xxhash lowercase
2024-05-25 15:33:15 +03:00
psucien 3f6de86eb6 video_core: a fix for multi submits processing (temporary code) 2024-05-22 22:20:33 +02:00
psucien 74f92d0dae platform: restored use of magic_enum 2024-05-22 20:20:13 +02:00
georgemoralis 42b31266de fixed a few compiler issues 2024-05-22 14:18:05 +03:00
TheTurtle 4380066a90 video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
georgemoralis 5f4ccba7c1 improved sceKernelWaitEqueue 2024-05-18 10:02:40 +03:00
georgemoralis e7e7112687 added _read in libkernel 2024-05-18 09:51:47 +03:00
georgemoralis 3d215a9911 fixed sceKernelGetCompiledSdkVersion thanks raziel1000 2024-05-18 09:51:47 +03:00
georgemoralis baa45d7e17 added sceKernelGetCompiledSdkVersion (which return games system version ) 2024-05-18 09:51:46 +03:00
georgemoralis 721916dffb clang format 2024-05-18 09:51:46 +03:00
georgemoralis f6e0cab1f0 added scePthreadEqual 2024-05-18 09:51:46 +03:00
psucien d8e53fbb13 kernel: event queue improvements 2024-05-17 23:32:15 +02:00
psucien c462afdd02 video_out: added vblank event 2024-05-17 23:31:55 +02:00
psucien 8c95a2ba75 gnmdriver: submission lock moved out from gpu 2024-05-17 23:31:19 +02:00
psucien 6a50d6e650 platform: multiple persistent irq handlers 2024-05-17 23:30:34 +02:00
psucien 276689cc87 kernel: user event and data functions 2024-05-17 23:29:10 +02:00
psucien 851bd00251 a fair multi-submissions support 2024-05-17 08:47:38 +02:00
psucien b1eaec2ea1 amdgpu: added support for several single GFX submits per frame 2024-05-17 00:01:47 +02:00
psucien cd077362c3 review comments 2024-05-16 16:59:04 +03:00
psucien 73822cec36 stb image moved to externals 2024-05-16 16:59:04 +03:00
georgemoralis 521fc0401f show title splash while the game is loading 2024-05-16 16:58:14 +03:00
TheTurtle 94caa0336e 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 d252680fa8 Merge pull request #131 from shadps4-emu/ngs2_work
Trying for ngs2 lle
2024-05-15 15:34:26 +03:00
georgemoralis 7ff3324719 clang format fix 2024-05-15 13:10:51 +03:00
georgemoralis b9d68c55b2 even more linux fixes 2024-05-15 13:09:05 +03:00
georgemoralis 17e2e028c0 fixing linux compile 2024-05-15 12:57:58 +03:00
psucien 1857828b50 graphics: separate IRQ for GPU driven flips 2024-05-14 21:33:20 +02:00
georgemoralis 1b0604a477 scePthreadCondSignal added 2024-05-13 22:53:50 +03:00
georgemoralis 463aef35a9 scePthreadMutexTrylock and some more libcinternal functions 2024-05-13 20:09:32 +03:00
georgemoralis 9ea9a9efec Initial LibcInternal 2024-05-13 16:13:33 +03:00
georgemoralis 9ee7cf81a5 pthread_self , scePthreadCondSignal , scePthreadCondWait ,scePthreadCondattrDestroy 2024-05-13 15:08:15 +03:00
georgemoralis c617eb3df6 scePthreadDetach , scePthreadAttrSetstacksize , clock_gettime 2024-05-13 14:04:25 +03:00
georgemoralis ce117e3a0c possible fix for linux(?) 2024-05-12 19:36:40 +03:00
georgemoralis e0e5f3ee70 reuse fix 2024-05-12 19:08:26 +03:00
georgemoralis c91fb76b57 sceKernelConvertUtcToLocaltime implemented 2024-05-12 19:03:51 +03:00
georgemoralis 28f3d75dd2 updated aerolib 2024-05-12 17:51:20 +03:00
georgemoralis 9594bfa85a Merge remote-tracking branch 'origin/main' into kernel_stuff 2024-05-11 10:20:32 +03:00
psucien 8edce87dac review comments applied 2024-05-11 00:04:04 +02:00
psucien 7e505afb58 gnm_driver: fixed a typo and fields initialization 2024-05-10 22:58:53 +02:00
psucien 9db9fffbd5 kernel: sceKernelDeleteEqueue added 2024-05-10 22:04:41 +02:00
psucien 8bb89aa746 core: gpu interrupt dispatcher 2024-05-10 21:48:01 +02:00
psucien 758d695e31 amdgpu: wait_reg_mem and write_data implementation
Command list parsing is temporary moved to async task
2024-05-09 22:59:35 +02:00
georgemoralis e55fbee0aa use winpthreads from mingw64 2024-05-09 23:45:09 +03:00
psucien 8897e647b9 amdgpu: EOP irq and dummy PM4 handlers 2024-05-08 23:27:56 +02:00
psucien 717b00d63b gnm_driver: sceGnmSubmitAndFlipCommandBuffers implementation 2024-05-08 22:55:39 +02:00
psucien e6896060e7 video_out: sceVideoOutSubmitEopFlip stub added 2024-05-08 22:54:34 +02:00
psucien f0ac475ffd gnm_driver: various fixes 2024-05-08 22:53:55 +02:00