Commit graph

1674 commits

Author SHA1 Message Date
SleepingSnakezzz 840269a284 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 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
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
Plínio Larrubia 050232c4a0 ci: enable cmake cache on all platforms (SDL/Qt) (#622)
- 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 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
georgemoralis cb07347e7a Merge pull request #768 from squidbus/warning-fix
misc: Fix a few compiler warnings.
2024-09-04 12:56:09 +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