Commit graph

1441 commits

Author SHA1 Message Date
squidbus 8f2c971d9a signals: Fix compilation on GCC. (#934) 2024-09-16 12:54:47 +03:00
Vladislav Mikhalin c02649d2ac Do not wait for audio packets without audio stream (#939) 2024-09-16 12:54:20 +03:00
Daniel R. 4006fcb7d9 shader_recompiler: Implement basic 64-bit floating point support (#915)
* shader_recompiler: Implement basic 64-bit floating point support

* Fix formatting
2024-09-15 22:53:08 +02:00
squidbus a441244365 cpu_patches: Patch just-in-time using signal handlers. (#852)
* cpu_patches: Patch just-in-time using illegal instruction handler.

* core: Add common signal dispatch system and use for on-demand TCB patches.

* page_manager: Re-add userfaultfd implementation.
2024-09-15 23:48:34 +03:00
TheTurtle a56b7f2a24 graphics_pipeline: Move some depth configuration to dynamic state (#931)
* graphics_pipeline: More proper masking

* pipeline_cache: Skip setting depth/stencil fields when test is disabled

* pipeline_cache: More fixes to depth stencil state

* vk_rasterizer: Use dynamic state for depth bounds and bias

* pipeline_cache: Missed depth bias enable

* vk_rasterizer: Add stencil dynamic states

* thread: Reduce spammy log

* Remove some leftover state

* pipeline_cache: Allocate pipelines from pools

* vk_graphics_pipeline: Remove bindings member

Saves about 1KB from each pipeline
2024-09-15 22:42:14 +02:00
TheTurtle 18a7f074c6 semaphore: Fix semaphore wait list leaking (#928)
Co-authored-by: Daniel R. <47796739+polybiusproxy@users.noreply.github.com>
2024-09-15 19:08:37 +03:00
psucien afe65d55fa Merge pull request #918 from raven02/patch-5
Add PM4 opcodes
2024-09-14 20:24:41 +02:00
Raven 102a246ec3 Add DS_READ2ST64_B32 (#916)
* Add DS_READ2ST64_B32

* Fix CLANG

* Fix CI again

* Parameter update for DS_READ
2024-09-14 21:16:12 +03:00
Raven 1159050dfd Add PM4 opcodes 2024-09-15 01:46:39 +08:00
Daniel R. a73d3ce78c core/libraries/save_data: Fix inaccurate behaviour on sceSaveDataSetupSaveDataMemory (#913) 2024-09-14 19:00:22 +02:00
Raven bf4c7d421e Add S_XOR_B32 opcode (#911)
* Add S_XOR_B32

* Stub S_OR_B32
2024-09-14 18:52:30 +03:00
Raven 4857c39e25 Map BUFFER_AUTOMIC SMIN/SAMX/AND/OR/XOR/INC/DEC (#910) 2024-09-14 18:52:20 +03:00
squidbus 13d819bc6b vulkan: Disable exceptions for getImageFormatProperties and account for errors. (#906) 2024-09-14 17:12:08 +03:00
nnn27 15b2236b0f Fix initialization of change_layers (#907) 2024-09-14 15:07:34 +02:00
Emulator-Team-2 1caf32a336 Implement IMAGE_SAMPLE_L_O opcode (#899) 2024-09-13 19:20:35 +02:00
Luke Warner 1852243d36 Implement S_ABSDIFF_I32 shader instruction (#902) 2024-09-13 19:02:17 +02:00
CrazyBloo 884d25fc66 Enable patches on cli builds (#897)
* patch support for cli

* fix mac build

* format
2024-09-13 07:44:20 +03:00
Adam Jones ada64d8459 Fix Regression 895 2024-09-13 02:23:55 +01:00
TheTurtle fdb0bc212a hotfix: Restore unreachable 2024-09-12 23:46:29 +03:00
illusion0001 604c8e31d0 Silence unhandled case warns (#823) 2024-09-12 23:01:13 +03:00
squidbus 174c676143 shader_recompiler: Add buffer offset calculation when swizzle is enabled. (#834) 2024-09-12 22:59:52 +03:00
squidbus 23d5dd08f6 vulkan: Limit multisampling to supported sample counts. (#828) 2024-09-12 22:59:23 +03:00
baggins183 2859a13e5b Fix copyGpuBuffers when resize invalidates commands in flight (#876)
* Fix copyGpuBuffers when resize invalidates commands in flight

* Use _MB macro for size constant
2024-09-12 21:54:54 +02:00
Vladislav Mikhalin c4af6a8109 Fixed the return value of sceAvPlayerIsActive 2024-09-12 10:16:03 +03:00
CrazyBloo e0ff95f426 implement more nptrophy functions (#874)
* fix review's from last pr

* save timestamp when trophies are unlocked

* implement GetTrophyInfo()

* use strncpy instead of strcpy_s, should fix actions

* nptrophy: GetGameInfo(), GetGroupInfo()

* various fixes

* format
2024-09-12 06:49:04 +03:00
psucien 79f45d153c hot-fix: mark null image as tracked by default to avoid its updates 2024-09-11 22:39:21 +02:00
squidbus 64d989e775 shader_recompiler: Use correct integer type for OpImageWrite. (#871) 2024-09-11 23:04:02 +03:00
georgemoralis d29d5748fe Misc Fixes 10 (#781)
* libSceRazorCpu needed for gravity rush

* libSceCesCs needed for blue reflection

* clang format fix

* set scePadSetVibration to log debug

* initial sceNetCtl module implementation

* improved error codes in file system

* some intial work on netctl callbacks (helps a bit CUSA10135)

* misc

* improved callbacks handling in sceNetCtl

* small fixes

* added libSceRudp.sprx to lle modules

* draft work for npcallbacks
2024-09-11 16:48:16 +03:00
Pipi86 eb2915f295 Typo fix (#820)
* Update pm4_cmds.h

* Update pm4_cmds.h
2024-09-11 13:40:19 +03:00
georgemoralis 1dba92616e Revert "sceNetAccept sleep and SDLAudio::AudioOutOutput latency and cpu improvements (#507)"
This reverts commit d66d129357.
2024-09-11 12:56:41 +03:00
georgemoralis 9d9249d72b Revert "Add UI to configure keyboard-to-controller mapping (#308)"
This reverts commit fdb13a3b90.
2024-09-11 12:56:27 +03:00
squidbus f980e789e4 vulkan: Skip draw when primitive type is None. (#867) 2024-09-11 08:58:20 +03:00
kh0nsu 7fb079e3d8 sceNetAccept sleep and SDLAudio::AudioOutOutput latency and cpu improvements (#507)
* Add 5-second sleep on sceNetAccept as this can be called in an infinite loop and would normally block (this isn't ideal for non-blocking sockets but it's all stubs at the moment anyway)

* SDLAudio::AudioOutOutput: protect against invalid handle, support NULL input (wait only), replace fixed 65536 with an amount based on settable latency target (20ms for now)

* Fix whitespace

---------

Co-authored-by: j <j@local>
2024-09-11 08:57:05 +03:00
Vasyl_Baran d03e9fc63d Add UI to configure keyboard-to-controller mapping (#308)
* Add UI to configure keyboard-to-controller mapping

* Add an optional "---fix" argument to format-checking script

* clang fix

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-09-11 08:51:18 +03:00
CrazyBloo 5b26dc8e36 support for unlocking trophies (#854)
* add pugixml

* trophy_viewer: support for trophy unlocking

* nptrophy: UnlockTrophy(), DestroyContext()

* initial imgui popup

* queue to handle multiple trophies at once

* extract trophy info on game start + various fixes

* platinum trophy support + extract trophy data on startup

* format

* nptrophy: GetTrophyUnlockState

* implement vinicius' reviews
2024-09-11 06:50:55 +03:00
georgemoralis fa8e81df96 Merge pull request #858 from DanielSvoboda/main
use github api to download patches
2024-09-10 22:05:23 +03:00
TheTurtle af7e826dee video_core: Add fallback path for pipelines with more than 32 bindings (#837)
* video_core: Small fixes

* renderer_vulkan: Add fallback path for pipelines with more than 32 bindings

* vk_resource_pool: Rewrite desc heap

* work
2024-09-10 20:54:39 +03:00
DanielSvoboda e85f43102c use github api to download patches
removing this workaround makes the code cleaner
2024-09-10 11:30:35 -03:00
georgemoralis 96bf77e680 Merge pull request #851 from shadps4-emu/stabilization/barriers
Various barrier fixes
2024-09-10 06:45:15 +03:00
adjonesey 84c88d0996 Fix deadlocks by enabling reuse of exited threads (#855)
Simplify loop

const correctness

Simplify setting is_free

Co-authored-by: Adam Jones <a.c.jones@outlook.com>
2024-09-09 23:13:28 +03:00
Yussur Mustafa Oraji b43e65b62a Fix compilation on linux (#846) 2024-09-09 22:53:49 +03:00
Lizardy 0300cac3ff [libSceAudio3d] Initialize Audio3d Library (#761)
* init libSceAudio3d

* complete header and func params

* clang

* rm incl

* incl stddef

* revert module num

* print params

* correct logs

* clang

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-09-09 22:51:15 +03:00
Andrew Middendorp 73dff547a7 Added S_ANDN2_B32 and S_NAND_B32 opcodes (#833)
* Added S_ANDN2_B32 and S_NAND_B32 opcodes

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

Co-authored-by: baggins183 <baggins31084@proton.me>

* Fix result and src1

Co-authored-by: baggins183 <baggins31084@proton.me>

* update result

Co-authored-by: baggins183 <baggins31084@proton.me>

* Update src1

Co-authored-by: baggins183 <baggins31084@proton.me>

---------

Co-authored-by: baggins183 <baggins31084@proton.me>
2024-09-09 22:46:57 +03:00
squidbus 52175b2efa Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
psucien 491c5afd45 hot-fix: nullGpu functionality restored 2024-09-09 08:59:47 +02:00
Vinicius Rangel 8533e1386b imgui: fix End call when window is collapsed (#850) 2024-09-09 07:00:19 +03:00
psucien 87c65140ae presentation barriers fixed 2024-09-09 00:10:33 +02:00
psucien cf2a3203fb fix for image view storage flag handling 2024-09-09 00:09:38 +02:00
TheTurtle 37044f78a4 kernel: Delete cond attr
May solve memory leaks in games that create/destroy these often
2024-09-09 00:48:00 +03:00
Zack McKevitt 8d46ba513a Redefined ffmpeg's av_err2str macro to be c++ friendly (#815)
* Fixed compiler error for av_err2string by redefining in c++ friendly way

* removed link from comment, putting in PR

* fixed formatting

* Minor fix: enable qt gui to find PKG files with lowercase extension .pkg

* Added missing dependencies and instructions for enabling QT for linux builds
2024-09-09 00:30:18 +03:00
¥IGA eea19d800c Improved Dark theme, search bar and icon theme (#830)
* Improved Dark theme, search bar and icon theme

* Update FR translation
2024-09-08 23:39:48 +03:00
Vinicius Rangel 7fde5d8f07 Message Dialog library (#767)
* system/MsgDialog: types & basic text display

* system/MsgDialog: User message dialog

* system/MsgDialog: RAII for MsgDialog ui

* system/MsgDialog: Progress bar dialog

* system/MsgDialog: System message texts

* system/MsgDialog: copy all ui state to local memory

handles when game release memory before close
extracted all UI code to it's own file
use single window instead of creating new one every single dialogOpen

* system/MsgDialog: debug logging
2024-09-08 23:27:50 +03:00
Vinicius Rangel f8c8ec4e36 Dear ImGui Implementation (#598)
* added imgui as dependency

* imgui renderer/basic input implementation

* imgui: add layers system

Add video info layer to show fps. Press F10 to toggle it.

* imgui: add custom imgui config

* imgui: gamepad capture, stopping propagation

* imgui: changed config & log file path to use portable dir

* videoout: render blank frame when video output is closed

required to render imgui even when game has no video output

- fixed merge compile-error
2024-09-08 22:50:32 +03:00
psucien e48c79013a hot-fix: linear cubemaps check assert removed (verified) 2024-09-08 14:18:48 +02:00
psucien cb7ecba7df hot-fix: exclude tiling condition from promotion of textures to depth 2024-09-08 11:12:25 +02:00
Blargle 996e3e26c1 Small fix for EmitQuadToTriangleListIndices (#831) 2024-09-07 15:52:48 +03:00
Daniel R. 16b2b851e2 core/libraries: reduce log pressure (#829) 2024-09-07 12:38:00 +03:00
¥IGA 0022723b5e Adding Refresh icon to toolbar (#816) 2024-09-07 00:26:56 +03:00
TheTurtle 9c5f2f9598 shader_recompiler: Implement data share append and consume operations (#814)
* shader_recompiler: Add more format swap modes

* texture_cache: Handle stencil texture reads

* emulator: Support loading font library

* readme: Add thanks section

* shader_recompiler: Constant buffers as integers

* shader_recompiler: Typed buffers as integers

* shader_recompiler: Separate thread bit scalars

* We can assume guest shader never mixes them with normal sgprs. This helps avoid errors where ssa could view an sgpr write dominating a thread bit read, due to how control flow is structurized, even though its not possible in actual control flow

* shader_recompiler: Implement data append/consume operations

* clang format

* buffer_cache: Simplify invalidation scheme

* video_core: Remove some invalidation remnants

* adjust
2024-09-07 00:14:51 +03:00
CrazyBloo 0b518b9af3 libSceRtc HLE (#697)
* SetTick + GetTick, adding functions, checkvalid

* format

* more functions

* format

* implement lizardy's changes

* fix linux build

* various formatting improvements and fixes

* fix sceRtcGetCurrentClockLocalTime,

fixes sceRtcGetCurrentClockLocalTime using lizardy's suggestions.

also implements various formatting improvements and logging changes

* fix mac and linux builds, const for UNIX_EPOCH

* fix ConvertUtcToLocalTime,RtcConvertLocalTimeToUtc

* format rfc2822, format rfc3339

* format

* GetDosTime, GetTime_t, GetWin32FileTime

+various formatting improvements

* sceRtcParseRFC3339, sceRtcParseDateTime
2024-09-06 23:08:32 +02:00
Daniel R. a981640b1c 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 f6f2ffa41a Merge pull request #770 from OFFTKP/jump
Get rid of unnecessary jump
2024-09-06 22:56:44 +02:00
Stephen Miller 845f5fc7ca 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 e8a5473dc8 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. 96f22813ce Fix incompatible format images being passed on overlap resolve (#794) 2024-09-06 20:09:28 +03:00
RDN000 6bf9cac98b Updated sq translation (#791) 2024-09-06 16:35:42 +03:00
squidbus 79cc60f99b vulkan: Add VK_KHR_format_feature_flags_2 to extensions. (#803) 2024-09-06 14:12:29 +03:00
squidbus 9af44d9e5c shader_recompiler: Add ConvertF16F32 to FP16 detection. (#800) 2024-09-06 14:12:07 +03:00
squidbus 4a8f2a55b7 Standardize game_data directory for game metadata. (#809) 2024-09-06 13:27:23 +03:00
psucien 6a1e7e953c sceKernelWaitEventFlag log noise reduced 2024-09-05 18:25:56 +02:00
TheTurtle d38c78fa48 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 2ee1999042 hot-fix: don't skip draws with DS decompression 2024-09-05 09:58:51 +02:00
Daniel R. 04b6a25138 video_core/renderer_vulkan: Ignore unsupported shader stages (#778)
* video_core/renderer_vulkan: Ignore unsupported shader stages

* clang-format
2024-09-05 00:55:06 +03:00
Stephen Miller 33e357a250 Forgot one (#783)
I forgot to readd the processed variable to the for loop.
2024-09-05 00:24:30 +03:00
Stephen Miller 50f4d51b3d 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 76972adbda 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 a706eadaeb 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 5134fad73a Merge pull request #573 from polybiusproxy/shader_recompiler/format
shader_recompiler/frontend: Miscellaneous fixes
2024-09-04 23:21:23 +03:00
georgemoralis 9f8e5d2bd5 Merge pull request #764 from StevenMiller123/scePadOpenFix
Add "support" for ORBIS_PAD_PORT_TYPE_REMOTE_CONTROL
2024-09-04 17:55:05 +03:00
Sebastian Kassai f2ec5807ff 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 989ebade11 Merge pull request #756 from DanielSvoboda/main
adds TR in all missing places
2024-09-04 12:57:11 +03:00
offtkp 10f92c471f Get rid of unnecessary jump 2024-09-04 12:31:12 +03:00
squidbus 70a60d4f6c misc: Fix a few compiler warnings. 2024-09-03 21:32:19 -07:00
Stephen Miller 5f49270cf0 Add "support" for pad type remote control
Needed for the Dragon Ball Xenoverse titles.
2024-09-03 19:57:24 -05:00
DanielSvoboda 3ebeb65c4d Game List 2024-09-03 20:41:55 -03:00
squidbus cbf3d6266c vulkan: Emulate depth clip control when extension is not available. (#762) 2024-09-04 01:07:05 +03:00
DanielSvoboda 86d9eab564 Icon,Name,Serial,Region,Firmware,Size,Version,Path 2024-09-03 18:42:43 -03:00
georgemoralis c3a3b6d73f Merge pull request #736 from StevenMiller123/MoreVirtualQuery
Additional VirtualQuery improvements
2024-09-03 23:05:01 +03:00
psucien 504a269c6e video_core: added VK_LAYER_LUNARG_crash_diagnostic (#751) 2024-09-03 21:56:23 +02:00
DanielSvoboda f25a2f4a3a fix PL text 2024-09-03 16:19:16 -03:00
DanielSvoboda 56cb39b7f7 Save,Apply,Restore Defaults,Close
Save,Apply,Restore Defaults,Close
2024-09-03 16:08:49 -03:00
oltolm 5de9815610 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 83386c8733 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 82e20311c8 shader_recompiler: Limit src0 to 4-bit in V_CVT_OFF_F32_I4 (#759) 2024-09-03 21:37:52 +03:00
squidbus 47c52799d8 vulkan: Improve format support info for vertex buffer formats. (#753) 2024-09-03 21:08:29 +03:00
Paris Oplopoios cabcefd395 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 8d3a33fe7f 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 2b191e5b70 Update patch url (#755)
* Update patch url

* Update cheats_patches.cpp
2024-09-03 20:39:32 +03:00
DanielSvoboda 51001cc766 Merge branch 'main' of https://github.com/DanielSvoboda/shadPS4 2024-09-03 14:18:33 -03:00
DanielSvoboda dc05859fb4 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 64bdfe8005 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 0841f3ba3a add TR for PR 700 2024-09-03 13:27:51 -03:00
TheTurtle 9bd588c8f4 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 6de2be9bdb video_core: Add bounds checking for subspan use in liverpool functions (#717) 2024-09-03 13:58:45 +03:00
squidbus 015f6a8bc4 vulkan: Better support for directly linking a Vulkan support library. 2024-09-03 01:40:51 -07:00
Stephen Miller 4dbe2342b6 Clang 2024-09-02 10:04:56 -05:00
Stephen Miller 55f08beeaf Clang fix 2024-09-02 10:03:39 -05:00
Stephen Miller ff6c2caddd 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 f8faaaf6b3 Grammar 2024-09-02 09:39:46 -05:00
Stephen Miller 1c9fb35d86 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 abbb287725 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 ca3efb7aa5 Update Albanian translation 2024-09-02 10:14:54 +02:00
RDN000 fd0cea8ed8 Add Albanian translation 2024-09-02 08:37:54 +02:00
georgemoralis dc6e2a8075 Merge pull request #729 from StevenMiller123/VirtualQuery-Fixes
Fix VirtualQuery
2024-09-02 07:18:33 +03:00
Stephen Miller 634ecca8f9 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 b91474524e Implement V_BFM_B32 and V_FFBH_U32 (#663)
* Implement V_BFM_B32

* Render.Recompiler: Implement V_FFBH_U32

* fix clang-format
2024-09-01 22:20:42 +03:00
Paris Oplopoios 003f4ad570 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 fb0e81edad Merge pull request #716 from mavethee/main
translations: Correct machine translations in Polish
2024-09-01 22:18:37 +03:00
Grégoire Hage f8b3e841ed Implement V_READFIRSTLANE_B32 (#681)
* Implement V_READFIRSTLANE_B32

* refactor
2024-09-01 21:49:42 +03:00
Emulator-Team-2 3b444ce84a 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 518303a6a1 Correct machine translations 2024-09-01 19:18:59 +02:00
georgemoralis 738c28621e Merge pull request #703 from squidbus/mac-tcb
macos: Remove need for TLS patch by storing TCB pointer in FS.
2024-09-01 17:34:23 +03:00
georgemoralis dc23dd2b7f 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 6ada31fe90 Merge pull request #691 from Xphalnos/main
Qt: Update Game List
2024-09-01 17:12:11 +03:00
georgemoralis 28b38dda85 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 10997d3368 [macOS] Place shadPS4/user folder in Application Support
Partially resolves #509
2024-09-01 11:49:29 +02:00
squidbus c436665fe5 macos: Remove need for TLS patch by storing TCB pointer in FS. 2024-09-01 02:22:42 -07:00
georgemoralis 88f63e64e4 Merge pull request #702 from tGecko/improve-german-translation
Add/improve German translation
2024-09-01 12:09:05 +03:00
georgemoralis 874e694241 Merge pull request #699 from bigQY/zh_CN
update zh_CN translation
2024-09-01 12:08:52 +03:00
georgemoralis 16c966b635 Merge pull request #698 from Fejbien/patch-1
whitespace added, "patch" consistency Polish translation
2024-09-01 12:08:34 +03:00
tGecko eb6493f4e0 improve german translation 2024-09-01 10:33:46 +02:00
CrazyBloo 64246c9010 only apply cheats at runtime 2024-09-01 01:44:51 -04:00
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