Commit graph

857 commits

Author SHA1 Message Date
DanielSvoboda 7e1a188dbc fix shortcut name with unaccepted characters 2024-07-09 00:55:48 -03:00
DanielSvoboda 33c78854e2 add V_MAD_U32_U24 (#262)
* V_MAD_U32_U24

* adjust V_MAD_I32_I24 for bit extraction

* optional bit extraction parameter

* Update vector_alu.cpp

* clang-format

* Update src/shader_recompiler/frontend/translate/vector_alu.cpp

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

* Update vector_alu.cpp

* Update translate.h

---------

Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-07-09 01:35:01 +03:00
psucien a7434352e6 Merge pull request #247 from viniciuslrangel/device-selector
Improve physical device selection in Vulkan renderer
2024-07-08 22:04:51 +02:00
Stolas f9fd1e1dae Added Legacy Min/Max ops (#266)
* Forwarding V_MAX_LEGACY_F32 to V_MAX3_F32. Fixes Translation error in Geometry Wars 3.

* Forwarded to correct op

* Implemented Legacy Max/Min using NMax/NMin

* Added extra argument to Min/Max op codes

* Removed extra translator functions, replaced with bool

* Formatting
2024-07-08 12:24:12 +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
offtkp 7e55a04889 Eliminate compiler warning 2024-07-08 01:17:42 +03:00
Vinicius Rangel 117265d1a7 Improve physical device selection in Vulkan renderer
Fix when two discrete gpu are present & memory heap size is now considered while sorting physical devices
2024-07-07 17:02:35 -03:00
TheTurtle 5b5a82e3c9 config: Disable splash by default 2024-07-07 22:30:52 +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 a25872031c renderer: a bit more formats to support 2024-07-07 14:34:36 +02:00
psucien 51557590be gnmdriver: added sceGnmFindResourcesPublic stub 2024-07-07 13:47:01 +02:00
psucien 5836a31d76 recompiler: switch instance data to storage buffers 2024-07-07 13:08:39 +02:00
psucien 9d9ebe7a30 recompiler: fix for gather4 components return 2024-07-07 13:00:52 +02:00
TheTurtle 020e69dfb4 memory: Set virtual query offset 2024-07-07 01:26:17 +03:00
georgemoralis 3128bf55ff Merge pull request #254 from DanielSvoboda/Create-Shortcut
fix linux again
2024-07-06 22:39:31 +03:00
psucien d2cf81cee0 renderer: don't let unbound color attachment affect pass's rendering area 2024-07-06 20:13:12 +02:00
DanielSvoboda 02f7dd6e94 fix name file shortcut linux 2024-07-06 15:10:28 -03:00
DanielSvoboda 7a1d85765d fix linux again 2024-07-06 15:00:18 -03:00
georgemoralis 4e2a176526 Merge pull request #246 from DanielSvoboda/Create-Shortcut
Create shortcut
2024-07-06 20:03:30 +03:00
DanielSvoboda 1000ec781c fiz linux 2024-07-06 13:42:53 -03:00
DanielSvoboda 1e1f59b8c3 fix linux 2024-07-06 13:40:26 -03:00
psucien 317838122d renderer: added support for instance step rates 2024-07-06 18:03:43 +02:00
psucien 2da61fa0b3 gnmdriver, amdgpu: added gpu idle IRQ; submission lock logic improved 2024-07-06 18:03:34 +02:00
DanielSvoboda e162b69e8f fix linux? 2024-07-06 12:55:24 -03:00
georgemoralis c231695ee8 Merge pull request #239 from shadps4-emu/miscFixes3
Misc fixes 3
2024-07-06 11:16:53 +03:00
georgemoralis 447a88cc26 removed hardware info seems make perfomance issues , will test something more lightweight 2024-07-06 10:27:57 +03:00
DanielSvoboda 42daeba928 add 'Create Shortcut' option
Added 'Create Shortcut' option to gui_context_menus

Implemented functionality to create shortcuts:
convertPngToIco: Converts PNG icons to ICO format.
createShortcutWin: Creates shortcuts on Windows using COM interfaces.
createShortcutLinux: Generates .desktop files for shortcut creation on Linux.
Note: Linux functionality has not been tested.
2024-07-05 20:57:54 -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
DanielSvoboda d0a79cac8b add command line arguments GUI 2024-07-05 18:20:19 -03:00
georgemoralis 34a6b19636 scePthreadMutexTimedlock added 2024-07-05 15:23:35 +03:00
georgemoralis 2920c9da3b submodules updates 2024-07-05 15:08:33 +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
DanielSvoboda 0a64cedf1c Fix ShowSplash size (#235)
* Fix ShowSplash size

* enable isShowSplash
2024-07-05 00:16:06 +03:00
psucien 5317c45029 Recompiler: sampler patching (#236)
* recompiler: restored bfs in image instruction producers search

* recompiler: added pattern check for s# anisotropy modification

* added check if s# comes from constant load (e.g. EUD)
2024-07-05 00:15:57 +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 9afca173a2 added library to print system info to be able to debug user files better 2024-07-04 14:30:34 +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 00e26a9c02 increase version 2024-07-02 00:39:10 +03:00
georgemoralis 85a31b7721 Updated version to 0.1.0 - Release 2024-07-02 00:35:54 +03:00
georgemoralis 827260e2fb Merge pull request #230 from shadps4-emu/stabilization12
reduced logging
2024-07-01 23:53:59 +03:00
georgemoralis ec0afbd63c clang format fix 2024-07-01 23:48:30 +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 0d28d325da texture_cache: Always validate for now 2024-07-01 22:53:01 +03:00
IndecisiveTurtle b72115bed4 shader_recompiler: More instructions 2024-07-01 22:42:45 +03:00
IndecisiveTurtle 4235095efd host_shaders: Fix R8G8 detiler 2024-07-01 20:25:43 +03:00
IndecisiveTurtle 0a900115e8 video_core: Fix some regressions 2024-07-01 18:26:22 +03:00
IndecisiveTurtle 4ec742281d clang format 2024-07-01 13:56:14 +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 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