Commit graph

1663 commits

Author SHA1 Message Date
psucien
56cc70dc97 fix for image view storage flag handling 2024-09-09 00:09:38 +02:00
TheTurtle
e3c2a91477
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
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) 2024-09-08 14:18:48 +02:00
psucien
047a115b3e hot-fix: exclude tiling condition from promotion of textures to depth 2024-09-08 11:12:25 +02:00
Blargle
749fe92882
Small fix for EmitQuadToTriangleListIndices (#831) 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)
- 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) 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 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 2024-09-05 09:58:51 +02:00
Daniel R.
eb2520a240
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
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
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
georgemoralis
ba0c1df545
Merge pull request #768 from squidbus/warning-fix
misc: Fix a few compiler warnings.
2024-09-04 12:56:09 +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) 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