Commit graph

1283 commits

Author SHA1 Message Date
Daniel R. ffd0f7b53a
core/libraries/save_data: Implement wildcard searches on sceSaveDataDirNameSearch (#817)
* libraries/save_data: Implement wildcards and params

* clang-format
2024-09-07 00:01:00 +03:00
psucien f1fd846762
Merge pull request #770 from OFFTKP/jump
Get rid of unnecessary jump
2024-09-06 22:56:44 +02:00
Stephen Miller 09ce12a868
shader_recompiler: Add more opcodes (#802)
* Implement some missing shader opcodes

Implements TBUFFER_STORE_FORMAT_XYZW, IMAGE_SAMPLE_CD, and IMAGE_GATHER4_C_LZ.

These are seen in https://github.com/shadps4-emu/shadPS4/issues/496.

* Implement IMAGE_STORE_MIP

Not sure if this is the right way to do this, let me know if this needs changing.

* Revert "Implement IMAGE_STORE_MIP"

This reverts commit cff78b5924.
2024-09-06 23:51:20 +03:00
baggins183 bb29224daf
Implement V_MOVREL variants (#745)
* shader_recompiler: Implement V_MOVRELS_B32, V_MOVRELD_B32,
V_MOVRELSD_B32

Generates a ton of OpSelects to hardcode reading or writing from each
possible vgpr depending on the value of m0

Future work is to do range analysis to put an upper bound on m0 and
check fewer registers.

* fix runtime info after rebase
2024-09-06 23:47:47 +03:00
Daniel R. 416e23fe76
Fix incompatible format images being passed on overlap resolve (#794) 2024-09-06 20:09:28 +03:00
RDN000 b97b5a7db4
Updated sq translation (#791)
Some checks are pending
Linux-Qt / build (push) Waiting to run
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-06 16:35:42 +03:00
squidbus 8d1641e4d3
vulkan: Add VK_KHR_format_feature_flags_2 to extensions. (#803) 2024-09-06 14:12:29 +03:00
squidbus 1d7ee198e1
shader_recompiler: Add ConvertF16F32 to FP16 detection. (#800) 2024-09-06 14:12:07 +03:00
squidbus a48bfb0fa6
Standardize game_data directory for game metadata. (#809) 2024-09-06 13:27:23 +03:00
psucien bad3d5a68e sceKernelWaitEventFlag log noise reduced
Some checks are pending
Reuse / reuse (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-05 18:25:56 +02:00
TheTurtle b08baaeb13
video_core: Improve handling of image buffer aliases (#757)
* texture_cache: Use invalidate threshhold

* It's possible for shaders to bind huge buffers and only write to lower portion of it. This is a problem if upper parts of the buffer overlap with render targets. If the image is very far away from buffer base it's unlikely the shader will want to write it, so skip invalidation for it

* video_core: Allow using texture cache to validate texture buffers

* texture_cache: Use buffer cache in all cases for data source

* Allows to correctly handle compute written micro tiled textures

* texture_cache: Fix depth pitch

* kernel: Remove missed code

* clang format

* video_core: Adjust depth format

* buffer_cache: Do not cache buffer views

* thread_management: Do not call createMutex on unlock

* temp: Revert this when pr is done

* buffer_cache: Dont skip cpu uploads with image sync

* Sometimes image does not fully overlap with a region

* fix build

* video_core: Improve invalidate heuristic

* small fixes

* video_core: Hopefully fix some vertex explosions
2024-09-05 17:25:45 +03:00
psucien 4e0dc91040 hot-fix: don't skip draws with DS decompression
Some checks are pending
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
2024-09-05 09:58:51 +02:00
Daniel R. eb2520a240
video_core/renderer_vulkan: Ignore unsupported shader stages (#778)
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* video_core/renderer_vulkan: Ignore unsupported shader stages

* clang-format
2024-09-05 00:55:06 +03:00
Stephen Miller 76f4ceda31
Forgot one (#783)
I forgot to readd the processed variable to the for loop.
2024-09-05 00:24:30 +03:00
Stephen Miller 89fb1a024f
Update sceBatchMap2 (#782)
* Update sceKernelBatchMap2

Improves placement of new BatchMap op types, and re-adds the BatchMap2 changes from https://github.com/shadps4-emu/shadPS4/pull/602.

* Update some logs.
2024-09-05 00:12:04 +03:00
psucien 28feb77982
Surface management rework (3/3) (#370)
* texture_cache: images overlap support

* renderer_vk: log messages on surfaces which require degamma

* missing barriers

* forced sync2 + better barriers

* Handling of depth target aliasing; added formats compatibility check

* Don't bind empty texel buffers

* Promote r32f textures to depth target if shader expects so

* Promote textures to depth if they use depth tiling

* fix for image leaking; detiler stream buffer removed
2024-09-04 23:47:57 +03:00
menaman123 b9c6093717
Implemented sceKernelMTypeProtect and sceKernelMProtect (#387)
* Fixed ORBIS_KERNEL_MAP_OP_TYPE_PROTECT for batchmap2

* Fix merge

* Changed 4 to ORBIS_KERNEL_MAP_OP_TYPE_PROTECT

* Removed MProtect from AddressSpace

* Added Mtyprotect and moved Mprotect to ORBIS_KERNEL_MAP_OP_PROTECT

* Changed Protect for Windows

* reverted the previous function

* Fixed Mtypeprotect and MProtect

* ''

* ''

* Took out logs stopping build

* clang-format issues

* Fixed the order of mtypeprotect and mprotect in batchmap2

* ''

* update branch

* ''

* Fixed nits

* ''

* Update submodules to latest commits

* ''

* reverted ffmpeg

* ''

* Fixed the nits

* ''

* ''

* ''

* ''

* ''

* Fix clang formatting, DEBUG_ASSERT, and extra spacing

* Fix build issues

* Revert "Fix build issues"

This reverts commit 9185f96ec9.

* ''

* ''

* ''

* Changes for MemoryProt Format

* ''

* ''

* ''
2024-09-04 23:36:23 +03:00
georgemoralis 0dd6e257c5
Merge pull request #573 from polybiusproxy/shader_recompiler/format
shader_recompiler/frontend: Miscellaneous fixes
2024-09-04 23:21:23 +03:00
georgemoralis bea5f643ca
Merge pull request #764 from StevenMiller123/scePadOpenFix
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Add "support" for ORBIS_PAD_PORT_TYPE_REMOTE_CONTROL
2024-09-04 17:55:05 +03:00
Sebastian Kassai 0a5c36482e
shader_recompiler: change ir.SetScalarReg() -> SetDst() (#777)
Fixes an out-of-bounds crash on Amplitude and Rock Band 4 startup.
2024-09-04 17:30:43 +03:00
georgemoralis 2709b45877
Merge pull request #756 from DanielSvoboda/main
adds TR in all missing places
2024-09-04 12:57:11 +03:00
offtkp f31c92ffd1 Get rid of unnecessary jump 2024-09-04 12:31:12 +03:00
squidbus 9eadec849c misc: Fix a few compiler warnings. 2024-09-03 21:32:19 -07:00
Stephen Miller 0b0c82452e Add "support" for pad type remote control
Needed for the Dragon Ball Xenoverse titles.
2024-09-03 19:57:24 -05:00
DanielSvoboda 8ccec1b956 Game List 2024-09-03 20:41:55 -03:00
squidbus b87e6f3838
vulkan: Emulate depth clip control when extension is not available. (#762)
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-04 01:07:05 +03:00
DanielSvoboda d24f8ddf03 Icon,Name,Serial,Region,Firmware,Size,Version,Path 2024-09-03 18:42:43 -03:00
georgemoralis e340583a7f
Merge pull request #736 from StevenMiller123/MoreVirtualQuery
Additional VirtualQuery improvements
2024-09-03 23:05:01 +03:00
psucien 34ffd95306
video_core: added VK_LAYER_LUNARG_crash_diagnostic (#751) 2024-09-03 21:56:23 +02:00
DanielSvoboda d7f799c6b7 fix PL text 2024-09-03 16:19:16 -03:00
DanielSvoboda 3a388fec1e Save,Apply,Restore Defaults,Close
Save,Apply,Restore Defaults,Close
2024-09-03 16:08:49 -03:00
oltolm e9ef726185
Fix warnings (#749)
* suppress warning in vk_mem_alloc.h

* fix warnings in cheats_patches.cpp
2024-09-03 21:41:59 +03:00
Paris Oplopoios 42ab101908
Set CF correctly on BLSR/BLSMSK patch (#724)
* Set CF correctly on BLSR patch

* Set CF correctly on BLSMSK patch
2024-09-03 21:40:46 +03:00
squidbus d48836d5ae
shader_recompiler: Limit src0 to 4-bit in V_CVT_OFF_F32_I4 (#759) 2024-09-03 21:37:52 +03:00
squidbus 6012e3cc86
vulkan: Improve format support info for vertex buffer formats. (#753) 2024-09-03 21:08:29 +03:00
Paris Oplopoios cfe49fbfba
Preserve flags on some patched instructions (#720)
* Preserve flags on some patched instructions

* Move flag saving to Save/RestoreContext
2024-09-03 20:41:35 +03:00
Paris Oplopoios f4ff0d493c
Set CF correctly on BLSI patch (#722)
* Set CF correctly on BLSI patch

* Remove redundant CLC
2024-09-03 20:41:22 +03:00
illusion0001 1b37f61102
Update patch url (#755)
* Update patch url

* Update cheats_patches.cpp
2024-09-03 20:39:32 +03:00
DanielSvoboda 6877cc12c1 Merge branch 'main' of https://github.com/DanielSvoboda/shadPS4 2024-09-03 14:18:33 -03:00
DanielSvoboda ee7e6f0b1d add more information download patches
If the patch does not appear, it may be that it does not exist for the specific serial and version of the game. It may be necessary to update the game.
2024-09-03 14:17:57 -03:00
DanielSvoboda 83a7bac945
Update src/qt_gui/translations/pl_PL.ts
Co-authored-by: Marcin Mitura <mitura07@wp.pl>
2024-09-03 13:45:43 -03:00
DanielSvoboda 51610cba43 add TR for PR 700 2024-09-03 13:27:51 -03:00
TheTurtle f087f43736
shader_recompiler: Implement render target swizzles when no format is available (#739)
* shader_recompiler: Use null image when shader is compiled with unbound sharp

* video_core: Refactor and render target swizzles

* liverpool_to_vk: Add missing swap format from RDR

* video_core: Refactor shader recompiler interface

* Makes it much easier to pass runtime information to the recompiler and have it treated as part of the shader key. Also pulls out most runtime state from Info struct

* shader_recompiler: Avoid some asserts
2024-09-03 14:04:30 +03:00
baggins183 3f8a8d3a24
video_core: Add bounds checking for subspan use in liverpool functions (#717) 2024-09-03 13:58:45 +03:00
squidbus af107d4ef9 vulkan: Better support for directly linking a Vulkan support library. 2024-09-03 01:40:51 -07:00
Stephen Miller 04fbd7b9e7 Clang 2024-09-02 10:04:56 -05:00
Stephen Miller 9a772aa2f5 Clang fix 2024-09-02 10:03:39 -05:00
Stephen Miller dc1313ea3c Always assign memory_type and offset
The memory_type default is based on fpPS4 behavior.

I'm not entirely sure how the offset should be handled, but since the value we use defaults to 0 anyway, that should be better than leaving random data in that area.
2024-09-02 09:43:27 -05:00
Stephen Miller 0503054b40 Grammar 2024-09-02 09:39:46 -05:00
Stephen Miller f8d71b59d9 Fix MemoryManager::VirtualQuery header
The headers for these functions were technically not the same as the actual function definition. This didn't cause any emulation issues, but caused some weird issues with my IDE.
2024-09-02 09:30:32 -05:00
Stephen Miller 816288962b Assign is_stack and is_pooled
Properly set these values to avoid potential errors, and future proof for when these types of memory are emulated.
2024-09-02 09:28:35 -05:00
RDN000 0a1fed9b75
Update Albanian translation 2024-09-02 10:14:54 +02:00
RDN000 26201f3dae
Add Albanian translation 2024-09-02 08:37:54 +02:00
georgemoralis 3b0e251518
Merge pull request #729 from StevenMiller123/VirtualQuery-Fixes
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
Fix VirtualQuery
2024-09-02 07:18:33 +03:00
Stephen Miller f3a62891ed Fix VirtualQuery
Found this issue while looking at code from fpPS4. VirtualQuery was setting is_commited to true when the queried region was reserved.

Also sets the protection value in the VirtualQueryInfo, as I'd assume not storing that could cause issues in games.

This fixes all games currently hanging on the sceKernelmprotect stub.
2024-09-01 22:39:22 -05:00
baggins183 101aeb920d
Implement V_BFM_B32 and V_FFBH_U32 (#663)
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* Implement V_BFM_B32

* Render.Recompiler: Implement V_FFBH_U32

* fix clang-format
2024-09-01 22:20:42 +03:00
Paris Oplopoios f514fdfd18
Replace recursive_mutex with mutex (#708)
* Replace recursive_mutex with mutex

* Move mutex lock outside of ObtainBuffer
2024-09-01 22:20:22 +03:00
georgemoralis 2311070203
Merge pull request #716 from mavethee/main
translations: Correct machine translations in Polish
2024-09-01 22:18:37 +03:00
Grégoire Hage 1bd9317509
Implement V_READFIRSTLANE_B32 (#681)
* Implement V_READFIRSTLANE_B32

* refactor
2024-09-01 21:49:42 +03:00
Emulator-Team-2 e4d8857eb5
Adding missing data format - (1_5_5_5) (#701)
* added data_format=17 and num_format=0

* Set `sceSaveDataDialogIsReadyToDisplay` temporary to 1 until is properly implemented.
2024-09-01 21:49:01 +03:00
Marcin Mitura 450c825873 Correct machine translations 2024-09-01 19:18:59 +02:00
georgemoralis 63d78aee0a
Merge pull request #703 from squidbus/mac-tcb
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
macos: Remove need for TLS patch by storing TCB pointer in FS.
2024-09-01 17:34:23 +03:00
georgemoralis dbc603cdc8
Merge pull request #677 from mavethee/macos-path
[macOS] Place `shadPS4/user` folder in `Application Support`
2024-09-01 17:33:33 +03:00
georgemoralis 5e089ada08
Merge pull request #691 from Xphalnos/main
Qt: Update Game List
2024-09-01 17:12:11 +03:00
georgemoralis 9b6cd9ec9f
Merge pull request #686 from Exhigh/savedata-fix-5
savedata: Handle a missing case in saveDataMount
2024-09-01 17:11:14 +03:00
Marcin Mitura 7415cee34c [macOS] Place shadPS4/user folder in Application Support
Partially resolves #509
2024-09-01 11:49:29 +02:00
squidbus 9e5047947b macos: Remove need for TLS patch by storing TCB pointer in FS. 2024-09-01 02:22:42 -07:00
georgemoralis 723068049e
Merge pull request #702 from tGecko/improve-german-translation
Add/improve German translation
2024-09-01 12:09:05 +03:00
georgemoralis 1157e6e764
Merge pull request #699 from bigQY/zh_CN
update zh_CN translation
2024-09-01 12:08:52 +03:00
georgemoralis c9aa7c802d
Merge pull request #698 from Fejbien/patch-1
whitespace added, "patch" consistency Polish translation
2024-09-01 12:08:34 +03:00
tGecko 6510083778 improve german translation 2024-09-01 10:33:46 +02:00
CrazyBloo 5b2779d548 only apply cheats at runtime 2024-09-01 01:44:51 -04:00
Fabian 946dec7df8
whitespace added, "patch" consistency 2024-09-01 01:00:24 +02:00
huss2342 7551f061ad
Added arabic translation (#693)
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* added arabic translation

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

* Update Copyright
2024-09-01 01:01:01 +03:00
georgemoralis 3abc7d6b43
Merge pull request #685 from squidbus/patch-fixes
core: Fix CPU patch stack issues
2024-08-31 23:43:26 +03:00
psucien 766c286d62 libraries: gnmdriver: sceGnmValidateCommandBuffers added 2024-08-31 22:01:08 +02:00
Xphalnos fb5c7c5062 Qt: Update Game List 2024-08-31 17:30:19 +02:00
bigqy 382f104369 update zh_CN translation 2024-08-31 22:48:59 +08:00
Exhigh ebfed28f6b 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 61db246c5e core: Fix CPU patch stack issues 2024-08-30 20:47:07 -07:00
psucien 4182740384 Don't load sync2 ext if nv_checkpoints isn't used
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-08-31 00:10:47 +02:00
psucien ca1613258f
video_core: added support for indirect draws (#678)
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* video_core: added support for indirect draws

* barriers simplified
2024-08-30 22:59:56 +02:00
georgemoralis 3d375a28eb
Merge pull request #671 from Xphalnos/main
Reorganization of includes (Part 2)
2024-08-30 22:10:49 +03:00
jnack 69d4fecdfe
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 7886761476 Reorganization of includes (Part 2) 2024-08-30 15:48:21 +02:00
squidbus 6080066f75
vulkan: Few fixes for MoltenVK (#670)
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* 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. 84f1690dfb
Merge branch 'shadps4-emu:main' into shader_recompiler/format 2024-08-30 15:40:17 +02:00
squidbus 6e552aac6a Initialize patch stack before thread TLS. 2024-08-30 04:43:11 -07:00
adjonesey 0f87d1e3d4 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 bdfff5e8ea
Update it.ts 2024-08-30 11:01:48 +02:00
georgemoralis cdd193d5b1
Merge pull request #638 from squidbus/f16c
Add patches for F16C instructions under Rosetta 2.
2024-08-30 11:16:21 +03:00
DanielSvoboda f2b6843f9d fix tr 2024-08-29 23:11:20 -03:00
squidbus a17150960f Add patches for F16C instructions under Rosetta 2. 2024-08-29 17:31:25 -07:00
Grégoire Hage 1651db24fe
Implement S_XNOR_B64 (#654)
Some checks are pending
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-08-30 02:43:12 +03:00
IndecisiveTurtle 6bf42aa985 vk_graphics_pipeline: Fix texel buffer offset 2024-08-30 01:09:39 +03:00
georgemoralis 8d41695e74
Merge pull request #651 from LeDragoX/pt-br-update-1
Update PT-BR localization
2024-08-30 01:08:07 +03:00
IndecisiveTurtle cb5190e31a vk_graphics_pipeline: Fix copy paste error 2024-08-30 00:59:12 +03:00
IndecisiveTurtle cf706f8cc7 buffer: Don't leak texel buffers, blacklist stream buffer with texel buffers 2024-08-30 00:26:08 +03:00
IndecisiveTurtle 6fbbe3d79b translator: Add missed flow instruction 2024-08-30 00:26:01 +03:00