Commit graph

1099 commits

Author SHA1 Message Date
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 028e28e231 shader_recompiler: Apply buffer swizzle on vertex attribs 2024-07-01 13:56:14 +03:00
IndecisiveTurtle 1fba40369d renderer_vulkan: Prefer depth stencil read-only layout when possible
* Persona reads a depth attachment while it is being attached with writes disabled. Now this works without spamming vk validation errors
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
IndecisiveTurtle c214014a81 image: Fix image type of 1D Array 2024-07-01 13:56:14 +03:00
IndecisiveTurtle 333e5ab85f spirv: Add fragdepth and implement image query 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
psucien b920daa017 texture_cache: force storage usage bit to all images 2024-07-01 09:58:52 +02: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
psucien f3cd92bd5e texture_cache: detiler: added missing micro8x2 2024-06-30 15:54:59 +02:00
georgemoralis 14b39ecab3 added posix error write to errno 2024-06-30 10:40:06 +03:00
georgemoralis 5777928779 libSceJpegEnc,libSceJson2 can be loaded LLE 2024-06-30 10:12:36 +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 355fe18ecd renderer_vulkan: more formats conversion 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
psucien 6adcd905b6 shader_recompiler: a simple bfs in image arg producer search 2024-06-30 01:21:39 +03:00
psucien 5c4d807033 amdgpu: fix for wrong constant ram offset in WriteConstRam decoding 2024-06-30 01:21:39 +03:00
psucien 33939eb470 Metadata support (#223)
* texture_cache: more image usage flags

* texture_cache: metadata registration

* renderer_vulkan: initial CMask support

* renderer_vulkan: skip redundant FCE and FMask decompression passes

* renderer_vulkan: redundant VO surface registration removed

* renderer_vulkan: initial HTile support

* renderer_vulkan: added support for MSAA attachments

* renderer_vulkan: skip unnecessary metadata updates
2024-06-29 16:49:59 +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 40f16aadd4 liverpool: Fix assert for compute queues 2024-06-26 20:00:09 +03:00
IndecisiveTurtle c5f2368e52 kernel: Const correctness 2024-06-26 18:24:06 +03:00
IndecisiveTurtle 4595a4cfb2 translator: Merge ANDN2 with AND and impl ORN2 2024-06-26 18:16:01 +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 ee50cbdcb6 shader_recompiler: More instructions and fix for swords of ditto 2024-06-26 18:03:09 +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 84f4489573 common: slot_vector: added is_allocated to check if the slot already exists 2024-06-25 09:43:25 +02:00
psucien 7ad9d4a0d3 common: Common namespace for the slot vector container 2024-06-25 09:31:32 +02:00
georgemoralis bff4a7f464 Merge pull request #208 from Xphalnos/main
Adding Quickstart
2024-06-25 09:42:14 +03:00
psucien 117f859021 libraries: gnm_driver: added sceGnmDrawIndexIndirect and sceGnmDrawIndirect 2024-06-24 22:53:59 +02:00
psucien 25ab44d64e libraries: gnm_driver: added sceGnmSetEmbeddedPsShader 2024-06-24 14:51:17 +02:00
georgemoralis 8b7dff7141 re-fix 2024-06-24 13:46:45 +03:00
georgemoralis 3a9734a551 insure we reset padData 2024-06-24 13:41:18 +03:00
georgemoralis 1d0262da24 missing touchpad reset in scePadReadState 2024-06-24 13:26:18 +03:00
georgemoralis 9a129480a0 added sceKernelPwrite 2024-06-24 13:25:50 +03:00
Xphalnos a0d4b03346 Screenshots fix 2024-06-23 09:04:16 +02:00
psucien e6e3aa0080 Initial instancing and asynchronous compute queues (#207)
* gnm_driver: added `sceGnmRegisterOwner` and `sceGnmRegisterResource`

* video_out: `sceVideoOutGetDeviceCapabilityInfo` for sdk runtime

* gnm_driver: correct vqid index range

* amdgpu: indirect buffer, release mem and some additional irq modes

* amdgpu: added ASC commands processor

* shader_recompiler: added support for fetch instance id

* amdgpu: classic bitfields for T# representation (debugging experience)

* renderer_vulkan: skip zero sized VBs from binding

* texture_cache: image upload logic moved into `Image` object

* gnm_driver: `sceGnmDingDong` implementation

* texture_cache: `Image` usage flags moved; correct VO buffer pitch
2024-06-22 19:50:20 +03:00
georgemoralis 7b4964dadd more clang format fix (final) 2024-06-22 18:17:40 +03:00
georgemoralis 1eb182dca7 more clang fix 2024-06-22 18:15:42 +03:00
georgemoralis 1c5b3a8d1a clang fix 2024-06-22 18:12:04 +03:00
IndecisiveTurtle f830b08b3f linker: Set rela bits for all symbol types 2024-06-22 18:09:04 +03:00
IndecisiveTurtle ca6bf44589 kernel: Add noreturn 2024-06-22 18:09:04 +03:00
IndecisiveTurtle fc1d1e6f73 shader_recompiler: Even more instructions 2024-06-22 18:09:04 +03:00
IndecisiveTurtle 9844aaaec2 kernel: Add scePthreadExit 2024-06-22 18:09:04 +03:00
IndecisiveTurtle e325574909 linker: Fix TLS for dynamic modules
* Technically not fully accurate but it works. TlsGetAddr should handle dynamic allocation of TLS blocks
2024-06-22 18:09:04 +03:00
IndecisiveTurtle 28f2de3e41 kernel: Implement some functions 2024-06-22 18:09:03 +03:00
IndecisiveTurtle b6fbf02849 kernel: Make sceKernelUsleep interruptible 2024-06-22 18:09:03 +03:00
IndecisiveTurtle 49834a0cd2 shader_recompiler: Add more instructions 2024-06-22 18:09:03 +03:00
georgemoralis 08d31edb45 added missing buttons and analog buttons to keyboard 2024-06-21 14:37:49 +03:00
georgemoralis c8a736c7c6 fixed stupid directory iterator issue 2024-06-20 22:29:08 +03:00
georgemoralis e09392291a better dirents 2024-06-20 21:13:17 +03:00
georgemoralis f170c61229 initial dents support 2024-06-20 18:09:40 +03:00
georgemoralis d81ef0dd9f posix_pthread_yield , scePadGetHandle 2024-06-20 17:10:14 +03:00
georgemoralis 89af3f0845 analog sticks works better now 2024-06-17 14:33:03 +03:00
georgemoralis e91ea8a0e5 analog support via keyboard 2024-06-17 13:42:39 +03:00
georgemoralis ba1f459a23 partially added analog controls 2024-06-17 12:52:25 +03:00
georgemoralis 78204fce27 fixes to the old pad code 2024-06-17 09:02:06 +03:00
georgemoralis 7ebe9380e2 clang fix 2024-06-17 09:02:06 +03:00
georgemoralis 1e00fa5664 new pad module structured using modulegenerator , added common pad structures and function signatures 2024-06-17 09:02:06 +03:00
psucien 42353fd939 final touch: assert instead of log crit to crash earlier 2024-06-17 00:42:26 +02:00
psucien e09b04c492 shader_recompiler: list all missing instructions during translation pass 2024-06-16 23:45:39 +02:00
psucien 5928d74b2e shader_recompiler: added V_TRUNC VOP1/3 (496) 2024-06-16 23:39:45 +02:00
psucien 079073d4c5 shader_recompiler: pretty print for missing shader instructions 2024-06-16 23:11:36 +02:00
psucien 2a87be7c00 texture_cache: return back image view usage override 2024-06-16 22:30:18 +02:00
psucien c53e86248f renderer_vulkan: simplified sRGB hack 2024-06-16 22:29:23 +02:00
psucien 24ca6a26b4 renderer_vulkan: BC3 formats conversion 2024-06-16 22:29:04 +02:00
psucien 6c534ffa11 shader_recompiler: added V_MAX VOP2 (431, 433) 2024-06-16 21:34:23 +02:00
psucien 78752b008a shader_recompiler: correct format for SSBO store op 2024-06-16 21:21:19 +02:00
psucien 61c9e70781 renderer_vulkan: added log entry for CS compiling 2024-06-16 20:51:35 +02:00
psucien 9f605c9bbd shader_recompiler: added MUL_HI VOP2 (896) 2024-06-16 20:39:53 +02:00
psucien 1fb06835b9 shader_recompiler: added SOPK MOVK (45) 2024-06-16 20:26:24 +02:00
raziel1000 6516a3a12e Missing sceKernelUuidCreate nid 2024-06-15 17:01:20 -06:00
TheTurtle c725e18f01 core: Address a few more regressions (#202)
* tls: Actaully fix TLS on linux

* emulator: Remove nptoolkit

* Not quite supported yet, makes games misbehave

* kernel: Back to SCHED_OTHER

* kernel: Remove unused signal function

* address_space: Fix Unmap call on linux

* clang format
2024-06-16 01:50:07 +03:00
psucien 72948f379f video_out: proper sRGB output workflow 2024-06-15 23:24:34 +02:00
psucien 200fe2f31c video_core: added support for alternate CB channels order 2024-06-15 23:24:33 +02:00
psucien 44cdbdbf90 renderer_vulkan: sRGB swapchain 2024-06-15 23:24:33 +02:00
psucien e5c27356f2 videoout: register buffers in texture cache at VO creation time 2024-06-15 23:24:33 +02:00
psucien 06f45310b2 texture_cache: don't set color attachment usage flag for packed images 2024-06-15 23:24:33 +02:00
psucien 42af4aab41 video_core: shaders hash switched to one from binary header 2024-06-15 23:24:32 +02:00
psucien 92c3a794be renderer_vulkan: static vector for vertex buffers ranges 2024-06-15 23:20:14 +02:00
psucien 95e3bd049c tracy: added PthreadMutex markup 2024-06-15 23:20:14 +02:00
psucien b8c57ddcf8 gnmdriver: fix for pm4 dump name in some erroneous cases 2024-06-15 23:20:14 +02:00
psucien 4b3acb7ccb renderer_vulkan: fixed buffers alignments 2024-06-15 23:20:13 +02:00
psucien 8429fa1c0e libraries: fix for Windows crash during LLE libc initialization 2024-06-15 20:04:36 +02:00
Younes 825657ced1 - sceKernelUuidCreate, sceAppContentAppParamGetInt, sceAppContentTemporaryDataMount2 (#199)
- PlayGo
- stub libusbd
-added /temp0 and /data mounts at emu start.
(Ghost Files: Memory of a Crime, Abyss: The Wraiths of Eden)
- some posix functions
2024-06-15 17:51:51 +03:00
TheTurtle 556d88ecb4 core: Many things (#194)
* video_core: Add a few missed things

* libkernel: More proper memory mapped files

* memory: Fix tessellation buffer mapping

* Cuphead work

* sceKernelPollSema fix

* clang format

* fixed ngs2 lle loading and rtc lib

* draft pthreads keys implementation

* fixed return codes

* return error code if sceKernelLoadStartModule module is invalid

* re-enabled system modules and disable debug in libs.h

* Improve linux support

* fix windows build

* kernel: Rework keys

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-15 14:36:07 +03:00
raziel1000 0fce689830 Added LibPngDec
(tested with Metal Slug 3, Risk of Rain, Deadbolt and Nidhogg)
2024-06-14 01:37:26 -06:00
TheTurtle 1e5fed2e8a core: Fixup linux support (#195)
* tls: Implement for linux

* core: Implement memory manager for linux
2024-06-14 00:58:57 +03:00
georgemoralis 732bd3c69b Merge pull request #184 from shadps4-emu/externals/tracy
Tracy profiler
2024-06-12 17:19:44 +03:00
psucien dca807f132 tracy: guards for missing vk profiler context 2024-06-11 22:57:37 +02:00
georgemoralis e749836126 fixed windows qt build 2024-06-11 23:26:13 +03:00
psucien 65a7155cd5 tracy: added Vulkan GPU profiling 2024-06-11 21:52:48 +02:00
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
psucien 7ab17176d0 Added Tracy profiler 2024-06-11 11:17:46 +02:00
georgemoralis fbca6f3302 Merge pull request #190 from shadps4-emu/stabilization_three
Stabilization three
2024-06-11 07:25:55 +03:00
raziel1000 ecabb2ba04 clang format 2024-06-10 20:44:16 -06: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 b110523d90 recompiler: trivial missing ops (VALU OR and SALU LE, GE) added 2024-06-10 23:49:23 +02:00
psucien 1dd9f7a99e timer_management: sceKernelUsleep on <1ms delays 2024-06-10 23:48:06 +02:00
psucien fa198e228d renderer_vulkan: another fix for vertex buffer offsets 2024-06-10 23:20:32 +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
TheTurtle 769eb6a9ee video_core: Preliminary storage image support and more (#188)
* vk_rasterizer: Clear depth buffer when DB_RENDER_CONTROL says so

* video_core: Preliminary storage image support, more opcodes

* renderer_vulkan: a fix for vertex buffers merging

* renderer_vulkan: a heuristic for blend override when alpha out is masked

---------

Co-authored-by: psucien <bad_cast@protonmail.com>
2024-06-10 22:35:14 +03:00
georgemoralis eed77a4726 Merge pull request #182 from shadps4-emu/miscfixes
Miscfixes
2024-06-10 18:42:49 +03:00
georgemoralis 5257cb9a39 wrong spdx 2024-06-10 18:36:18 +03:00
georgemoralis 172f56df00 review fixes 2024-06-10 18:26:37 +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
georgemoralis a326c7e762 Merge pull request #183 from shadps4-emu/bc_detiler
Micro detiler for 2D BC textures
2024-06-10 15:33:55 +03:00
georgemoralis 987ac0fa41 more clang fix 2024-06-10 15:24:34 +03:00
georgemoralis b59ce5872a clang fix 2024-06-10 15:21:50 +03:00
georgemoralis 384a5030fd moved main code , to emulator,cpp , emulator.h class 2024-06-10 15:18:42 +03:00
georgemoralis 5162e3e60b don't make fullscreen default 2024-06-10 14:04:59 +03:00
georgemoralis 660cc0debf depedencies updates and fixes 2024-06-10 14:04:32 +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
psucien 94e574c660 texture_cache: detiler: added support for block coded 64bit images 2024-06-09 18:18:49 +02:00
Xphalnos d750921972 Synchronization between Qt build title and version.h (#178) 2024-06-09 18:45:25 +03:00
psucien bda21bb659 texture_cache: detiler: added support for block coded 128bit images 2024-06-09 12:54:19 +02:00
Xphalnos b994d69d9b Added Fullscreen mode (#173)
* Added Fullscreen mode

* fix for config.toml

* fix for config.toml

* Apply review comment
2024-06-09 13:25:00 +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
psucien f3636b77b8 common: slot_vector moved into common 2024-06-08 01:19:51 +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
psucien 3adf7d9937 renderer_vulkan, config: option to toggle VK validation layer 2024-06-07 11:21:02 +02:00
psucien a3ee11914a review iteration 2024-06-07 08:39:03 +02:00
psucien 0723625321 texture_cache: detiler: more verbosity in print 2024-06-07 00:12:16 +02:00
psucien a60cf29b61 texture_cache: fix for forgotten cb tiling info update 2024-06-07 00:12:16 +02:00
psucien 7c9325ddbb texture_cache: detiler: redundant flag removed 2024-06-07 00:12:15 +02:00
psucien ae6e246f9c renderer_vulkan: proper barriers 2024-06-06 23:40:31 +02:00
psucien e63115d3c7 renderer_vulkan: proper min uniform alignment 2024-06-06 22:24:20 +02:00
psucien 02ec0f6d4d renderer_vulkan: fix for vertex buffer mapping offset 2024-06-06 21:41:59 +02:00
raphaelthegreat 6fbd20c2d8 shader: Fix block processing order in dead code elimination pass 2024-06-06 02:46:36 +03:00
raphaelthegreat 433bdf9aaa kernel: Fix stack corruption from OrbisTimesec 2024-06-05 22:27:28 +03:00
raphaelthegreat fc8e4a1f97 shader_recompiler: Add more instructions and fix a few thinhs 2024-06-05 22:22:34 +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 0d8c705810 texture_cache: detiler image view moved into image class 2024-06-05 18:37:06 +02:00
psucien 304c266232 texture_cache: detiler: change staging to faster stream buffer 2024-06-05 18:16:31 +02:00
psucien cfd1af1785 fix for re-use 2024-06-05 17:57:05 +02:00
psucien 76c1f0ae87 final touch 2024-06-05 16:34:17 +02:00
psucien ca27729153 amdgpu: render target size hint for old runtime 2024-06-05 16:34:04 +02:00
psucien d6df222351 texture_cache: detiler: shader module release and debug name 2024-06-05 16:33:26 +02:00
psucien 88a0715aae texture_cache: detiler: m8x1 and m8x4 shaders 2024-06-05 16:14:22 +02:00
psucien a2eb813bee video_core: added shader header files generator from Citra 2024-06-05 14:31:50 +02:00
psucien 10396a38af texture_cache: a support for m8x1 and m8x4 layouts added to the detiler 2024-06-05 13:10:48 +02:00
psucien b593b8e1fc renderer_vulkan: unused extension removed 2024-06-04 12:43:23 +02:00
psucien d732a03b2e amdgpu: tiling mode introduced 2024-06-04 12:40:08 +02:00
psucien 59153f5c2a amdgpu: surface bits per element LUT 2024-06-02 22:46:40 +02:00
psucien 8a6528bc5a video_core: amdgpu: simply crash if an exception occured in coro 2024-06-02 19:16:05 +02:00
psucien d43ee1051c fix for name of the first dumped cmdb 2024-06-02 18:59:41 +02:00
raphaelthegreat ead6ef58b5 shader_recompiler: Better branch detection + more opcodes 2024-06-02 03:05:40 +03: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
psucien 57158da07b video_core: renderer_vulkan: write mask fallback 2024-05-30 16:27:39 +02:00
psucien 75d74e53f3 video_core: renderer_vulkan: added color mask support 2024-05-30 12:55:37 +02:00
psucien 9cb6ea82a0 Linux build fix 2024-05-30 12:09:33 +02:00
psucien e89e84aae2 shader_recompiler: redundant IR opcode removed 2024-05-30 11:50:42 +02:00
psucien 7762def3e5 video_core: multiple color attachments support 2024-05-30 11:21:26 +02:00
psucien 6f4a9dd87b shader_recompiler: added NOP and RSQ instructions 2024-05-30 09:43:49 +02:00
psucien 11bdadc319 video_core: renderer_vulkan: support for passes w\o a fs 2024-05-30 09:42:44 +02: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 b1f76d5e0a video_core: texture_cache: proper UniqueImage class movers 2024-05-29 17:17:24 +02:00
psucien 381d6c2816 video_core: renderer_vulkan: proper inclusion of maintenance4 2024-05-29 17:06:46 +02:00
psucien acddeb5bbf video_core: amdgpu: fix for a deadlock in wait on idle 2024-05-29 16:03:37 +02:00
psucien 8229f4a76b videoout, platform: fix for ooo irqs 2024-05-29 16:02:51 +02:00
psucien 0dbebc1902 video_core: amdgpu: proper destruction of processing thread 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
psucien 1a04516c13 fix for leaks of coroutine handle 2024-05-27 13:48:35 +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
psucien f56f6f7be4 config, video_core: null gpu configuration added 2024-05-22 20:19:42 +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
georgemoralis 7a6a8bfd88 Merge pull request #140 from shadps4-emu/additional_evq_func
A bunch of new functional and small improvements
2024-05-18 09:46:14 +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 dc8759b4e0 renderer_vulkan: state tracking for Image resources 2024-05-17 12:44:07 +02:00
psucien 851bd00251 a fair multi-submissions support 2024-05-17 08:47:38 +02:00
psucien 0d443ac467 amdgpu: non-blocking submitDone 2024-05-17 08:22:47 +02:00
psucien b1eaec2ea1 amdgpu: added support for several single GFX submits per frame 2024-05-17 00:01:47 +02:00
psucien c69c0d1649 fix for crash in apps when splash is missing 2024-05-16 16:59:38 +03: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
georgemoralis 085ffe359b Merge pull request #132 from shadps4-emu/gpu_flip
graphics: separate IRQ for GPU driven flips
2024-05-14 23:56:12 +03:00
psucien 18d7b08400 renderer_vk: missing barriers (#134) 2024-05-14 23:46:34 +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 fc2b0d4265 added sys_modules folder and ability to load system modules (currently we try ngs2) 2024-05-13 15:01:45 +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 3c4a9d6a44 amdgpu: return perfcounter on EOP 2024-05-10 23:16:56 +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 40923e5448 amdgpu: EOS event packet handling 2024-05-10 11:55:04 +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
psucien 9cfb7a20b4 gnm_driver: sceGnmSetEmbeddedVsShader added 2024-05-08 21:00:01 +02:00
psucien d331a84794 gnm_driver: sceGnmInsertWaitFlipDone added 2024-05-08 07:36:14 +02:00
psucien 60932dd5cc video_out: added display buffer labels 2024-05-08 07:35:10 +02:00
psucien d2856a7616 video_core, kernel: added gfx eop event handling 2024-05-07 22:46:54 +02:00
georgemoralis 2a5c4131dc Merge pull request #125 from shadps4-emu/savedata
Savedata + filesystem implementations
2024-05-07 16:38:39 +03:00
georgemoralis c7cf197b1b added sceKernelGetTscFrequency 2024-05-07 16:28:42 +03:00
georgemoralis 9141c9537d libc hle : added ftell , powf , roundf 2024-05-07 16:25:58 +03:00
psucien 4a472f8e61 core: libraries: gnmdriver: bit more of basic Gnm driver functions 2024-05-06 22:13:33 +02:00
georgemoralis 35ba7f0da5 clang format 2024-05-05 16:50:55 +03:00
georgemoralis 25f25f91a4 dummy ksernelMunmap (allows we are doomed to progress further) 2024-05-05 12:59:26 +03:00
georgemoralis facdc34bc6 improvements in sceKernelOpen, rewrote sceKernelLseek, added sceKernelWrite, added sceKernelMkdir , partial sceKernelStat 2024-05-05 12:43:01 +03:00
georgemoralis ccf81110b0 sceSaveDataMount2,sceSaveDataUmount some implementation 2024-05-04 22:08:04 +03:00
georgemoralis 45cbbec0b6 moved savedata to proper folder 2024-05-04 19:08:46 +03:00
georgemoralis 95a42f5b29 added dummy np* modules and screenshot module 2024-05-02 18:16:10 +03:00
georgemoralis fbaa31f4c6 added a login event in sceUserServiceGetEvent 2024-05-02 17:14:55 +03:00
georgemoralis 7ec7e87a00 create_thread : sometime thread name is null 2024-05-02 17:14:30 +03:00
georgemoralis 2b59361b7f added stubbed mostly version of flexible memory - it allows sonic mania to go further 2024-05-02 17:13:51 +03:00
georgemoralis fa4a7b6845 print param.sfo info at startup 2024-05-02 10:57:45 +03:00
psucien 8347026ecb core: libraries: gnmdriver: basic functionality extension (#120)
Also a bit of refactoring in `video_core`
2024-05-01 19:29:06 +03:00
TheTurtle 49e65be25b core: Rewrite thread local storage implementation (#118) 2024-05-01 13:38:41 +03:00
TheTurtle 13fe78f0f5 video_core: Add basic command list processing (#117) 2024-04-30 01:23:28 +03:00
psucien 87f3724675 video_core: prefer discrete gpu if available (#116)
* video_core: prefer discrete gpu if available

* ci: Upgrade to clang format 17

* rewrite w\o std::zip usage

---------

Co-authored-by: raphaelthegreat <47210458+raphaelthegreat@users.noreply.github.com>
2024-04-30 00:19:12 +03:00
georgemoralis bdb0a6cf94 give texture cache exception handler priority over tls exception handler 2024-04-29 19:26:35 +03:00
raphaelthegreat 733956c39b texture_cache: Fix linear image uploads
* Also fixed build for clang-cl with libc
2024-04-29 18:22:04 +03:00
georgemoralis da4692a7f0 fix config for gpu settings 2024-04-28 19:14:56 +03:00
psucien 35ffc7fc97 clang format fix 2024-04-28 01:34:14 +02:00
psucien 1be496875a config: option to select gpu for vk device 2024-04-28 01:19:04 +02:00
psucien b2584dc455 texture_cache: protection flags re-worked
* actually I gave up on clang fmt
2024-04-28 01:00:24 +02:00
psucien 2b33596ebc clang format fix 2024-04-28 00:51:34 +02:00
psucien 9c4906f878 Merge branch 'main' of github.com:raphaelthegreat/shadps4 into raph-main 2024-04-28 00:29:15 +02:00
psucien 6fdc29ec5b texture_cache: added memory protection for Windows 2024-04-28 00:21:04 +02:00
raphaelthegreat dee8b77cb4 Address feedback 2024-04-28 01:09:03 +03:00
georgemoralis 0e7cb9f528 added sceVideoOutGetVblankStatus 2024-04-18 22:32:15 +03:00
georgemoralis 34e3f7f871 fixing qt buids once again 2024-04-15 22:51:36 +03:00
georgemoralis 8636b9c84e define a linux only code 2024-04-14 19:57:58 +03:00
GPUCode 23b2eeba9b video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
GPUCode 55eb16d09d src: Move control to input directory 2024-04-14 01:18:25 +03:00
GPUCode 661b4d0e74 src: Reorganize and cleanup libraries 2024-04-14 00:37:17 +03:00
georgemoralis 7d3985f88e several fixes (#112)
* updated fmt

* submodules updated

* fixed _TIMESPEC_DEFINED for winpthreads under windows

* fixed sdl3 under qt

* virtual_memory: Ensure mapped addresses stay inside the user area

* Fixes LLE Libc crashing on linux

---------

Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-04-13 22:37:21 +03:00
georgemoralis 6a595f18db clang format fix 2024-04-09 13:40:03 +03:00
georgemoralis 22438e4f6e improved linker resolver 2024-04-09 13:39:35 +03:00
georgemoralis c4b4cb5acf dummy libscesavedatadialog 2024-04-08 19:03:51 +03:00
georgemoralis 13adbb77f0 added sceVideoOutGetVblankStatus 2024-04-07 09:27:41 +03:00
georgemoralis 93118a3cd4 Merge pull request #107 from shadps4-emu/modules4
More module work focused on undertale
2024-04-05 20:41:26 +03:00
georgemoralis b78de96e12 more linux fix 2024-04-05 19:53:54 +03:00
georgemoralis cb391baf46 linux build fix 2024-04-05 19:33:38 +03:00
georgemoralis a4b8db7027 added sceAudioOutSetVolume 2024-04-05 09:59:28 +03:00
georgemoralis 4840e716bc scePadRead,scePthreadYield implementations 2024-04-05 09:27:13 +03:00
georgemoralis 635d8e25c4 posix nanosleep call 2024-04-04 20:20:50 +03:00
georgemoralis ee2cfa982b just disable audioInOpen 2024-04-04 20:07:33 +03:00
georgemoralis 0141781429 dummy sceAudioIn lib 2024-04-04 20:04:18 +03:00
georgemoralis 30808f32ef added clock_gettime 2024-04-04 19:47:59 +03:00
georgemoralis 9a9f9698ad somehow working scePthreadCreate 2024-04-04 19:16:10 +03:00
georgemoralis efe50c8819 Merge pull request #102 from shadps4-emu/gui-rewrite
Gui rewrite.
2024-04-02 23:51:13 +03:00
georgemoralis a1a32bf461 scePthreadAttrGet , and some mutex work 2024-04-02 18:07:24 +03:00
georgemoralis f0af2b6c18 added some debug info to gnm 2024-04-02 17:21:04 +03:00
georgemoralis de47d63d55 added sceKernelClockGettime 2024-04-02 08:51:17 +03:00
georgemoralis 6141d379d9 sceSaveDataMount2 just return save data not found for now 2024-04-01 22:31:25 +03:00
georgemoralis afca4aa67c scePadGetControllerInformation added , dummy scePadSetMotionSensorState 2024-04-01 14:45:27 +03:00
georgemoralis 2b39f61791 scePthreadMutexDestroy implemented 2024-04-01 14:21:40 +03:00
georgemoralis 495779ef3b log debug message to tty 2024-04-01 08:44:07 +03:00
Jonah 44034c9e35 - Removed unnecessary std::future from game_grid_frame(populate/resize) Thanks SachinVin! 2024-03-31 12:24:08 -06:00
georgemoralis d0a3e034db sceKernelClose,sceKernelRead,sceKernelLseek implementation 2024-03-31 18:04:47 +03:00
georgemoralis c35f2922a9 fixed (?) _write function 2024-03-31 18:04:11 +03:00
georgemoralis 4363aaaa3f fixed linux issue with enums 2024-03-31 17:37:09 +03:00
georgemoralis 482b37013f added ps4_ prefix to libkernel to make sure it deosn't conflict with linux function names 2024-03-31 17:14:21 +03:00
georgemoralis 916a5adfd1 partial implementation of _write function , which is used as debug ouput from lle libc 2024-03-31 13:33:38 +03:00
georgemoralis ca810916b5 dummy libkernel module 2024-03-31 11:30:43 +03:00
georgemoralis a30adf70de scePthreadAttrDestroy,scePthreadAttrGetaffinity added 2024-03-30 22:19:42 +02:00
georgemoralis 221c452a1d more clang fixes 2024-03-30 15:41:12 +02:00
georgemoralis e8776fea82 clang format fix 2024-03-30 15:39:21 +02:00
georgemoralis 221b5c6c88 dummy sysmodule module 2024-03-30 15:34:01 +02:00
georgemoralis 6b47e38246 some dummy net functions 2024-03-30 09:35:00 +02:00
Jonah 9cbae6ddb1 PKG Viewer:
- Fixed crash when other file extensions are present in the same folder as the packages.
- Fixed display: check patch using serial and not name. fixed display when some games contain a semicolon in the title(STEINS;GATE 0)
- Fixed column resize on first run.
- Added status bar showing the number of packages.
- Removed: saving every single pkg path in config file.
2024-03-30 00:03:15 -06:00
georgemoralis abc5fd3475 clang format fix 2024-03-29 23:28:06 +02:00
georgemoralis 1c029b0c98 added more dummy modules 2024-03-29 23:25:52 +02:00
Jonah 366963b7f8 - fix grid mode not populating on first run(fresh run with no settings saved).
- refresh game list button.
2024-03-29 00:48:17 -06:00
Jonah 22843cc4d7 *facepalm* 2024-03-28 23:53:34 -06:00
Jonah acb0d9d255 Reuse.. 2024-03-28 23:51:38 -06:00
raziel1000 88d737c358 - Gui rewrite.
- Gui: Bug fixes and cleanup.
- Gui: Performance improvement (loading, resizing...etc)
- Added a simple PKG Viewer(Settings-> Utils -> PKG Viewer), added pkg folders will be saved.
- PKG Viewer: Shows game info(name, id, region...etc)
- PKG Viewer: Right click -> Install PKG to install/extract a game. Patch installation is also possible.
- Added option to dump game list  (Settings -> Utils -> Dump Game List), will be dumped to emu folder GameList.txt
2024-03-28 23:43:46 -06:00
georgemoralis 69378ffe0c Merge pull request #101 from Xphalnos/main
Proposed new logo for ShadPS4
2024-03-28 16:37:12 +02:00
Xphalnos 171d27ff40 Change logo 2024-03-28 15:29:21 +01:00
georgemoralis cb334d4c4a clang format 2024-03-27 15:02:21 +02:00
georgemoralis bdfb7c800d loading libSceFios2.prx as lle as well 2024-03-27 13:00:27 +02:00
whereismyfoodat 57e9b41ec0 small fixes , cleanups 2024-03-27 08:41:14 +02:00
georgemoralis 3f73028e57 clang format fix 2024-03-26 19:51:10 +02:00
georgemoralis 3a86aae78a scePthreadMutexattrDestroy again 2024-03-26 19:20:55 +02:00
georgemoralis 9adad461d6 dummy sceLibcHeapGetTraceInfo and scePthreadMutexattrDestroy 2024-03-26 19:19:52 +02:00
georgemoralis 683683eb6b implemented sceKernelGetProcParam 2024-03-26 18:48:26 +02:00
georgemoralis 75e31e880c we can now load libc.prx 2024-03-26 18:29:37 +02:00
georgemoralis c9a474fc2b function to start modules 2024-03-26 18:13:27 +02:00
georgemoralis 70e91002dc relocate before execution 2024-03-26 17:33:48 +02:00
georgemoralis f2d477468a rewrote relocations 2024-03-26 17:17:59 +02:00
georgemoralis 454294b6eb improved LoadSymbols for export support 2024-03-26 14:05:18 +02:00
georgemoralis 16b6d58418 linker : Resolve can now load exports as well 2024-03-26 12:57:18 +02:00
georgemoralis 1d6c8a7ad8 clang format fix 2024-03-26 12:33:00 +02:00
georgemoralis 0324a99c89 small improvements on linker Resolve method 2024-03-26 12:31:46 +02:00
georgemoralis abe1eca8fc some elf improvements 2024-03-26 00:21:38 +02:00
georgemoralis 876965cfd0 improved symbols_resolver and output 2024-03-25 09:46:36 +02:00
georgemoralis f1d2b5522a config option to enable libc lle 2024-03-25 09:26:59 +02:00
georgemoralis 98d5cc2264 started 0.0.4 2024-03-25 09:09:39 +02:00
georgemoralis 3aa7c0227c pushed v.0.0.3 version - codename salad 2024-03-23 09:43:03 +02:00
georgemoralis b4cb5ad233 More modules (#99)
* added dummy sceAudio lib

* added lseek in file_system

* updated sdl3

* forgot sdl3 in cmake

* cmake is case sensitive in linux

* fixed SDL_CreateWindowWithPosition

* fixed vulkan issues with latest sdl3

* some progress in sceAudio

* improvements in audio

* more sound improvements

* first working sound output , from openorbis sound demo

* updated sdl3 , zlib-ng can now be build with msvc+clangci

* fixed cmake

* fix for audio buffering

* clang format fix

* format fix

* better error handling for sceAudioOutput
2024-03-22 18:12:37 +02:00
georgemoralis 02ba353401 Autogen system,user,dialog modules (#98)
* some rework on system_service, user_service

* fixed clang format

* more clang fix

* more clang fix

* added error codes in system service

* some libc functions

* fixed fprintf

* small fix

* linux fix

* error handling in user service

* error codes reorganized
2024-03-14 14:18:16 +02:00
georgemoralis 4213b5a635 made an option for logging to be synced by default instead of async 2024-03-11 14:06:39 +02:00
georgemoralis af1e3c02ad LLE libc + other fixes part1 (#97)
* app0 folder is absolute

* some improvements on symbols types

* clang format

* missing libs.h

* improved symbols_resolver

* moved config to config folder

* functions to dump import functions

* improved logging output

* option for debugdump and improvements

* Apply suggestions from code review

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* clang format

---------

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2024-03-11 13:26:33 +02:00
Jonah fc201a7c92 - gui: firmware version display text correction (fw >= 10) 2024-03-08 11:54:30 -07:00
Younes 719a958cb5 - pkg extraction: fix a rare issue when there is extra entries with uroot and flat_path_table (this is how it should be handled anyway!) (#96)
- gui:
      - fix crash when switching between List and Grid modes.
      - fix fw display text (it was showing wrong numbers in certain cases)
      - made sfo viewer show numbers in hex.
2024-03-08 14:38:19 +02:00
Jonah 6dd3ce683d - Fixed a bug where folders where not created in the correct location which led to missing folders and files (incomplete/wrong extraction) 2024-03-06 00:04:14 -07:00
raziel1000 1c37f91a10 - Fixed pkg extraction. 2024-03-02 14:06:10 -07:00
qurious-pixel 0645dbb610 add window icons (#92) 2024-03-02 18:39:46 +02:00
Younes c8e79b34a1 - Added Play, Pause, Stop and several other UI icons. (#91)
* - Added Play, Pause, Stop and several other UI icons.
- Added a screenshot :3

* update reuse

* reuse again

* screenshot
2024-03-01 10:47:28 +02:00
georgemoralis a967d891d6 file formats and qt (#88)
* added psf file format

* clang format fix

* crypto functions for pkg decryption

* pkg decryption

* initial add of qt gui , not yet usable

* renamed ini for qt gui settings into shadps4qt.ini

* file detection and loader support

* option to build QT qui

* clang format fix

* fixed reuse

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.h

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* uppercase fix

* clang format fix

* small fixes

* let's try windows qt build ci

* some more fixes for ci

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update .github/workflows/windows-qt.yml

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/psf.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* loader namespace

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* constexpr magic

* linux qt ci by qurious

* fix for linux qt

* Make script executable

* ci fix?

---------

Co-authored-by: raziel1000 <ckraziel@gmail.com>
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-03-01 00:00:35 +02:00
GPUCode 367350e989 common: Rewrite logging based on cut down citra logger (#86)
* common: Rewrite logging based on cut down Citra logger

* code: Misc fixes

* core: Bring back tls handler

* linker: Cleanup

* config: Remove log level

* logging: Enable console output by default

* core: Fix windows build
2024-02-28 00:10:34 +02:00
georgemoralis c9dce45e4c submodules fixes (#87)
* update discord-rpc

* ignore gitmodules on reuse

* imgui not used atm removed
2024-02-27 20:24:47 +02:00
georgemoralis de0d824fce Modules generation tool (#81)
* Modules generation tool

* apply clang format to generator

* @whereismyfoodat suggestions

* added reuse headers

* reuse part2

* reuse part3

* reuse part3

* replace with hex_id the unknown functions to avoid compile errors with unknown characters from encode_id

* fixes in generation

* some sample module code from autogen tool

* clang format fix
2024-02-24 22:39:29 +02:00
GPUCode 7e5b7a7ffa chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
GPUCode d9e30405ba code: Add clang-format target and CI workflow (#82)
* code: Add clang format target, rules and CI workflow

* code: Run clang format on sources
2024-02-23 22:57:57 +02:00
GPUCode 7faf2d0ee8 common: Rework timekeeping with native RDTSC and port to linux 2024-02-23 11:30:06 +02:00
Stefanos Kornilios Mitsis Poiitidis 39ad04ba70 Merge branch 'TLS_works' of github.com:georgemoralis/shadPS4 into TLS_works 2024-01-27 17:00:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 86a8241182 skip over 0x66 prefixes in TLS 2024-01-27 16:59:59 +02:00
georgemoralis 8e31542122 some fs work for openorbis (WIP) 2024-01-26 18:01:27 +02:00
georgemoralis 2eeddf8334 orbis weird sceVideoOut calls 2024-01-24 14:46:02 +02:00
Stefanos Kornilios Mitsis Poiitidis e77801f5e6 Basic TLS with patching + int 0x80 2024-01-20 14:29:23 +02:00
georgemoralis 1ca32b213b initial PT_TLS support 2023-11-21 17:27:11 +02:00
georgemoralis 133dc7604e some cleanups 2023-11-21 16:54:10 +02:00
georgemoralis 1db6431052 functions libkernel to get openrorbis working (without tls) 2023-11-19 12:55:07 +02:00
georgemoralis 7cf2e99a07 small correction 2023-11-19 10:48:59 +02:00
georgemoralis efc542bdb8 initial fs implementation (mounting /app0/) 2023-11-19 10:22:46 +02:00
georgemoralis 44d0b4b089 scePthreadCond functions 2023-11-16 13:31:12 +02:00
georgemoralis a21f487e89 initial ScePthreadCond works 2023-11-16 09:14:10 +02:00
georgemoralis 8444dd408d prefix in libc functions to avoid messing with std ones 2023-11-16 09:13:50 +02:00
georgemoralis 2ea3a7fe1e some threadman fixes 2023-11-16 08:49:26 +02:00
georgemoralis 339dac69ee Merge pull request #71 from georgemoralis/undertale
Undertale-mutexes
2023-11-12 20:26:51 +02:00
georgemoralis 288c47787b cleanup createMutex 2023-11-12 20:23:42 +02:00
georgemoralis 40bef41646 fixed issue in scePthreadAttrSetschedpolicy 2023-11-12 15:09:18 +02:00
georgemoralis 7b1766a3df better posix errors 2023-11-12 13:23:35 +02:00
wheremyfoodat 880933c432 some adjustments 2023-11-12 10:57:50 +02:00
georgemoralis 1d77bd1f19 added sceSystemServiceGetStatus 2023-11-11 16:25:53 +02:00
wheremyfoodat 85b7621354 [Libc] Add getptolower/getptoupper/getpctype 2023-11-11 12:28:15 +02:00
georgemoralis c836198a74 improved mutex creation 2023-11-11 12:13:43 +02:00
georgemoralis a4342d07b4 init mutex if it doesn't exist when trying to lock (found in openorbis) 2023-11-11 10:49:44 +02:00
georgemoralis 690fa43f97 mutex debugging log 2023-11-11 10:01:16 +02:00
georgemoralis 6e948ccf33 implemented posix error return codes 2023-11-11 09:45:47 +02:00
georgemoralis 7945e53bd1 some mutexlock , mutexunlock implementations 2023-11-10 23:30:28 +02:00
georgemoralis c93f5acf40 some dummy mutexlock-unlock 2023-11-10 21:08:32 +02:00
georgemoralis da9e93b4c9 some refactoring on thread class 2023-11-10 20:51:02 +02:00
georgemoralis 280b340598 added sceMutexInit functions 2023-11-10 19:52:41 +02:00
georgemoralis 5c8a34609d moved thread_management to proper package 2023-11-10 17:31:56 +02:00
GPUCode 3b69d5aaaa kernel: To snake case 2023-11-06 01:19:57 +02:00
GPUCode 0150a3e9eb common: Move timer to common 2023-11-06 01:17:28 +02:00
GPUCode 477b4fb07f core: Reorganize 2023-11-06 01:11:54 +02:00
GPUCode 3359f9289d emulator: Use fmt::format instead of snprintf 2023-11-05 17:14:50 +02:00
GPUCode 8ad26a4dc8 common: Move classes to common namespace 2023-11-05 16:56:28 +02:00
GPUCode 9cc85f4635 src: Move certain headers in common 2023-11-05 13:41:26 +02:00
GPUCode 963f665b6f cmake: Refactor library management 2023-11-05 13:22:32 +02:00
georgemoralis a52c11dbb8 libc fprintf implementation for stdout,stderr case (needed from undertale) 2023-11-01 13:02:39 +02:00
georgemoralis cb023852b7 some HLE implementation for undertale game to process further 2023-11-01 12:40:56 +02:00
georgemoralis 34846e8b1b finished libc refactoring 2023-10-31 19:08:33 +02:00
georgemoralis 90efe48b27 libc separate stdlib functions to libc_stdlib 2023-10-31 18:12:05 +02:00
georgemoralis e07cfa1d0f libc separated string functions to libc_string 2023-10-31 17:32:56 +02:00
georgemoralis 13b8a74a43 cleanup libc (wip) and separated it to several files 2023-10-31 15:53:46 +02:00
georgemoralis 6e63d783e5 reorganized libc package 2023-10-31 15:37:24 +02:00
georgemoralis 6e1b06e606 core renaming 2023-10-31 14:28:42 +02:00
georgemoralis a8cd1ac26d refactoring system service 2023-10-31 14:04:35 +02:00