Commit graph

1678 commits

Author SHA1 Message Date
Vasyl_Baran fdb13a3b90
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 74c2888aaa
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 c5b8e492f6
Merge pull request #858 from DanielSvoboda/main
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
use github api to download patches
2024-09-10 22:05:23 +03:00
SleepingSnakezzz 5fc90b5565
Update Discord link (#861)
The current Discord link was made before we enabled the "accept the rules" on Discord. This leads to users who use the current link to enter the Discord server to skip this moderation step. Updating the link to one created after we enabled this should fix this.
2024-09-10 20:58:47 +03:00
TheTurtle b0bbb16aae
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 14e7cd587d use github api to download patches
removing this workaround makes the code cleaner
2024-09-10 11:30:35 -03:00
georgemoralis 3a65052b8e
Merge pull request #851 from shadps4-emu/stabilization/barriers
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
Various barrier fixes
2024-09-10 06:45:15 +03:00
adjonesey dcab06ff2b
Fix deadlocks by enabling reuse of exited threads (#855)
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
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 f23c6dc852
Fix compilation on linux (#846) 2024-09-09 22:53:49 +03:00
Lizardy 6b5cd04893
[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 4502a5ddcc
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 411449cd51
Initial support for compiling on ARM64. (#788)
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-09 13:23:16 +03:00
psucien adfb3af95f hot-fix: nullGpu functionality restored 2024-09-09 08:59:47 +02:00
Vinicius Rangel a0cf4ce7de
imgui: fix End call when window is collapsed (#850) 2024-09-09 07:00:19 +03:00
psucien 1da1946ef5 presentation barriers fixed 2024-09-09 00:10:33 +02:00
psucien 56cc70dc97 fix for image view storage flag handling 2024-09-09 00:09:38 +02:00
TheTurtle e3c2a91477
kernel: Delete cond attr
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
May solve memory leaks in games that create/destroy these often
2024-09-09 00:48:00 +03:00
Zack McKevitt 96f7a75f38
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 9101bd7ad4
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 446d8c4ff1
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 035cb3eeaa
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 f1becb2507 hot-fix: linear cubemaps check assert removed (verified)
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-08 14:18:48 +02:00
psucien 047a115b3e hot-fix: exclude tiling condition from promotion of textures to depth
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-08 11:12:25 +02:00
Blargle 749fe92882
Small fix for EmitQuadToTriangleListIndices (#831)
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-07 15:52:48 +03:00
Daniel R. fda5689ddb
core/libraries: reduce log pressure (#829) 2024-09-07 12:38:00 +03:00
Plínio Larrubia 81f7c830be
ci: enable cmake cache on all platforms (SDL/Qt) (#622)
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
- uses actions/cache@v4 and hendrikmuhs/ccache-action@v1.2.14
- Keeps the cache from CMake Cache configuration (Windows, Linux, macOS)
- Keeps the cache from CMake build objects (Linux/macOS)
- Use ccache for Linux builds
- Use sccache for macOS builds
- Add hashes to the s/ccache keys
- Update cache names with OS-qt/sdl as a prefix
- All old caches are invalidated, delete them or wait for cache eviction
2024-09-07 00:01:55 +02:00
¥IGA 16363ac692
Adding Refresh icon to toolbar (#816) 2024-09-07 00:26:56 +03:00
TheTurtle 13743b27fc
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 649527a235
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. 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