Commit graph

1409 commits

Author SHA1 Message Date
Fabian 2623d4d1d8 whitespace added, "patch" consistency 2024-09-01 01:00:24 +02:00
huss2342 b3c489f3c8 Added arabic translation (#693)
* added arabic translation

* added arabic translation
2024-09-01 01:01:14 +03:00
Mmpr87 9b74291f3f Added Persian(Farsi) Translation (#689)
* Adding Persian(Farsi)Translation

* Update Copyright
2024-09-01 01:01:01 +03:00
georgemoralis 0c05a148e6 Merge pull request #685 from squidbus/patch-fixes
core: Fix CPU patch stack issues
2024-08-31 23:43:26 +03:00
psucien 2f2857525c libraries: gnmdriver: sceGnmValidateCommandBuffers added 2024-08-31 22:01:08 +02:00
Xphalnos dff4de1662 Qt: Update Game List 2024-08-31 17:30:19 +02:00
bigqy 90bd2e2498 update zh_CN translation 2024-08-31 22:48:59 +08:00
Exhigh 0d5b4ff184 savedata: Handle a missing case in saveDataMount
This should potentially fix the mount issue in Resistance : Retribution (CUSA32636)

Testing is welcome.
2024-08-31 08:21:23 +04:00
squidbus ea106a31ad core: Fix CPU patch stack issues 2024-08-30 20:47:07 -07:00
psucien 08b4ed3fe7 Don't load sync2 ext if nv_checkpoints isn't used 2024-08-31 00:10:47 +02:00
psucien 804da6f766 video_core: added support for indirect draws (#678)
* video_core: added support for indirect draws

* barriers simplified
2024-08-30 22:59:56 +02:00
georgemoralis 4b930f9152 Merge pull request #671 from Xphalnos/main
Reorganization of includes (Part 2)
2024-08-30 22:10:49 +03:00
jnack b2cb49f49c Allow graphics/compute shader list for skipping (#674)
* Allow graphics/compute shader list for skipping

* nintendo ultra 64 + formatting

* indentation..

* allow empty array in ShouldSkipShader

* simpler check for skip hashes
2024-08-30 21:51:20 +03:00
Xphalnos 4a6e777e14 Reorganization of includes (Part 2) 2024-08-30 15:48:21 +02:00
squidbus e0fdf8fad6 vulkan: Few fixes for MoltenVK (#670)
* vulkan: Use SPIR-V 1.5 when Vulkan version is 1.2

* vulkan: Fix Format2_10_10_10 mismap
2024-08-30 16:40:39 +03:00
Daniel R. 0044247301 Merge branch 'shadps4-emu:main' into shader_recompiler/format 2024-08-30 15:40:17 +02:00
squidbus f8ce1be94d Initialize patch stack before thread TLS. 2024-08-30 04:43:11 -07:00
adjonesey 44b4f389cf Remove from_compute check in texture cache invalidation (#665)
* Remove from_compute check in texture cache invalidation (hack)

* Remove from_compute parameter

---------

Co-authored-by: Adam Jones <a.c.jones@outlook.com>
2024-08-30 13:01:59 +03:00
bigol83 201c94bcad Update it.ts 2024-08-30 11:01:48 +02:00
georgemoralis 266694ce9f Merge pull request #638 from squidbus/f16c
Add patches for F16C instructions under Rosetta 2.
2024-08-30 11:16:21 +03:00
DanielSvoboda 06a6838a42 fix tr 2024-08-29 23:11:20 -03:00
squidbus 936d23696b Add patches for F16C instructions under Rosetta 2. 2024-08-29 17:31:25 -07:00
Grégoire Hage 155843d6ec Implement S_XNOR_B64 (#654) 2024-08-30 02:43:12 +03:00
IndecisiveTurtle 46aadecba3 vk_graphics_pipeline: Fix texel buffer offset 2024-08-30 01:09:39 +03:00
georgemoralis 6161a6c24f Merge pull request #651 from LeDragoX/pt-br-update-1
Update PT-BR localization
2024-08-30 01:08:07 +03:00
IndecisiveTurtle 7c84ac23b0 vk_graphics_pipeline: Fix copy paste error 2024-08-30 00:59:12 +03:00
IndecisiveTurtle 75486bf2f4 buffer: Don't leak texel buffers, blacklist stream buffer with texel buffers 2024-08-30 00:26:08 +03:00
IndecisiveTurtle 77ce0a0fd8 translator: Add missed flow instruction 2024-08-30 00:26:01 +03:00
IndecisiveTurtle 2380ac1c13 spirv: More correct texel buffer usage 2024-08-30 00:25:56 +03:00
Plínio Larrubia 7b6b758542 Update PT-BR translation
- Support DLC texts
- Fixed some errors on Cheats (Trapaças) translation
2024-08-29 18:22:36 -03:00
georgemoralis 7fe8a792f0 Merge pull request #649 from f1amy/ru-translation-fixes
ru DLC translation and translation fixes
2024-08-29 23:47:47 +03:00
DanielSvoboda bd2473484f Fix creation files.json in 'Download ALL' 2024-08-29 17:26:06 -03:00
Flamy 573195e895 ru DLC translation and translation fixes 2024-08-29 23:59:52 +05:00
georgemoralis 947ba6ec83 Merge pull request #647 from DanielSvoboda/main
fix tr cheats_patches.cpp
2024-08-29 19:44:04 +03:00
TheTurtle 7066ef4b58 video_core: Account of runtime state changes when compiling shaders (#575)
* video_core: Compile shader permutations

* spirv: Only specific storage image format for atomics

* ir: Avoid cube coord patching for storage image

* spirv: Fix default attributes

* data_share: Add more instructions

* video_core: Query storage flag with runtime state

* kernel: Use std::list for semaphore

* video_core: Use texture buffers for untyped format load/store

* buffer_cache: Limit view usage

* vk_pipeline_cache: Fix invalid iterator

* image_view: Reduce log spam when alpha=1 in storage swizzle

* video_core: More features and proper spirv feature detection

* video_core: Attempt no2 for specialization

* spirv: Remove conflict

* vk_shader_cache: Small cleanup
2024-08-29 19:29:54 +03:00
DanielSvoboda cbaff85595 fix tr cheats_patches.cpp
the 2 words were not being translated
2024-08-29 13:21:58 -03:00
georgemoralis 0c01720511 Merge pull request #646 from kiwidoggie/patch-1
Add /hostapp support
2024-08-29 17:03:35 +03:00
georgemoralis 2055b3d460 Merge pull request #645 from mavethee/dlc-polish-localization
DLCs - Polish localization
2024-08-29 17:02:55 +03:00
georgemoralis d3535671c2 Merge pull request #637 from shadps4-emu/amdgpu/indirect_dispatch
video_core: added support for indirect dispatches (gfx only)
2024-08-29 17:02:37 +03:00
kiwipuppeh 798045d40d Add /hostapp support
In the case of certain games, such as Battlefield 4 (CUSA00110), the local pathing will resolve to /hostapp instead of /app0, which works fine on PS4, but was failing to resolve to any meaningful mount in shadPS4, this corrects this issue when running from eboot.bin directly.
2024-08-29 08:22:19 -04:00
Marcin Mitura 9b235ee192 DLCs - Polish localization
Translates strings introduced in #596.
2024-08-29 13:27:11 +02:00
psucien 4915c819a9 video_core: added support for indirect dispatches (gfx only) 2024-08-29 12:32:37 +02:00
bigol83 5b23242077 DLC Italian translation (#644) 2024-08-29 13:31:48 +03:00
bigol83 c77e448c6e Cheats/patches Italian translation (#642)
* Update it.ts

* Update it.ts
2024-08-29 13:11:17 +03:00
Dzmitry Dubrova 491ffaecb0 Add DLC support (#596)
* fs/core: Add DLC support

* fs/core: Fix extraction paths

* Fix DLC mounting

* gui: Add translations
2024-08-29 12:55:40 +03:00
georgemoralis e06f9587ae Merge branch 'main' into shader_recompiler/format 2024-08-29 10:18:12 +03:00
¥IGA b0dd93e9f6 Update French translation (#641) 2024-08-29 10:02:36 +03:00
DanielSvoboda c1d46094a0 Cheats/Patches (#493)
* Cheats/Patches

Adds the possibility of applying cheats/patches according to the specific game serial+version

The logic for adding modifications has not yet been implemented!

Interface based on issues/372 https://github.com/shadps4-emu/shadPS4/issues/372

[X]Front-end
[]Back-end

Create a synchronized fork of the cheats/patches repository

* Clang Format

* separate files

The code has been separated into separate files as suggested by georgemoralis.
Added the Patch tab, which has not been implemented yet.
Added the 'applyCheat' area to apply the modification, not implemented yet...
And added LOG_INFO.

* reuse

* initial implementation of cheat functionality

* Update cheats_patches.cpp

sets all added buttons to the size of the largest button.
and fixes some aesthetic issues.

* move eboot_address to module.h

fixes the non-qt builds and makes more sense to be there anyway

* Patchs menu and fixes

adds the possibility to download Patches, it does not modify the memory yet.
and some other fixes

* MemoryPatcher namespace, activate cheats on start

* format

* initial patch implementation

* format

* format again...

* convertValueToHex

* Fixes

Choosing which cheat file to use.
And some other fixes

* fix bytes16, bytes32, bytes64 type patches

If a patch is any of these types we convert it from little endian to big endian

* format

* format again :(

* Implement pattern scanning for mask type patches

* add check to stop patches applying to wrong game

previously if you added a patch to a game, but closed the window and opened a different game it would still try to apply the patch, this is now fixed

* format

* Fix 'Hint' 0x400000 |  and Author

* Management |save checkbox | shadps4 repository

MENU - Cheats/Patches Management (implementing Patches)
save patches checkbox
add shadps4 repository

* Load saved patches, miscellaneous fixes

* Fix an issue with mask patches not being saved

* format + remove debug log

* multiple patches | TR translation for cheats/patches

* clang

* ENABLE_QT_GUI

* OK

* move memory_patcher to qt_gui

* clang

* add cheats hu_HU

* fix log

* Remove the item from the patchesListView if no patches were added (the game has patches, but not for the current version)

---------

Co-authored-by: CrazyBloo <CrazyBloo@users.noreply.github.com>
2024-08-29 07:18:50 +03:00
georgemoralis 7b425f347c Merge pull request #636 from CyntexMore/main
Added HU translation
2024-08-29 00:08:51 +03:00
psucien 741df40aa4 shader_recompiler: frontend: SOPC and SOPK handling separated; more cmp opcodes (#634) 2024-08-28 22:27:47 +02:00
CyntexMore f4d6e36749 feat(translation): hu_HU translated 2024-08-28 22:15:03 +02:00
georgemoralis 6596cf4e7a Merge pull request #631 from Emulator-Team-2/Fix
Misc fixes
2024-08-28 22:26:50 +03:00
bigol83 2ff1ec0540 Update it.ts 2024-08-28 19:14:33 +02:00
Emulator-Team-2 357374f42b clang-format fix 2024-08-28 18:45:32 +02:00
Emulator-Team-2 cb6e67d6e1 added data_format=3 and num_format=4 2024-08-28 18:12:59 +02:00
Emulator-Team-2 128884cc06 added data_format=36 and num_format=9 2024-08-28 18:10:23 +02:00
georgemoralis 8f2942252e Merge pull request #624 from Exhigh/savedata-fix-4
savedata: Add another missed case in saveDataMount
2024-08-28 18:07:50 +03:00
counter185 0313ab37dd get rid of one space 2024-08-28 14:25:07 +02:00
counter185 07d7793198 clang format 2024-08-28 14:22:59 +02:00
counter185 b3f7344968 it's actually 1920x941 2024-08-28 14:15:01 +02:00
counter185 2923c15809 Update controller.h 2024-08-28 13:58:37 +02:00
counter185 abc8e41619 actually get rid of that comment 2024-08-28 13:56:49 +02:00
counter185 60655c45d2 * 2024-08-28 13:53:07 +02:00
counter185 8dcb983276 add touchpad support, auto reconnect 2024-08-28 13:48:50 +02:00
georgemoralis 84f1f11da5 Merge pull request #618 from vertver/main
video_core: Added copyGPUCmdBuffers option
2024-08-28 14:00:26 +03:00
squidbus 05735eb4b1 memory: Fixes for direct memory allocation. (#615)
* memory: Size direct memory based on requested flexible memory.

* memory: Guard against OrbisProcParam without an OrbisKernelMemParam.

* memory: Account for alignment in direct memory suitability checks and add more debugging.
2024-08-28 13:42:53 +03:00
georgemoralis ada9f7e307 Merge pull request #628 from squidbus/pkg-fix
crypto: Fix deallocation of key data while in use.
2024-08-28 13:42:01 +03:00
squidbus e77077f04f crypto: Fix deallocation of key data while in use. 2024-08-28 03:39:51 -07:00
georgemoralis b15658819c Merge pull request #626 from InvoxiPlayGames/special-pad
pad: add support for configurable special pad class
2024-08-28 13:24:37 +03:00
squidbus 3ea57ad81d kernel: Reimplement POSIX semaphores using std::counting_semaphore. (#600) 2024-08-28 13:13:33 +03:00
Vinicius Rangel e9cd322020 video_core: re-enable culling (#551) 2024-08-28 13:11:55 +03:00
0xsegf4ult e098ea9aec shader_recompiler: constant propagation bitwise operations + S_CMPK_EQ_U32 fix (#613)
* rebase on main branch impl of V_LSHL_B64

* remove V_LSHR_B64

* fix S_CMPK_EQ_u32

* fix conflicts

* fix broken merge

* remove duplicate cases

* remove duplicate declaration
2024-08-28 13:10:21 +03:00
InvoxiPlayGames 0631683d5e clang-format fix: scePadOpenExt 2024-08-28 11:10:20 +01:00
InvoxiPlayGames 1d8e3ec4ab return proper error code for scePadOpen failure 2024-08-28 10:51:30 +01:00
InvoxiPlayGames d6f83f24e5 add support for configurable special pad type 2024-08-28 10:27:51 +01:00
Anton Kovalev 565e3b104d Use pair of spans instead of references in copy command buffers function 2024-08-28 11:24:15 +02:00
Random cb188ddbbe Handle PM4 type-2 packets (#556)
* video_core: handle PM4 type-2 packets

* video_core: rewrite pm4 comand type handling into a switch statement
2024-08-28 09:53:27 +02:00
Anton Kovalev 8c9b450f29 Fixed type on function 2024-08-28 09:42:31 +02:00
Exhigh 4841b4199e savedata: Add another missed case in saveDataMount
This should potentially fix Deadpool (CUSA03528) #554.
2024-08-28 08:52:20 +04:00
Anton Kovalev 44e51f3287 clang-format style fix 2024-08-28 05:42:48 +02:00
georgemoralis eba0a6a68a Merge pull request #605 from SolidStateDj/add-toggle-fullscreen
Add a toggle fullscreen button
2024-08-28 06:32:21 +03:00
Semenov Herman 0cd205c5d8 crypto: added destructors fix memleak FakeKeyset, DebugRifKeyset, PkgDerivedKey3Keyset 2024-08-28 01:32:14 +03:00
Anton Kovalev 4b1a8f0e7a Use input dcb and ccb instead of copy 2024-08-28 00:21:12 +02:00
Anton Kovalev 67895d7567 Do not shrink buffer's size on submit 2024-08-27 23:33:24 +02:00
Anton Kovalev 20a84b303c clang-format fix 2024-08-27 23:31:04 +02:00
Anton Kovalev 17e438b583 video_core: Added copyGPUCmdBuffers option 2024-08-27 23:16:14 +02:00
psucien 271bfdcd45 libraries: kernel: fix scePthreadMutexattrSettype error value return 2024-08-27 22:25:46 +02:00
psucien 9928fd85b8 Added missing headers and 2D MSAA image type 2024-08-27 19:17:23 +02:00
Lizardy 569abf3504 [Libs] Error Codes (#612)
* ngs2: all errors w/ official names

* ajm errors

* gnm errors

* random errors

* clang

* random error

* linux

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-27 15:53:38 +03:00
Grégoire Hage d6c3c8a93e Implement V_LSHL_B64 (#608) 2024-08-27 14:15:32 +03:00
Vladislav Mikhalin 3cec32757c AvPlayer: Handle Initialization errors 2024-08-27 09:32:42 +03:00
SolidStateDj e4419005c3 Add a toggle fullscreen button
Assigns F11 as the key for toggling fullscreen.
2024-08-26 18:27:31 -04:00
psucien 10181aff41 shader_recompiler: fix for pattern detection in TryDisableAnisoLod0
Also fix for forgotten log message params.
2024-08-26 23:49:36 +02:00
psucien 0e360b06f4 libraries: kernel: skip for protection op; processing logic fixes (#602) 2024-08-26 23:14:22 +02:00
Exhigh e5c4c5a628 savedata: Handle another missed case in saveDataMount
This should potentially fix (CUSA01019) - The Walking Dead: The Complete First Season.
2024-08-26 19:34:35 +04:00
Plínio Larrubia 34bd2492a1 fix typo in LOG_INFO (#559)
fix: file name typo constant_propogation_pass.cpp

fix typo from 'symbol_vitrual_addr' variable

fix typo in emit_spirv_context_get_set.cpp

fix typo from constant_propagation_pass.cpp in CMakeLists

fix typo in these some config.cpp functions
- setSliderPosition
- setSliderPositionGrid
- getSliderPosition
- getSliderPositionGrid

fix typo inside src\core\aerolib\stubs.cpp

fix typo in a comment from src\core\file_format\pkg.cpp

fix typo inside src\core\file_sys\fs.cpp + fs.h
- NeedsCaseInsensiveSearch -> NeedsCaseInsensitiveSearch

fix 2 function typos: sceAppContentAddcontEnqueueDownloadByEntitlemetId and sceAppContentAddcontMountByEntitlemetId

fix typo on comment inside src\core\libraries\kernel\file_system.cpp

fix typo on src\core\libraries\videoout\driver.cpp

fix typo in src\core\memory.cpp

fix typo from comment in src\qt_gui\game_list_utils.h

fix typo in src\video_core\amdgpu\liverpool.h
- window_offset_disble to window_offset_disable

fix typo from comments in src\video_core\host_shaders\detile_m32x1.comp + detile_m32x2.comp
- subotimal -> suboptimal

fix typo from comment in src\video_core\renderer_vulkan\renderer_vulkan.cpp
- dimentions -> dimensions

fix typo from enum in src\common\debug.h and other files
- MarkersPallete -> MarkersPalette

fix last typo in src\video_core\amdgpu\pm4_opcodes.h
- PremableCntl -> PreambleCntl
2024-08-26 15:22:11 +03:00
Lizardy 3c08220ce5 shader_recompiler: BUFFER_ATOMIC_SWAP Opcode (#566)
* shader_recompiler: BUFFER_ATOMIC_SWAP Opcode

* clang

* follow 32 convention

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-26 15:21:20 +03:00
Batu 79d21e0d58 added tr language support (#587) 2024-08-26 13:20:53 +03:00
Plínio Larrubia 3a6d6366d9 feat: add pt_BR translation (#584)
* feat: add pt_BR translation
- Made by @LeDragoX
- Revised by @gabsF

* fix: change translation string 'Mostrar Tela Inicial' to 'Mostrar Splash Inicial'
2024-08-26 13:20:40 +03:00
Cristóbal Martí Méndez abcfe1a1f7 Add spanish translation (#583)
* Add spanish transalation

* Update es_ES.ts
2024-08-26 13:20:26 +03:00
Marcin Mitura 9c9a344039 Polish localization (#580)
Initial polish localization for shadPS4
2024-08-26 13:20:12 +03:00
georgemoralis 4f374d7200 Merge pull request #593 from shadps4-emu/fix/better_timings
libraries: kernel: fix for inaccurate `sceKernelGetProcessTime`
2024-08-26 10:56:54 +03:00
nishinji 47f3bf3738 Fix ja_JP.ts (#594)
* Fix ja_JP.ts

* a
2024-08-26 10:56:11 +03:00
psucien 8f50127a7e libraries: kernel: fix for inaccurate sceKernelGetProcessTime 2024-08-26 08:54:38 +02:00
georgemoralis 54ed7e0ba8 Merge pull request #589 from greggameplayer/feature/TBUFFER_STORE_FORMAT_XY
Implement missing TBUFFER_STORE_FORMAT_XY
2024-08-26 09:40:40 +03:00
nishinji 6bdaacfc1f Add Japanese translation (#591) 2024-08-26 09:39:49 +03:00
¥IGA beb45d85c0 Update French tranlations (#592) 2024-08-26 09:39:24 +03:00
greggameplayer 903df76ff4 Implement TBUFFER_STORE_FORMAT_XY 2024-08-26 03:39:38 +02:00
Daniel R. 3057d7bd77 core/kernel: Miscellaneous memory fixes (#557)
* core/libraries/kernel: Fix inaccurate direct memory size

* core/memory: Fix available dmem query on non-free dmem areas

* core/kernel: return ENOMEM if memory area size is zero

* core/kernel: Fix returns on `sceKernelAvailableDirectMemorySize`

* core/memory: Remove unneeded size alignment
2024-08-26 04:14:21 +03:00
Yury 974ed5d627 Add ru translation (#579) 2024-08-26 03:22:30 +03:00
bigol83 47a126ea54 Add Italian translation (#585)
* Update it.ts

* Update it.ts
2024-08-26 03:22:07 +03:00
psucien fc78c890da video_core: vk_rasterizer: fix for crash on markers with nullGpu 2024-08-25 22:24:10 +02:00
DanielSvoboda d78f0a4a94 V_NOP | PfpSyncMe | S_CMPK_EQ_U32 (#426)
* V_NOP

V_NOP = Do nothing

* PfpSyncMe

PfpSyncMe ensures that all previous commands are completed before continuing.
'break' should be enough for now

* S_CMPK_EQ_U32

S_CMPK_EQ_U32
SCC = (D.u == SIMM16)

* S_CMPK_EQ_U32

* OperandField::Undefined:

* Update translate.cpp

remove  OperandField::Undefined:

* Update image_view.cpp

[Render.Vulkan] <Error> image_view.cpp:ImageViewInfo:109: Storage image (num_comps = 4) requires swizzling [BGRA]
format 43 dst_sel 3886

* Update liverpool_to_vk.cpp

* S_CMPK_EQ_U32

* S_CMPK_EQ_U32
2024-08-25 22:07:46 +02:00
psucien 69b305bb40 GnmDriver: Clear context support (#567)
* gnmdriver: added support for gpu context reset

* shader_recompiler: minor validation fixes

* shader_recompiler: added `V_CMPX_GT_I32`

* shader_recompiler: fix for crash on inline sampler access

* compilation warnings and dead code elimination

* amdgpu: fix for registers addressing

* libraries: videoout: reduce logging pressure

* shader_recompiler: fix for devergence scope detection
2024-08-25 23:01:05 +03:00
Daniel R 591675155b shader_recompiler/frontend: fix IMAGE_SAMPLE_CD format
* Seen on Dark Souls
2024-08-25 19:53:45 +02:00
Daniel R. c3703acb19 shader_recompiler/frontend: fix IMAGE_GATHER4_C_LZ format 2024-08-25 14:06:41 +02:00
Daniel R 95a2d61014 shader_recompiler/frontend: add information on instruction format assert 2024-08-25 13:17:59 +02:00
Daniel R 785cd7ed64 shader_recompiler/frontend: fix V_NOP instruction format 2024-08-25 13:17:24 +02:00
¥IGA a8366d1f40 Implement French translation 2024-08-25 13:31:45 +03:00
Dzmitry Dubrova 2f16a02e69 gui: Implement gui translations 2024-08-25 12:17:54 +03:00
Daniel R. 510ad570d4 shader_recompiler/frontend: implement V_NOP 2024-08-24 23:18:04 +02:00
TheTurtle b52741b714 video_core: Bloodborne stabilization pt1 (#543)
* shader_recompiler: Writelane elimination pass + null image fix

* spirv: Implement image derivatives

* texture_cache: Reduce page bit size

* clang format

* slot_vector: Back to debug assert

* vk_graphics_pipeline: Handle null tsharp

* spirv: Revert some change

* vk_instance: Support primitive restart on list topology

* page_manager: Adjust windows exception handler

* clang format

* Remove subres tracking

* Will be done separately
2024-08-24 22:51:47 +03:00
Vinicius Rangel 1ca13870eb shader_recompiler: handle fetch shader address offsets (#538)
* shader_recompiler: handle fetch shader address offsets

parse index & offset sgpr from fetch shader and propagate them to vkBindVertexBuffers

* shader_recompiler: fix fetch_shader when offset is not present

* video_core: propagate index/offset SGPRs to vkCmdDraw instead of offsetting the buffer address

* video_core: add vertex_offset to non-indexed draw calls

renamed fetch offset fields
2024-08-24 17:36:40 +02:00
georgemoralis 49ae6df871 Merge pull request #560 from vladmikhalin/avplayer-and-texture-cache-fixes
Fixed video dimensions alignment and image cache
2024-08-24 17:24:36 +03:00
georgemoralis 3188a2dc11 Merge pull request #558 from Exhigh/savedata-fix-2
savedata: Add another missing case to saveDataMount
2024-08-24 17:14:10 +03:00
Vladislav Mikhalin f4d2f703e8 Fixed video dimensions alignment and image cache 2024-08-24 16:59:30 +03:00
Exhigh 2ddda99801 savedata: Add another missing case to saveDataMount
This helps Five Nights at Freddy's: Sister Location (CUSA17983) boot and is playable.
Fixes issue #554
2024-08-24 17:48:39 +04:00
Herman Semenov 5b8e1f1681 core,shader_recompiler: align structures for 64-bit platforms (#447)
Decreased sizes:
 * TextureDefinition 32 bytes -> 24 bytes
 * PortOut 72 bytes -> 64 bytes
 * Request 48 bytes -> 40 bytes
 * WindowSystemInfo 32 bytes -> 24 bytes
2024-08-24 16:18:12 +03:00
Random c80b2facf0 Fix a few issues with the intel anv vulkan driver from mesa (#514)
* add fallback format for d16UnormS8Uint which is not supported by intel

* fix depth/stencil buffer creation issues causing asserts in intel driver
2024-08-24 14:50:46 +02:00
psucien b552373680 Merge pull request #497 from xezrunner/xezrunner/cfg-msb-fix
shader_recompiler: fix BranchTarget sign flip for sopp.simm
2024-08-24 11:39:10 +02:00
¥IGA 56bccb0b69 Warnings fixes (#541)
* Warnings fixes

* Warnings fixes
2024-08-23 22:38:55 +03:00
Exhigh 17e70d91e4 savedata: Handle missed case in saveDataMount
This should help P5D get past the intro.

P.S:  The game requires Fiber and USBD modules to boot.
2024-08-23 16:27:03 +04:00
georgemoralis d8c8fc5774 Merge pull request #530 from Xphalnos/main
Lot of small fixes
2024-08-22 21:54:20 +03:00
georgemoralis ca066c7de9 possible R2/L2 fix 2024-08-22 19:43:45 +03:00
Xphalnos bb2a417598 Lot of small fixes 2024-08-22 18:01:30 +02:00
georgemoralis 901581d792 Merge pull request #502 from Borchev/ROMappedFileWorkaround
Workaround for readonly memory mapping of files issue
2024-08-22 13:49:19 +03:00
georgemoralis 9f3aaee098 LLE libc removal 2024-08-22 11:24:31 +03:00
georgemoralis 9aa10343ac Merge pull request #521 from GermanAizek/fix
Added const reference params if possible, removed less 16 size
2024-08-22 10:18:02 +03:00
Herman Semenov c0e207424a Added const reference params if possible, removed less 16 size 2024-08-22 02:56:01 +03:00
Aiden Turner a7a8a85aa0 Added logging for debugging configs (#518)
* added logging for config file

* forgot a setting

* fixed bloated settings logging.

* fixed compile error
2024-08-22 01:52:08 +03:00
Vladislav Mikhalin 3a46ff5a70 Misc fixes (#517)
* Misc fixes

* Removed the skip for draw calls without RTs

* Remove Srgb image stores to rework later
2024-08-21 23:54:23 +03:00
georgemoralis 96894a6c14 Merge pull request #506 from squidbus/macos-translocation
Untranslocate app bundle path if needed on macOS.
2024-08-21 18:13:08 +03:00
georgemoralis ce4737859e Merge pull request #511 from dima-xd/sample
avplayer: Fix data returned by sceAvPlayerGetAudioData
2024-08-21 16:53:01 +03:00
Dzmitry Dubrova 72c9b0468b avplayer: Fix sceAvPlayerGetAudioData 2024-08-21 14:37:34 +03:00
squidbus bc670d8419 Untranslocate app bundle path if needed on macOS. 2024-08-21 03:06:10 -07:00
Borchev 69f5bd84b6 Fix unmapping bug 2024-08-20 20:07:32 -07:00
Borchev 54ac677e1d Workaround for readonly memory mapping of files issue 2024-08-20 16:10:38 -07:00
TheTurtle e088f0141b vk_pipeline_cache: Avoid recompiling new shaders on each new PL (#480)
* cfg: Add one more divergence case

* Seen in RDR shaders

* renderer_vulkan: Reduce number of compiled shaders

* vk_pipeline_cache: Remove some unnecessary checks
2024-08-21 02:00:24 +03:00
Lizardy ace814f4f2 rtc errors (#485)
* rtc errors

* add system libs to cmakelists

* this.[func]

* fix errors

* declaration

* log handle addr

* missed

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-21 00:47:17 +03:00
xezrunner 66b59c20f3 Fix control.sopp.simm flipping sign in CFG label generation
This used to cause a fatal crash that would prevent Amplitude [CUSA02480] from booting beyond initialization.

A conditional true label would get an address starting with 0xffff...., which wasn't realistic with the given shader.

The multiplication by 4 causes the value to have its MSB set due to the smaller type.
2024-08-20 22:48:28 +02:00
kotn3l 45395d4d98 Set game window size based on the config (in windowed mode) (#481)
* Set windowed mode size based on config

* fix formatting oops

* emulator.cpp clang format fix (hopefully?)

* formatting fix for real
2024-08-20 15:39:56 +03:00
georgemoralis 3879cc2219 Merge pull request #375 from notgonnaleo/main
qt_gui: Added feature to toggle (show/hide) game list view
2024-08-20 11:47:00 +03:00
georgemoralis 7fe7465adb Merge pull request #475 from bax-cz/main
PlayGo: basic implementation, credits to red-prig
2024-08-20 11:43:37 +03:00
bax-cz 8b14fcc7c1 linux build fix 2024-08-20 09:28:07 +02:00
bax-cz 0cf7f5096b clang: fixed formatting 2024-08-19 20:40:23 +02:00
Random c8c75c4c4a fix gcc compilation error in vk_graphics_pipeline.cpp (#477)
gcc fails to infer the type of the two parts of a ternary expression whose types are different but both contain an implicit cast operator to the same type
2024-08-19 18:45:42 +03:00
¥IGA 0a64ec336f Adding icons to categories (#479) 2024-08-19 18:42:23 +03:00
Dzmitry Dubrova f634753f7b Add messages to asserts (#476) 2024-08-19 15:29:13 +03:00
bax-cz 32996556a5 PlayGo: basic implementation, credits to red-prig 2024-08-19 13:14:14 +02:00
Lizardy f197e05379 [WIP] libSceNgs2 (#439)
* init ngs2

* clang

* ngs2 HLE for missing LLE

* clang

* clang

* orbis ngs2 error codes

* resolve, error codes, ngs2_impl

* clang

* clang

* mac atomic

* clang

* mac

* clang

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-19 10:03:05 +03:00
DanielSvoboda 9b20393524 Copy submenu 2024-08-19 01:25:15 -03:00
georgemoralis 116004582f Merge pull request #466 from DanielSvoboda/alphabetical-order-console-language
Alphabetical order console language
2024-08-18 23:37:34 +03:00
DanielSvoboda 6fcc74036f alphabetical order console language 2024-08-18 17:24:41 -03:00
DanielSvoboda 642a59de16 alphabetical order console language 2024-08-18 17:24:35 -03:00
georgemoralis 7e418979b6 Merge pull request #463 from Xphalnos/main
Misc changes
2024-08-18 22:26:53 +03:00
DanielSvoboda 6c3e03e6ba alphabetical order console language 2024-08-18 16:15:06 -03:00
DanielSvoboda e2d0bae6fd alphabetical order console language 2024-08-18 16:04:48 -03:00
Vladislav Mikhalin b4cee64615 Fix stencil buffer not being used (#464) 2024-08-18 20:37:29 +03:00
Xphalnos 2df1372a46 Misc changes 2024-08-18 17:56:29 +02:00
Lizardy 74d43d059f shader_recompiler: BUFFER_ATOMIC & DS_* Opcodes (#428)
* BUFFER_ATOMIC | DS_MINMAX_U32

- Emission of BufferAtomicU32
- Addition of Buffer opcodes to IR
- Translator for BUFFER_ATOMIC Opcode
- Translators for DS_MAXMIN_U32 Opcodes

* Clang Format & UNREACHABLE_MSG

* clang

* no crash on compile

* clang

* Shared Atomics

* reuse

* rm vscode

* resolve

* opcodes

* side effects

* attempt fix shader comp

* failed attempt to fix

* clang

* do correct vdata set (still fails)

* clang

* fixed BUFFER_ATOMIC_ADD, DS_ADD_U32 fails

* data share should work

* clang

* resource tracking for buffer atomic

* clang

* distinguish RTN opcodes

* clean IsBufferInstruction

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-17 22:06:06 +03:00
¥IGA fa7e7a9963 About Window (#458) 2024-08-17 19:13:37 +03:00
georgemoralis 4b203891f8 Merge pull request #455 from Xphalnos/main
Qt-GUI: Improvements (Part 2)
2024-08-17 10:58:11 +03:00
georgemoralis c77f6413c1 Merge pull request #456 from StevenMiller123/sem_fix
Improve posix_sem functions
2024-08-17 10:57:19 +03:00
Xphalnos 4b1aecc912 Logger update 2024-08-17 08:22:31 +02:00
Stephen Miller 2cfc6f48e5 clang-format fix 2024-08-16 17:22:06 -05:00
Stephen Miller 07e9273a70 Add SetPosixErrno function
I used a switch statement for future proofing, as some codes differ between Windows, Mac, Linux, or Orbis. Right now I've only added the codes that should be possible to encounter.
2024-08-16 17:20:21 -05:00
Stephen Miller 6945be1081 Might fix clang-format? 2024-08-16 15:10:20 -05:00
Stephen Miller 97138cc2ea another clang-format fix 2024-08-16 15:07:19 -05:00
Stephen Miller 7c1cb036d4 clang-format fix 2024-08-16 14:55:55 -05:00
Stephen Miller 26ef12d1c7 Improve posix_sem functions
Use ErrSceToPosix to update g_posix_errno appropriately after sem function calls.
2024-08-16 14:33:48 -05:00
Xphalnos acb2849f2e Reduce window size 2024-08-16 19:48:18 +02:00
Dzmitry Dubrova 3813207000 misc changes, part ?/? (#441)
* gui: add option to boot a game by choosing elf file

* core: some small implementations

* fs: implement open func

* add some validations

* spirv: add image format

* video_core: add eR16Uint to formats
2024-08-16 20:16:15 +03:00
Dzmitry Dubrova f718c50db7 core: Some small pad stubs (#424)
* core: Some small pad stubs

* core: handle scePadSetLightBar wrong lightbar setting
2024-08-16 20:11:55 +03:00
TheTurtle 3b1e3b0a72 control_flow_graph: Initial divergence handling (#434)
* control_flow_graph: Initial divergence handling

* cfg: Handle additional case

* spirv: Handle tgid enable bits

* clang format

* spirv: Use proper format

* translator: Add more instructions
2024-08-16 20:05:37 +03:00
Vinicius Rangel b8ec925ebb gpu: primitive_restart bit check typo (#454) 2024-08-16 20:03:19 +03:00
Vinicius Rangel 248fcdbb35 gpu: check right register for primitive restart index (#453)
@red-prig suggestion

Not sure if it is possible to have trash in the register (maybe if primitive restart is toggled off), but just to make sure.
2024-08-16 19:49:15 +03:00
Herman Semenov 17f249eec9 core,shader_recompiler: added const ref filesystem::path and removed if type size less 16 (#446) 2024-08-16 11:36:05 +03:00
Xphalnos 21770dc550 Qt-GUI: Improvements 2024-08-16 09:45:59 +02:00
Vladislav Mikhalin 099e735a97 last minute fixes 2024-08-16 10:30:48 +03:00
Vladislav Mikhalin 5184161b79 Fixed threading, migrated to CVs, added looping 2024-08-15 22:02:04 +03:00
Vladislav Mikhalin 8b23ec3885 fixing build on linux and mac 2024-08-15 22:00:51 +03:00
Vladislav Mikhalin 56cb7727f5 Fixed some sound and threading issues.
Details:
* Switched SDL audio mutex to RW lock. This fixes games that continiously call SetVolume in a different thread (like Ghostbusters)
* Added contition to buffer audio packets independent of video packets. This fixes choppy audio across many games.
* Increased the number of audio frame buffers from 2 to 4. Just in case.
* Migrated to std::jthread and std::mutex from pthreads.
* Fixed a race condition with joins on avplayer close that caused a crash.
2024-08-15 22:00:51 +03:00
Vladislav Mikhalin 3325169927 Added some logs, fixed some crashes, fixed align. 2024-08-15 22:00:51 +03:00
Vladislav Mikhalin b2146acda5 avplayer WIP 2024-08-15 22:00:51 +03:00
georgemoralis e04a4673c8 starting 0.2.1 2024-08-15 19:58:18 +03:00
georgemoralis ff9ece3e54 tagged 0.2.0 release 2024-08-15 19:41:42 +03:00
psucien d9d67c85ec libraries: vide_out: redundant assert removed 2024-08-15 17:41:53 +02:00
¥IGA d81dabf4f0 Qt-GUI: Cleaning the option menu (#443) 2024-08-15 17:49:13 +03:00
Vinicius Rangel c69d6fd490 gpu: handle primitive restart index register (#438) 2024-08-15 15:43:27 +03:00
¥IGA 1beebca7b8 Qt-GUI: Adding User Name selection (#440)
* Qt-GUI: Adding User Name selection

* fix

* fix 2

* fix 3 (thanks Poly)

* Change the username emplacement
2024-08-15 15:06:09 +03:00
¥IGA ec805713a4 Ability to change username (#432) 2024-08-15 12:33:10 +03:00
psucien 0a173b0392 shader_recompiler: basic implementation of BUFFER_STORE_FORMAT_ (#431)
* shader_recompiler: basic implementation of buffer store w\ fmt conversion

* added `Format16` dfmt
2024-08-15 00:15:07 +02:00
Dzmitry Dubrova b87f269282 core: misc changes (#430)
* core: misc changes

* video_core: add some formats for detiling

* clang format
2024-08-14 20:37:05 +02:00
Stephen Miller a2d0819c02 scePthreadAttrSetstack implementation (#391)
* scePthreadAttrSetstack implementation

Used by Final Fantasy XV

* Address Comments

Verify parameters before calling the pthread_attr_setstack function.
Swap uses of SCE prefix with ORBIS prefix.

* Quick fix

Addresses the newest review and appears to fix issues caused in games by my previous commit.
2024-08-14 18:43:00 +02:00
TheTurtle d5e7180c54 spirv: Simplify shared memory handling (#427)
* spirv: Simplify shared memory handling

* spirv: Ignore clip plane

* spirv: Fix image offsets

* ir_pass: Implement shared memory lowering pass

* NVIDIA doesn't like using shared mem in fragment shader and softlocks driver

* spirv: Add log for ignoring pos1
2024-08-14 19:01:17 +03:00
Daniel R. 13403a32e5 core/memory: Fix error on virtual queries of reserved regions 2024-08-14 15:34:17 +02:00
psucien 718200faad video_core: CPU flip relay (#415)
* video_core: cpu flip is propagated via gpu thread now

* tentative fix for cpu flips racing

* libraries: videoout: better flip status handling
2024-08-14 11:36:11 +02:00
Samuel Fontes d25ed57fcb qt-gui: Added GPU device selection functionality (#399)
* qt-gui: Added GPU device selection functionality

* Getting list of GPU only when application starts

* Fixed formatting

* Fixed formatting

* Fixed formatting

* Added warning when GPU doesn't support API version.

* Changed Unsupported Vulkan Version warning

* Removed unused size checking on GetPhysicalDevices

The method is only being called once so this doesn't make sense. It was some left over of me trying to get this done some other way.

* Fix formatting

* Fix formatting

* SettingsDialog: Passing physical devices as span

* Fixed formatting
2024-08-14 00:21:06 +03:00
TheTurtle 705d1e29cf video_core: Various fixes (#423)
* video_core: Various fixes

* clang format
2024-08-13 20:05:10 +03:00
counter185 462da01350 Basic gamepad support through SDL (#407)
* Add basic gamepad support through SDL

* lightbar, vibration, code style changes

* okay fine

* one day clang format will finally pass
2024-08-13 12:54:08 +03:00
squidbus 8610994989 Fix some Vulkan validation errors on macOS. (#420) 2024-08-13 10:30:47 +03:00
TheTurtle c243ef0c58 video_core: Crucial buffer cache fixes + proper GPU clears (#414)
* translator: Use templates for stronger type guarantees

* spirv: Define buffer offsets upfront

* Saves a lot of shader instructions

* buffer_cache: Use dynamic vertex input when available

* Fixes issues when games like dark souls rebind vertex buffers with different stride

* externals: Update boost

* spirv: Use runtime array for ssbos

* ssbos can be large and typically their size will vary, especially in generic copy/clear cs shaders

* fs: Lock when doing case insensitive search

* Dark Souls does fs lookups from different threads

* texture_cache: More precise invalidation from compute

* Fixes unrelated render targets being cleared

* texture_cache: Use hashes for protect gpu modified images from reupload

* translator: Treat V_CNDMASK as float

* Sometimes it can have input modifiers. Worst this will cause is some extra calls to uintBitsToFloat and opposite. But most often this is used as float anyway

* translator: Small optimization for V_SAD_U32

* Fix review

* clang format
2024-08-13 09:21:48 +03:00
Vinicius Rangel 5b589b8cc8 spirv: fix image sample lod/clamp/offset translation (#402)
* spirv: fix image sample lod/clamp translation

* spirv: fix image sample offsets

* fix ImageSample opcodes & offset emission
2024-08-13 09:12:38 +03:00
Lizardy 68d6cf387f thread_management.cpp: Various Mandatory Threading Fixes | Resolve #398 (#394)
* Handle empty mutex attribute

- scePthreadMutexInit did not return default when the mutex attributes were empty, now it does

* fix conditional unsafety

* Update thread_management.cpp

fix deref

* accurate heap api

- modified HeapAPI to a struct with preset function fields
- utilized the full array parameter passed to _sceKernelRtldSetApplicationHeapAPI

* fallback to std malloc

* clang format

* Declare all HeapAPI replacement functions

- calloc, realloc, memalign, reallocalign, malloc_stats, malloc_stats_fast, malloc_usable_size
- posix_memalign corrected parameters

* resolve suggestions

- `using` definition replacement for AppHeapAPI
- linux uses heap_malloc, windows uses std::malloc

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-13 09:08:03 +03:00
Borchev aa29582046 Add partial unmap support (#322)
* Add partial unmap support

* undo accidental whitespace removal

* Fix assertions

* Adjust Reserve and Free functions for partial unmapping
2024-08-13 09:05:30 +03:00
squidbus e8dd5962fd Enable VK_EXT_robustness2 nullDescriptor only if supported. 2024-08-12 14:52:46 -07:00
psucien 8312421aeb unlink sync2 if not present (tentative fix for #418) 2024-08-12 22:52:21 +02:00
psucien 7cf54bd7b1 fix for Linux compilation (#416) 2024-08-12 20:10:42 +02:00
psucien 29b76d8a2b Build stabilization (#413)
* shader_recompiler: fix for float convert and debug asserts

* libraries: kernel: correct return code on invalid semaphore

* amdgpu: additional case for cb extents retrieval heuristic

* removed redundant check in assert

* amdgpu: fix for linear tiling mode detection fin color buffers

* texture_cache: fix for unexpected scheduler flushes by detiler

* renderer_vulkan: missing depth barrier

* texture_cache: missed slices in rt view; + detiler format
2024-08-12 17:23:01 +03:00
psucien 9b4d3b4db1 Video Core: debug tools (#412)
* video_core: better use of rdoc markers

* renderer_vulkan: added gpu assisted validation

* renderer_vulkan: make nv_checkpoints operational

* video_core: unified Vulkan objects names
2024-08-12 13:46:45 +02:00
psucien 7da029808f Gnmdriver: More functions (#410)
* libraries: gnmdriver: added `sceGnmGetGpuCoreClockFrequency`

* libraries: gnmdriver: `sceGnmSetVgtControl` added

* amdgpu: gpuclock64 in write eop packet
2024-08-12 13:29:57 +02:00
georgemoralis 49197d5de1 added a fix for audio (seems that some games calls sceAudioOutInit twice) Thanks Roamic for tracing this! 2024-08-11 13:16:50 +03:00
Dzmitry Dubrova ea6010907d gui: Add console language to settings 2024-08-09 18:28:50 +03:00
Dzmitry Dubrova 31e539c575 gui: Implement settings dialog 2024-08-09 17:28:16 +03:00
Leonardo ad0d818064 Fixed coding style again on the if brackets 2024-08-09 09:24:14 -03:00
georgemoralis 4b7e426e90 mount temp dir 2024-08-09 12:56:03 +03:00
georgemoralis 261dca353e console language is better name 2024-08-09 12:24:42 +03:00
georgemoralis 372a69a09b added setting for change language
(reference to https://github.com/shadps4-emu/shadPS4/wiki/PS4-Modules#supported-languages for values)
2024-08-09 11:58:42 +03:00
Leonardo 336802eb88 Removed else that duplicated while commiting the typo fixes 2024-08-08 18:33:06 -03:00
Leonardo 1869dfbf51 Fixed if else formatting 2024-08-08 18:30:58 -03:00
georgemoralis 14f7b98938 small playgo adjustments 2024-08-09 00:02:26 +03:00
georgemoralis 489ac6b124 some pad fixes (fixing metal slug 3 and risk of rain) 2024-08-09 00:02:25 +03:00
georgemoralis ce2bb99faa added missing NIDs in thread management 2024-08-09 00:02:25 +03:00
georgemoralis 276a625805 removed duplicate libSceJson2.sprx loading 2024-08-09 00:02:25 +03:00
georgemoralis b207d78258 fixed to scePadGetControllerInformation , (fixes CUSA04892 - power rangers multi user issue) 2024-08-09 00:02:25 +03:00
georgemoralis ad0b8167ba more linux fix? 2024-08-09 00:02:25 +03:00
georgemoralis fcd16eb61e linux fix? 2024-08-09 00:02:25 +03:00
georgemoralis cada878056 update submodules , fixed sdl update , rewrote config with new toml11 v4 2024-08-09 00:02:24 +03:00
Stephen Miller b31e7515b3 Kernel-Related Fixes (#386)
* Fix OrbisKernelBatchMapEntry struct

UE4 games and GTA V cause the BatchMap offset to overflow on Windows. Changing the type fixes this, and doesn't seem to cause any regressions on Windows or Linux.

* Implement posix_sem_trywait

Grand Theft Auto V needs this.

* Add missing scePthreadAttrGetdetachstate NID

Noticed this missing NID while testing games.
2024-08-08 23:42:51 +03:00
georgemoralis 1851c951a6 Merge pull request #381 from SamuelFontes/issues/361
361: Game directory window appears every time
2024-08-08 22:33:42 +03:00
SamuelFontes 406cf1ac42 361: Game directory window appears every time
qt_gui: When a command line argument is passed to the GUI version, it will always prompt to change the game directory. This happens because the "user" folder is created on the elf or eboot.bin location.
This change will ignore the game install directory configuration at startup when an command line argument is passed.
Since if a game was passed, it should start automatically as this is the expected behaviour.
2024-08-08 16:14:35 -03:00
SamuelFontes 513cebb897 qt_gui: Refreshing game list after install directory change
The game list wasn't being refreshed automaticly after a manual directory change on the QT GUI,  now the RefreshGameTable will be called after the GameInstallDialog is executed.
2024-08-08 15:57:43 -03:00
ElBread3 8808ed316c double click to open games 2024-08-08 13:23:44 -05:00
Xphalnos 22d1041c26 Workflows cleanup + misc fixes (#371)
* Workflows cleanup

* clang-format

* SDL3: Disabling unnecessary options

* Revert CMakeLists.txt changes
2024-08-08 18:19:44 +03:00
IndecisiveTurtle a32d8e1c55 vk_graphics_pipeline: Fix regression 2024-08-08 17:01:03 +03:00
TheTurtle 1a59ee87fe filter: Add random library 2024-08-08 15:44:05 +03:00
TheTurtle 8809e1c226 video_core: Implement guest buffer manager (#373)
* video_core: Introduce buffer cache

* video_core: Use multi level page table for caches

* renderer_vulkan: Remove unused stream buffer

* fix build

* oops forgot optimize off
2024-08-08 15:02:10 +03:00
Leonardo 809945690a qt_gui: Added feature to toggle (show/hide) game list view
"Show Game List" button originally didn't have any action assigned to it, so this PR is supposed to implement the change that would make sense to it (even though I don't think anyone would be using this too much.)
2024-08-08 00:23:54 -03:00
TheTurtle e91da052c3 video_core: Minor fixes (#366)
* data_share: Fix DS instruction

* vk_graphics_pipeline: Fix unnecessary invalidate

* spirv: Remove subgroup id

* vector_alu: Simplify mbcnt pattern

* shader_recompiler: More instructions

* clang format

* kernel: Fix cond memory leak and reduce spam

* liverpool: Print error on exception

* build fix
2024-08-05 13:45:28 +03:00
DanielSvoboda 7c9fe2c831 add-SurfaceFormat (#365)
[Debug] <Critical> liverpool_to_vk.cpp:SurfaceFormat:395: Unreachable code!

CUSA24620
Unknown data_format=7 and num_format=7

CUSA03082
Unknown data_format=2 and num_format=4

CUSA19345
Unknown data_format=34 and num_format=7

CUSA02411
Unknown data_format=1 and num_format=9

A duplicate was also removed.
2024-08-04 22:17:34 +02:00
DanielSvoboda 25b9abec77 SampleCountFlagBits::e16 - GetGpuClock64 (#360)
* SampleCountFlagBits::e16

* GpuClock64

* GpuClock64

* Update pm4_cmds.h

* Update pm4_cmds.h
2024-08-04 15:49:43 +02:00
Xphalnos aa9b70ae88 Minor Qt GUI update (#363)
* Minor Qt GUI update

* Update gui_context_menus.h

* Update gui_context_menus.h

* Update game_info.cpp
2024-08-04 16:07:10 +03:00
georgemoralis 526b0c0c4d Merge pull request #356 from squidbus/macos-icon
Add macOS icon.
2024-08-01 08:42:44 +03:00
georgemoralis bac1bcc1ce Merge pull request #352 from Xphalnos/main
Better logo for shadPS4
2024-08-01 08:42:24 +03:00
squidbus 82919e44f0 Add macOS icon. 2024-07-31 19:37:55 -07:00
georgemoralis 6932746251 print git info to log as well 2024-08-01 01:11:58 +03:00
georgemoralis 2e48be9c0c print git info in windows title 2024-08-01 00:56:10 +03:00
Xphalnos 3d5ea8d545 Merge branch 'main' of https://github.com/Xphalnos/shadPS4 2024-07-31 18:15:09 +02:00
Xphalnos be7c3f2ef5 Better logo for shadPS4 2024-07-31 18:14:22 +02:00
georgemoralis 283e7c16f5 Merge pull request #346 from shadps4-emu/savedata_1
SaveData Fixes
2024-07-31 17:34:44 +03:00
Dzmitry Dubrova 479e6a20dd core: Implement sceRandomGetRandomNumber (#350) 2024-07-31 14:01:22 +03:00
Xphalnos 518531c18b Reorganization of includes (#348)
* Reorganization of includes

* fix
2024-07-31 13:25:55 +03:00
raziel1000 908f0f3e74 missing eR8Srgb 2024-07-31 02:07:02 -06:00
raziel1000 86e783f667 added data_format=1 and num_format=9 2024-07-31 01:24:44 -06:00
raziel1000 3aebe7eeb9 added data_format=10 and num_format=5 2024-07-31 00:32:50 -06:00
raziel1000 fb2b7e7bec Kernel: added sceKernelConvertLocaltimeToUtc 2024-07-31 00:21:23 -06:00
raziel1000 bd36897084 - Implemented sceSaveDataSetParam and sceSaveDataGetParam
- Fixed sceSaveDataDirNameSearch
2024-07-30 22:55:58 -06:00
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
Vasyl Baran 1f171ee01a Fixup for detiler artifacts on macOS 2024-07-28 22:21:18 +03:00
Dzmitry Dubrova c3a2b3531d Implement some pthread calls (#332) 2024-07-28 18:43:44 +03:00
DanielSvoboda f751f7cc09 log improvement ThrowInvalidType (#330)
* log improvement ThrowInvalidType

* log improvement ThrowInvalidType
2024-07-28 18:42:54 +03:00
psucien 8dbfac7b64 Surface management rework (2/3) (#329)
* texture_cache: interface refactoring

* a bit of fixes and improvements

* texture_cache: macro tile extents for bpp 128

* texture_cache: detiler: prefer host memory for large buffers upload
2024-07-28 17:20:42 +02: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
Vinicius Rangel 9d8cbdc507 64 bits OP, impl V_ADDC_U32 & V_MAD_U64_U32 (#310)
* impl V_ADDC_U32 & V_MAD_U64_U32

* shader recompiler: add 64 bits version to get register / GetSrc

* fix V_ADDC_U32 carry

* shader recompiler: removed automatic conversion to force_flt in GetSRc

* shader recompiler: auto cast between u32 and u64 during ssa pass

* shader recompiler: fix SetVectorReg64 & standardize switches-case

* shader translate: fix overflow detection in V_ADD_I32

use vcc lo instead of vcc thread bit

* shader recompiler: more 64-bit work

- removed bit_size parameter from Get[Scalar/Vector]Register
- add BitwiseOr64
- add SetDst64 as a replacement for SetScalarReg64 & SetVectorReg64
- add GetSrc64 for 64-bit value

* shader recompiler: add V_MAD_U64_U32 vcc output

- add V_MAD_U64_U32 vcc output
- ILessThan for 64-bits

* shader recompiler: removed unnecessary changes & missing consts

* shader_recompiler: Add s64 type in constant propagation
2024-07-27 17:23:59 +03:00
TheTurtle 6eefcb2780 semaphore: Yet another race condition fix (#327) 2024-07-27 17:18:18 +03:00
georgemoralis 7cfa76aa8e Merge pull request #325 from DanielSvoboda/BUFFER_STORE_DWORDX2
BUFFER_STORE_DWORDX2
2024-07-26 13:17:16 +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 9523c4f6e4 ... 2024-07-26 07:59:55 +03:00
raziel1000 3d73174659 Applied feedback from @raphaelthegreat 2024-07-26 07:59:35 +03:00
georgemoralis 1f5d200521 forgot a file 2024-07-26 07:53:46 +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 ea571a9ac5 sdl window: Added game title (serial, title and app_ver) 2024-07-26 07:53:18 +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
DanielSvoboda 88cd3172ff BUFFER_STORE_DWORDX2 2024-07-26 00:25:29 -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
DanielSvoboda 53b8338091 I fixed the button, PKG patch version is older
I fixed the button, PKG patch version is older
2024-07-23 19:21:54 -03:00
squidbus 70847979ae Replace remaining uses of QDir::currentPath() / user with UserDir. 2024-07-21 14:01:10 -07:00