Commit Graph

2172 Commits

Author SHA1 Message Date
squidbus
4d12de8149 hotfix: 64-bit shift fixups 2025-01-24 03:14:37 -08:00
Marcin Mikołajczyk
9dcf40e261
Handle more 64bit shifts in Translator (#1825) 2025-01-24 03:07:36 -08:00
squidbus
d1b9a5adcc
texture_cache: Do not overwrite overlap hit with a miss. (#2217) 2025-01-24 10:23:18 +02:00
squidbus
74710116f6
renderer_vulkan: Remove dead code. (#2228) 2025-01-24 10:21:56 +02:00
squidbus
91444a0545
liverpool: Fix tiled check for color buffer. (#2227) 2025-01-24 10:21:32 +02:00
DanielSvoboda
a8a779c79b
Fix AutoUpdate Changelog (#2224) 2025-01-24 10:11:48 +02:00
Log3rinioo
cc4ddd28c3
Add missing Polish translations and fix typos (#2222) 2025-01-23 23:56:06 +02:00
DemoJameson
cef92fbcaa
Update Simplified Chinese translation (#2216)
* Update Simplified Chinese translation

* Fix incorrect translation

* Fix new line
2025-01-23 13:28:44 +02:00
DanielSvoboda
cc2e13873f
Fix showing debug menu bar / Devtools (#2214)
* Fix showing debug menu bar / Devtools

* Fix
2025-01-22 22:21:41 -03:00
DanielSvoboda
1fcfb07421
GUI: Settings improvements (#2213) 2025-01-23 00:21:52 +02:00
panzone91
d7c2cb17f3
update extension vector capacity (#2210) 2025-01-22 23:53:54 +02:00
お餅のCreeeper
e584444aa3
Update Japanese translation (#2209)
* Update Japanese translation

* Update Japanese translation

* Update Japanese translation
2025-01-22 23:52:27 +02:00
Vinicius Rangel
b3bce086b3
devtools: fix ReleaseKeyboard assert being triggered if many shader editor windows exist (#2205) 2025-01-22 12:08:49 -03:00
Stephen Miller
2968cf5a99
sceKernelVirtualQuery Fixes (#2204) 2025-01-22 16:06:27 +01:00
f3d209
adbff4056f
Added ability to change save data path (#2199)
* added ability to change save data path

* get default save data path from fs

* add copyright

* formatting
2025-01-22 12:10:35 +02:00
Stephen Miller
78ae9613c5
Fix for address_space initialization on Windows (#2202)
Should fix some `Region coalescing failed: Attempt to access invalid address.` crashes.

Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2025-01-22 12:07:43 +02:00
squidbus
2a4798cfa6
tile: Fix some tile thickness calculation errors. (#2203)
* tile: Fix some tile thickness calculation errors.

* tile: Do not pad mip height to tile height.
2025-01-22 09:40:00 +01:00
polyproxy
5c62a00134
clang-format (again) 2025-01-21 21:14:05 +01:00
polyproxy
41b3942833
clang-format 2025-01-21 19:34:05 +01:00
polyproxy
84a341dce5
remove BADF return 2025-01-21 19:30:34 +01:00
polyproxy
3563b88d8c
hotfix: use logger device on stdin 2025-01-21 19:28:39 +01:00
squidbus
95a30b2b3e
texture_cache: Lock when updating image. (#2198) 2025-01-20 22:38:09 +01:00
squidbus
a3967ccdb4
externals: Update vulkan-headers (#2197) 2025-01-20 14:48:32 +02:00
squidbus
e1132db197
texture_cache: Prevent unregistered images from being tracked. (#2196) 2025-01-20 08:33:37 +01:00
Stephen Miller
0f93edb377
Implement IMAGE_ATOMIC_SWAP (#2194)
We already handle everything for this opcode in our IMAGE_ATOMIC function, so implementing this is fairly simple.
Should improve Wipeout 3.
2025-01-19 19:20:51 -08:00
Stephen Miller
4fa501c8d5
Additional libSceNpManager functions and cleanup (#2195)
* Error return on sceNpGetAccountIdA

Confirmed through hardware testing, this returns ORBIS_NP_ERROR_SIGNED_OUT on a signed out console.

Parameters are based on fpPS4 code.

* Fix compile

* Move errors to separate file

* Cleanup function headers

Swaps user_ids to use our OrbisUserServiceUserId type, and fixes parameter names to align with our coding standards.

* Add proper parameter checks

* Implement sceNpGetAccountId

This function takes an online_id, uses an NpManager function to get the user_id, then uses that user_id to perform the same internal functions as sceNpGetAccountIdA.

* Implement sceNpHasSignedUp

* Fix sceNpGetAccountId

Further hardware testing shows that these always write 0 to account_id when failing.

* Update np_manager.cpp
2025-01-19 19:12:42 -08:00
squidbus
d14e57f6a8 hotfix: Move some command buffer references down.
Prevents references becoming stale due to stream buffer flushes.
2025-01-19 18:45:37 -08:00
DanielSvoboda
80092b6367
Fix SurfaceFormat Format4_4_4_4 (#2193)
* Fix SurfaceFormat Format4_4_4_4

Pac-Man 256

* add_extension
2025-01-19 15:09:10 -08:00
DanielSvoboda
201f2817ca
Fix SurfaceFormat Format1_5_5_5 - Format5_5_5_1 (#2191)
* Fix SurfaceFormat Format1_5_5_5 - again

* Fix Format5_5_5_1
2025-01-19 13:55:27 -08:00
DanielSvoboda
17ac63d23a
Fix SurfaceFormat (#2188) 2025-01-19 17:47:40 +02:00
DanielSvoboda
c8bbecda26
Devtools: Close Button ( X ) (#2187) 2025-01-19 17:45:24 +02:00
georgemoralis
a7d45231b7
Filesystem devices (#2184)
* added dummy devices

* More WIP

* added urandom,srandom,random,console,deci_tty6 devices

* small fix

* macOS fix
2025-01-19 10:44:57 -03:00
Quang Ngô
ec0dfb32b5
Some ImGui tweaks for the game window (#2183)
* Remove window border
* Remove window rounding
* Set background color to black
2025-01-19 09:03:15 -03:00
squidbus
746f2e091d
tile: Account for thickness in micro tiled size calculation. (#2185) 2025-01-19 12:06:31 +01:00
Vladislav Mikhalin
269ce12614 fix build on arch 2025-01-18 16:54:06 +03:00
¥IGA
388548ba47
pad: Configurable DeadZone (#2030) 2025-01-18 16:02:02 +03:00
kalaposfos13
3b92cd1c1a
CLI: Add argument to pass an argument to the game (#2135) 2025-01-18 15:21:08 +03:00
Quang Ngô
1ea5f8f092
input: Unbroke KBM-only input (#2179) 2025-01-18 13:48:39 +03:00
squidbus
c80151adde
vk_presenter: Fix splash issues. (#2180) 2025-01-18 02:29:19 -08:00
squidbus
d361579618
texture_cache: Fix image mip overlap. (#2177) 2025-01-18 10:35:44 +01:00
squidbus
12364b197a
renderer_vulkan: Remove swapchain image reinterpretation. (#2176) 2025-01-18 01:13:16 -08:00
Quang Ngô
81ad575b22
video_core: Use adaptive mutex on Linux (#2105)
Fix performance regression with #1973 on SteamDeck
2025-01-17 23:47:38 -08:00
Quang Ngô
9a956f5ed0
renderer_vulkan: Clear blank frame (#2095)
* renderer_vulkan: Clear blank frame

Fix display of garbage images on startup on some drivers.

* Remove duplicated attachment declarations

* Remove duplicated rendering_info declarations
2025-01-17 23:08:45 -08:00
tomboylover93
40385e13e7
qt: Improve user experience on Steam Deck and window managers (#2103) 2025-01-18 10:08:20 +03:00
Quang Ngô
90b04e8cc0
input: Don't use old input state in GameController::ReadState() (#2170) 2025-01-18 09:59:38 +03:00
Vladislav Mikhalin
7b8177f48e
renderer: handle disabled clipping (#2146)
Co-authored-by: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2025-01-18 09:20:38 +03:00
Ian Maclachlan
a5440e0e43
Update kernel.cpp (#2125)
In kernel.cpp boost io_context.reset() deprecated/discontinued in latest versions.  Changed to io_context.restart() as recommended.
2025-01-17 22:16:07 -08:00
¥IGA
e134fc5f1e
Qt: Open shadPS4 Folder (#2107)
* Qt: Open shadPS4 Folder

* clang-format

* Change order

* Update pt_BR.ts
2025-01-17 22:09:10 -08:00
polybiusproxy
99a04357d1
don't compile cs with higher shared memory than supported (#2175) 2025-01-17 21:51:33 +01:00
Vinicius Rangel
4e8c178aec
imgui: central node auto-hide tab (#2174) 2025-01-17 16:11:37 -03:00
squidbus
9e5b50c866
vk_platform: Clean up unnecessary debug message filters. (#2171) 2025-01-17 10:16:15 +02:00
squidbus
1d3427780a
renderer_vulkan: Fix present related validation errors. (#2169) 2025-01-17 10:16:03 +02:00
squidbus
1e5b316ac4
renderer_vulkan: Add debug markers for presenter. (#2167) 2025-01-17 10:15:43 +02:00
baggins183
c13b29662e
handle control point strides that arent a multiple of 16 (#2172) 2025-01-17 10:14:54 +02:00
squidbus
3b474a12f9
shader_recompiler: Improvements to buffer addressing implementation. (#2123) 2025-01-16 18:40:03 -08:00
squidbus
eb49193309
liverpool: Revert queue scope markers. (#2166) 2025-01-16 18:24:29 -08:00
Vinicius Rangel
8695383d35
keep framerate stable even without vsync (#2165) 2025-01-16 21:10:17 -03:00
Vinicius Rangel
56a6c95730
Render without rendering (#2152)
* presenter: render the game inside a ImGui window

* presenter: render the previous frame to keep the render rendering

* swapchain: fix swapchain image view format not being converted to unorm

* devtools: fix frame graph timing
2025-01-16 21:27:23 +02:00
Stephen Miller
440a693fae
Crash on sceKernelDebugRaiseExceptionOnReleaseMode (#2163) 2025-01-16 18:22:39 +01:00
georgemoralis
4695aaa830
sceKernelAio* implementation (#2160)
* draft Aio from https://github.com/GoldHEN/GoldHEN_Plugins_Repository

* cleanup and fixes to Aio
2025-01-16 18:27:52 +02:00
squidbus
34a5f2319c
network: Remove firing Np callbacks from check stubs. (#2161) 2025-01-16 13:17:07 +02:00
squidbus
da2b58f66e
resource_tracking_pass: Persist image resource atomic designation. (#2158) 2025-01-16 12:36:41 +02:00
squidbus
b3739bea92
renderer_vulkan: Simplify debug marker settings. (#2159)
* renderer_vulkan: Simplify debug marker settings.

* liverpool: Add scope markers for graphics/compute queues.

* liverpool: Remove unneeded extra label from command buffer markers.

* vk_rasterizer: Add scopes around filtered draw passes.
2025-01-16 12:14:34 +02:00
DanielSvoboda
1c3048ccc2
Fix V_FRACT_F64 (#2156) 2025-01-15 16:45:02 +01:00
Stephen Miller
5a7d45fdfa
Missing pthread exports (#2144) 2025-01-15 18:37:20 +03:00
squidbus
53d0a309cc
liverpool_to_vk: Add R32Uint depth promote. (#2145) 2025-01-15 18:33:15 +03:00
Stephen Miller
c10f9b8269
Add libSceNpWebApi (#2150)
Includes a dummy return for sceNpWebApiInitialize, to make it return a positive value.
2025-01-15 13:19:41 +02:00
squidbus
5040be1640
renderer_vulkan: Handle depth-stencil copies through depth render overrides. (#2134) 2025-01-15 08:48:40 +03:00
squidbus
4719d32295
sdl: Respect text input main thread requirements. (#2138) 2025-01-12 22:44:42 +02:00
kalaposfos13
4f2f9494b0
GUI: Speed up GUI loading by caching game sizes (#2130)
* Add show game size toggle

* Fix (#7)

* Fix

I removed the gameSizeCheckBox from the 'Emulator' group and put it in 'GUI settings'
hLayoutTrophy which contains the Trophy information was inside the GUIMusicLayout, so I fixed that too.

* TR

* Use cached sizes if the feature is enabled

---------

Co-authored-by: DanielSvoboda <daniel.svoboda@hotmail.com>
2025-01-12 22:31:05 +02:00
Stephen Miller
c6ab149c56
libSceHttp2 Stubs (#2139)
* Auto-generate libSceHttp2

* Improved stub for sceHttp2Init

Needed for updated versions of Cyberpunk 2077.

Parameters are based on fpPS4, while the stub itself is based on similar stubs in our other networking libraries.

* Clang

I guess the line length calculations in the moduleGenerator are still not perfect?
2025-01-12 22:27:54 +02:00
psucien
394331f206
video_core: detiler: display micro 64bpp (#2137) 2025-01-12 19:25:25 +01:00
Stephen Miller
8a309c30a9
Check thread param on posix_pthread_rename_np (#2133) 2025-01-12 11:24:49 +02:00
Stephen Miller
466e071c97
Add libSceSsl2 stubs (#2132)
* Auto-generate libSceSsl2 stubs

* Copy over sceSslInit stub

* Update CMakeLists.txt

* Swap to Lib_Ssl2 log category

* Fix compile

Since libSceSsl has many functions of the same name, these functions get treated as overloaded functions and break compiling.

* Clang
2025-01-12 11:24:12 +02:00
squidbus
82cb298c5c
shader_recompiler: Remove AMD native CubeFaceCoord. (#2129) 2025-01-11 13:57:49 -08:00
squidbus
5810c88c00 hotfix: Fix cube instructions. 2025-01-11 12:04:46 -08:00
Stephen Miller
62bbad62fc
Implement sceNpCmp functions (#2114) 2025-01-11 17:58:07 +01:00
DemoJameson
5ac7e70e4b
Update zh_CN.ts (#2122) 2025-01-11 17:55:10 +01:00
squidbus
5c845d4ecc hotfix: Constrain view layers to actual layers. 2025-01-10 16:30:28 -08:00
squidbus
6ec68f66a9 hotfix: Check correct template for setting binding divisor. 2025-01-10 15:59:20 -08:00
Quang Ngô
cfaea1ea6d
qt_gui: Fix shortcut's name got cut off in some cases (#2116)
Example: P.T. -> P
2025-01-10 22:59:19 +02:00
DanielSvoboda
4a21d94871
Fix -PKG Viewer -Button install (#2113)
https://github.com/shadps4-emu/shadPS4/issues/2112
2025-01-10 22:58:41 +02:00
squidbus
e656093d85
shader_recompiler: Fix some image view type issues. (#2118) 2025-01-10 12:35:03 -08:00
squidbus
562ed2a025
renderer_vulkan: Simplify vertex binding logic and properly handle null buffers. (#2104)
* renderer_vulkan: Simplify vertex binding logic and properly handle null buffers.

* renderer_vulkan: Remove need for empty bindVertexBuffers2EXT.
2025-01-10 10:52:12 +02:00
squidbus
4563b6379d
amdgpu: Handle 8-bit float format case for stencil. (#2092) 2025-01-10 10:49:08 +02:00
squidbus
725814ce01
shader_recompiler: Improvements to array and cube handling. (#2083)
* shader_recompiler: Account for instruction array flag in image type.

* shader_recompiler: Check da flag for all mimg instructions.

* shader_recompiler: Convert cube images into 2D arrays.

* shader_recompiler: Move image resource functions into sharp type.

* shader_recompiler: Use native AMD cube instructions when possible.

* specialization: Fix buffer storage mistake.
2025-01-10 10:48:12 +02:00
DanielSvoboda
93402620de
GUI: Open Log Location - Button (#2102) 2025-01-09 08:42:07 +02:00
squidbus
65f9bbbfed
shader_recompiler: Ignore exec mask for scalar instructions. (#2097) 2025-01-08 19:14:06 +02:00
Stephen Miller
fc50567fc2
Unmap Fixes (#2080)
* Fix unmapping reserved memory

* Fix bug with unmapping before reserve

* Clang

* Ignore free memory pages

* Handle pooled memory
2025-01-08 14:08:54 +02:00
squidbus
8f5bcb0f1c
file_sys: Consolidate separate update directory handling. (#2041) 2025-01-08 13:23:40 +02:00
squidbus
af8c748e9c
elf_info: Fix GCC build. (#2089) 2025-01-07 17:37:08 +02:00
kalaposfos13
4df0d9c035
Add support for true fullscreen (#2016)
* Support for true fullscreen

* clang

* Re-add mistakenly deleted line

* Size

I adjusted the size of the entire screen.
trophies font size and added a margin so it wouldn't be so spaced out.

---------

Co-authored-by: DanielSvoboda <daniel.svoboda@hotmail.com>
2025-01-07 15:30:05 +02:00
F1219R
32fc983ef8
Update sq translation (#2084)
* Update sq translation

* Update sq translation
2025-01-07 13:58:33 +02:00
squidbus
b0d7feb292
video_core: Implement conversion for uncommon/unsupported number formats. (#2047)
* video_core: Implement conversion for uncommon/unsupported number formats.

* shader_recompiler: Reinterpret image sample output as well.

* liverpool_to_vk: Remove mappings for remapped number formats.

These were poorly supported by drivers anyway.

* resource_tracking_pass: Fix image write swizzle mistake.

* amdgpu: Add missing specialization and move format mapping data to types

* reinterpret: Fix U/SToF input type.
2025-01-07 12:21:49 +02:00
kalaposfos13
c3ecf599ad
Add motion controls toggle (#2029)
* Add motion controls toggle

* clang
2025-01-07 11:50:54 +02:00
squidbus
86038e6a71
shader_recompiler: Fix V_CMP_U_F32 (#2082) 2025-01-07 11:36:14 +02:00
Daniel Nylander
7bf467c653
Updated Swedish translation with additional strings (#2081)
* Adding Swedish translation

* Updated Swedish translation with additional strings

Updated the Swedish translations using lupdate to found additional strings

cd src/qt_gui/treanslations

lupdate ../../../../shadPS4/ -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP,translate+=TRANSLATE_PLURAL_STR,translate+=TRANSLATE_PLURAL_FS -no-obsolete -locations none -source-language en -ts sv.ts

* Update sv.ts
2025-01-07 09:55:53 +02:00
squidbus
c08fc85b72
renderer_vulkan: Fix null buffer views with wrong format. (#2079) 2025-01-07 07:00:07 +02:00
DanielSvoboda
39b511070a
TR: remove 'location' (#2078) 2025-01-07 06:58:49 +02:00
psucien
5559f35905 hot-fix: buffers resolve barriers fixed 2025-01-06 22:50:09 +01:00
Daniel Nylander
6f3c767b99
Adding Swedish translation (#2075) 2025-01-06 23:10:15 +02:00
georgemoralis
121328eced
dummy sceMouse module and change sceMouseRead to debug to reduce spam (#2074) 2025-01-06 18:45:53 +02:00
squidbus
fb67d948b6
vk_resource_pool: Handle eErrorFragmentedPool. (#2071) 2025-01-06 15:31:45 +02:00
squidbus
7cdeb51670
renderer_vulkan: Add debug names to pipelines. (#2069) 2025-01-06 15:31:25 +02:00
squidbus
8879380427
shader_recompiler: Implement S_BITSET(0/1)_B32 (#2039) 2025-01-06 01:08:27 +02:00
Stephen Miller
e5f638b378
fix scePlayGoGetLocus (#2067)
Due to an issue with the if statement, scePlayGoGetLocus outputs an extra locus compared to real hardware.
2025-01-06 00:46:26 +02:00
Bettehem
4dcd7f0271
translation: Update Finnish translation (#2057) 2025-01-06 00:46:08 +02:00
squidbus
c0f57df4e6
vk_instance: Enable additional debug tagging if crash diagnostics is enabled. (#2066) 2025-01-06 00:45:54 +02:00
Mahmoud Adel
79663789bd
bump up vector size to 64 in image_info and image_binding (#2055)
solves ```boost::bad_alloc``` error when compiling shaders
2025-01-05 00:02:37 +02:00
psucien
9d3143231c macOS build fixed; indirect_args_addr moved out from queues context 2025-01-04 22:44:46 +01:00
psucien
7459d9c333 hot-fix: amdgpu: use different indirect dispatch packet on ASC 2025-01-04 22:23:12 +01:00
Quang Ngô
f2f24bb2cd
input: Add missing poll lock (#2044) 2025-01-04 14:33:23 +02:00
squidbus
f42b8acf47
sdl_audio: Remove buffer samples hint. (#2038) 2025-01-04 14:33:07 +02:00
squidbus
78a32a3c0f
image_info: Add Neo mode macro tile extents. (#2045) 2025-01-04 11:44:14 +01:00
psucien
ddc658f8c8 clang-format 2025-01-04 00:32:17 +01:00
squidbus
7153bc8d8f
kernel: Check PSF for neo mode support. (#2028) 2025-01-04 00:29:09 +01:00
psucien
8e8671323a
texture_cache: slight detilers refactoring (#2036) 2025-01-03 21:42:23 +01:00
squidbus
c2be12f009
amdgpu: Add some resource bits for Neo mode. (#2035) 2025-01-03 21:25:20 +01:00
squidbus
9434cae458
gnmdriver: Implement neo mode differences. (#2011)
* gnmdriver: Implement neo mode differences.

* gnmdriver: Move init sequences to separate file.
2025-01-03 21:22:27 +01:00
¥IGA
2951788afc
texture_cache: Adding some missing textures (#2031) 2025-01-03 20:11:24 +01:00
psucien
345d55669e texture_cache: 8bpp macro detiler 2025-01-02 23:27:18 +01:00
georgemoralis
4e1733222f
fixed deadzones (#2025) 2025-01-02 23:21:43 +02:00
TheTurtle
dcc662ff1a
ir_passes: Integrate DS barriers in block (#2020) 2025-01-02 22:52:10 +02:00
Stephen Miller
67c531298a
Fixup returns (#2023)
On a signed out console, these two functions return ERROR_SIGNED_OUT.
2025-01-02 22:51:47 +02:00
TheTurtle
77d2172441
renderer_vulkan: Cleanup and improve barriers in caches (#1865)
* texture_cache: Stricter barriers on image upload

* buffer_cache: Stricter barrier for vkCmdUpdateBuffer

* vk_rasterizer: Barrier also normal buffers and make it apply to all stages

* texture_cache: Minor barrier cleanup

* Batch image and buffer barriers in a single command

* clang format
2025-01-02 19:43:56 +01:00
psucien
f7a8e2409c hot-fix: debug build 2025-01-02 19:41:15 +01:00
polyproxy
55ccec4a38
fix typos 2025-01-02 18:40:10 +01:00
Vinicius Rangel
c977011d2f
Merge pull request #2014 from viniciuslrangel/save-fixes-vi
Save Fixes VI
2025-01-02 12:40:05 -03:00
¥IGA
b87bca2e46
Reduce USBD Log Spamming (#2019) 2025-01-02 17:37:19 +02:00
squidbus
55b50171f8
audio: Improve port state guards. (#1998) 2025-01-02 17:33:53 +02:00
liberodark
596f4cdf0e
Fix amdgpu & other issues (#2000) 2025-01-02 15:39:39 +02:00
TheTurtle
c25447097e
buffer_cache: Improve buffer cache locking contention (#1973)
* Improve buffer cache locking contention

* buffer_cache: Revert some changes

* clang fmt 1

* clang fmt 2

* clang fmt 3

* buffer_cache: Fix build
2025-01-02 15:39:02 +02:00
hspir404
6862c9aad7
Speed up LiverpoolToVK::SurfaceFormat (#1982)
* Speed up LiverpoolToVK::SurfaceFormat

In Bloodborne this shows up as the function with the very highest cumulative "exclusive time". This is true both in scenes that perform poorly, and scenes that perform well.

I took (approximately) 10s samples using an 8khz sampling profiler.

In the Nightmare Grand Cathedral (looking towards the stairs, at the rest of the level):
- Reduced total time from 757.34ms to 82.61ms (out of ~10000ms).
- Reduced average frame times by 2ms (though according to the graph, the gap may be as big as 9ms every N frames).

In the Hunter's Dream (in the spawn position):
- Reduced the total time from 486.50ms to 53.83ms (out of ~10000ms).
- Average frame times appear to be roughly the same.

These are profiles of the change vs the version currently in the main branch. These improvements also improve things in the `threading` branch. They might improve them even more in that branch, but I didn't bother keeping track of my measurements as well in that branch. I believe this change will still be useful even when that branch is stabilized and merged.

It could be there are other bottlenecks in rendering on this branch that are preventing this code from being the critical path in places like the Hunter's Dream, where performance isn't currently as constrained. That might explain why the reduction in call times isn't resulting in a higher frame rate.

* Implement SurfaceFormat with derived lookup table instead of switch

* Clang format fixes
2025-01-02 15:38:51 +02:00
Mahmoud Adel
099e685bff
add R16Uint to Format Detiler (#1995)
helps with Matterfall
2025-01-02 14:29:57 +02:00
polyproxy
1926900945
hotfix: reset stop source on thread stop 2025-01-02 12:30:05 +01:00
polyproxy
33afc00c3a
Update improper wording in translations 2025-01-02 10:07:48 +01:00
Vinicius Rangel
3109bd245f
savedata: Avoid Save memory concurrency 2025-01-02 05:04:54 -03:00
DanielSvoboda
8b66e9f78d
GUI: Settings - Trophy Key (#2013)
* GUI: Settings-Trophy Key

* -

* QLineEdit::Password

* clang

* size
2025-01-02 09:15:08 +02:00
georgemoralis
4e0757ed55
Removed LLE libs (#2012)
* Removed LLE fiber, JpegEnc modules . HLE replacements are good enough

* fixup
2025-01-01 23:08:56 +02:00
psucien
40211642ca kernel: memory: PRT mapped area setter/getter 2025-01-01 21:04:59 +01:00
psucien
444016df7e
Fix for trophy decryption (#2005)
* fix for trophy decryption

* more sanity checks

* switch back to strings for simplicity

* get rid of unnecessary span
2025-01-01 19:11:30 +01:00
kalaposfos13
15c9bb0e83
Motion controls (#1984)
* Initial motion controls

* Store sensor polling rate, and add more logging

* Revert commented out logging for testing purposes

* Code cleanup & clang

* New orientation handling

* clang
2025-01-01 20:05:22 +02:00
Stephen Miller
5631a31640
Fix flags (#1999) 2025-01-01 19:34:40 +02:00
polybiusproxy
a76e8f0211
clang-format 2025-01-01 13:21:00 +01:00
georgemoralis
283442b42f
Storing encryption trophy key in config.toml (#1930)
* get trophy key from toml file

* clang format fix

* get trophy key from toml file

* clang format fix

* merge fixes

* Update config.cpp
2025-01-01 12:04:51 +02:00
psucien
d69341fd31 hot-fix: detiler: forgotten lut optimizations 2025-01-01 03:40:28 +01:00
oltolm
65cd3be4ca
Qt: fix deprecation warnings (#1672) 2024-12-31 20:08:47 +02:00
psucien
174b5c0f95 kernel: equeue: added missing sceKernelDeleteHRTimerEvent 2024-12-31 17:24:56 +01:00
squidbus
48c51bd9ef
audio: Accurate audio output timing. (#1986)
* audio: Accurate audio output timing.

* audio: Handle SDL audio queue stalls.

* audio: Format info cleanup.
2024-12-31 12:38:52 +02:00
squidbus
927dc6d95c
vk_platform: Fix incorrect type for MVK debug flag. (#1993) 2024-12-31 12:38:30 +02:00
squidbus
f41829707d
equeue: Fix regression from Filter type. (#1992) 2024-12-31 12:16:26 +02:00
squidbus
e1cf1f500d
native_clock: Remove unused process code. (#1989) 2024-12-31 10:04:26 +02:00
squidbus
41d64a200d
shader_recompiler: Add swizzle support for unsupported formats. (#1869)
* shader_recompiler: Add swizzle support for unsupported formats.

* renderer_vulkan: Rework MRT swizzles and add unsupported format swizzle support.

* shader_recompiler: Clean up swizzle handling and handle ImageRead storage swizzle.

* shader_recompiler: Fix type errors

* liverpool_to_vk: Remove redundant clear color swizzles.

* shader_recompiler: Reduce CompositeConstruct to constants where possible.

* shader_recompiler: Fix ImageRead/Write and StoreBufferFormatF32 types.

* amdgpu: Add a few more unsupported format remaps.
2024-12-31 06:14:47 +02:00
squidbus
284f473a52
shader_recompiler: Fix BitCount64 and FindILsb64 (#1978) 2024-12-31 06:10:29 +02:00
baggins183
62780e4e43
Initialize V0 to PrimitiveId in hull shader (#1985) 2024-12-31 06:00:52 +02:00
Stephen Miller
9091223396
Fix sceKernelGetEventFilter (#1987) 2024-12-31 05:59:14 +02:00
Nenkai
ac2e8c2602
gnmdriver: remove redundant EqEventType assert (#1975) 2024-12-29 19:15:04 +01:00
squidbus
38f1cc2652
renderer_vulkan: Render polygons using triangle fans. (#1969) 2024-12-29 12:30:37 +01:00
Quang Ngô
1bc27135e3
renderer_vulkan: fix deadlock when resizing the SDL window (#1860)
* renderer_vulkan: Fix deadlock when resizing the SDL window

* Address review comment
2024-12-29 13:22:35 +02:00
Vladislav Mikhalin
ee72d99947
ajm: added stubbed statistics instance (#1924)
* ajm: added stubbed statistics instance

* fixed a typo, thanks poly

* fixed clang-format

* removed unused struct

* small fixes

* fixed typedefs, added per codec statistics
2024-12-29 12:53:06 +02:00
TheTurtle
f09a95453e
hot-fix: Correct queue id in dispatch indirect
I missed this
2024-12-29 12:48:45 +02:00
Mahmoud Adel
e952013fe0
add EventWrite and DispatchIndirect to ProcessCompute (#1948)
* add EventWrite and DispatchIndirect to ProcessCompute

helps Alienation go Ingame

* apply review changes

Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>

---------

Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-12-29 12:47:15 +02:00
squidbus
f8177902a5
cubeb_audio: Make sure COM is initialized on Windows. (#1958) 2024-12-29 12:46:59 +02:00
squidbus
248220fef3
pthread: Change minimum stack for HLE to additional stack. (#1960) 2024-12-29 12:37:37 +02:00
baggins183
62c47cb1b7
recompiler: handle reads of output variables in hull shaders (#1962)
* Handle output control point reads in hull shader. Might need additional barriers

* output storage class
2024-12-29 12:37:15 +02:00
Quang Ngô
202c1046a1
Fix loading RenderDoc in offline mode for Linux (#1968) 2024-12-29 12:36:29 +02:00
Quang Ngô
468d7ea80e
config: Don't load config in the Emulator class (#1965)
Allows overriding of configs in frontends.

Fix set fullscreen not working when specified in the CLI.
2024-12-29 12:36:16 +02:00
Quang Ngô
ab7e794f23
sdl: Limit minimum window size (#1966) 2024-12-29 12:35:52 +02:00
polyproxy
ee974414d2
hotfix: fix fiber initialization 2024-12-28 17:43:29 +01:00
polybiusproxy
851995d444
libraries/fiber: implement context switching (#1950) 2024-12-28 17:33:40 +01:00
tomboylover93
e8b0fdd6cc
style: add Tokyo Night theme (#1811)
* style: add Tokyo Night theme

* clang-format: Update main_window_themes.h
2024-12-28 17:09:33 +02:00
Quang Ngô
a8b4e14bf5
Fix SDL version cannot launch game using game ID (#1650)
* Fix SDL version cannot launch game using game ID

Missing from https://github.com/shadps4-emu/shadPS4/pull/1507.

* Added --add-game-folder argument
Also added "treat the last argument as the game, if it isn't found already" option to the qt version

---------

Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
2024-12-28 16:35:12 +02:00
rainmakerv2
8447d6ea1c
Remove PS4 pro mode from GUI, can still be edited in from config file (#1871) 2024-12-28 14:30:26 +01:00
jas0n098
63d2d1ebe8
Handle RectList primitives in Geometry shaders (#1936) 2024-12-28 13:19:41 +02:00
DemoJameson
668d5f65dc
Update zh_CN translation (#1946) 2024-12-28 13:19:16 +02:00
Quang Ngô
99e1e028c0
texture_cache: Don't read max ansio value if not aniso filter (#1942)
Fix Sonic Forces.
2024-12-28 13:18:56 +02:00
polybiusproxy
817a62468e
core: better memory configuration (#1896) 2024-12-28 12:03:00 +01:00
mailwl
55f78a0b94
libraries: Add libSceMove HLE skeleton (#1945)
* libraries: Add libSceMove HLE skeleton

* Fix clang-format issue
2024-12-28 12:58:37 +02:00
DemoJameson
9aabe98e4e
Fix a translation not working (#1947) 2024-12-28 11:49:44 +01:00
psucien
04933ac863 hot-fix: handle ASC ring wrap 2024-12-28 11:44:11 +01:00
Stephen Miller
122fe22a32
Implement IMAGE_GATHER4 and IMAGE_GATHER4_O (#1939)
* Implement IMAGE_GATHER4_O

Used by The Last of Us Remastered.

* Fix type on IMAGE_GATHER4_C_LZ

Had a different set of types compared to the other IMAGE_GATHER4 ops.

* IMAGE_GATHER4
2024-12-28 02:42:41 +02:00
squidbus
49ffb7b120
sdl_audio: Implement SetVolume and add more error checking. (#1935) 2024-12-28 00:07:16 +02:00
georgemoralis
3218c36b22
knack fixes by niko (#1933) 2024-12-27 23:03:03 +02:00
DanielSvoboda
abe85fd3e0
GUI: Fix TR Units - Size and Time - more... (#1927)
* GUI: TR Units - Size and Time

Added translation for these units:
B, KB, MB, GB, TB
h, m, s

Added missing text:
Games: - text in the lower left corner
Compatibility...
Update database
View report
Submit a report

Fixed the size of the settings menu

* Audio Backend

* Fixed the size of the settings menu
2024-12-27 22:23:11 +02:00
squidbus
333f35ef25
audio: Implement cubeb audio out backend. (#1895)
* audio: Implement cubeb audio out backend.

* cubeb_audio: Add some additional safety checks.

* cubeb_audio: Add debug logging callback.

* audioout: Refactor backend ports into class.

* pthread: Bump minimum stack size to fix cubeb crash.

* cubeb_audio: Replace output yield loop with condvar.

* common: Rename ring_buffer_base to RingBuffer.
2024-12-27 21:04:49 +02:00
Nenkai
f95803664b
equeue: sceGnmGetEqEventType/sceKernelGetEventData impl (#1839) 2024-12-27 20:33:45 +02:00
Martin
e40ede5db2
Update nb translation (#1904)
* add more translations and make more consistent nb

* typo and make easier to read

* fix wording
2024-12-27 16:51:23 +02:00
Yury
ff4d37cbc8
Update russian translation for 0.5.0 (#1903) 2024-12-27 16:50:46 +02:00
Quang Ngô
0351b864d0
texture_cache: Enable anisotropic filtering (#1872) 2024-12-27 16:47:26 +02:00
squidbus
a86ee7e7f5
vk_platform: Enable MoltenVK debug if crash diagnostics is enabled. (#1887)
* vk_platform: Enable MoltenVK debug if crash diagnostics is enabled.

* build: Make sure MoltenVK gets re-bundled when changed.
2024-12-27 16:46:31 +02:00
squidbus
b1f74660df
shader_recompiler: Implement S_BCNT1_I32_B64 and S_FF1_I32_B64 (#1889)
* shader_recompiler: Implement S_BCNT1_I32_B64

* shader_recompiler: Implement S_FF1_I32_B64

* shader_recompiler: Implement IEqual for 64-bit.

* shader_recompiler: Fix immediate type in S_FF1_I32_B32
2024-12-27 16:46:07 +02:00
mailwl
1c5947d93b
Load HLE library if native library can't be loaded (#1899) 2024-12-27 16:44:57 +02:00
¥IGA
cf84c46a49
Fix for D32Sfloat and R8Snorm Tiled image (#1898)
* Fix for D32Sfloat Tiled image

* Fix for R8Snorm Tiled image
2024-12-27 16:43:44 +02:00
mailwl
0677d7a214
Avoid to access invalid iterator (#1892) 2024-12-27 16:43:10 +02:00
DanielSvoboda
9b8de8d320
Fix TR (#1897) 2024-12-27 13:54:31 +02:00
f8ith
5dd1e7c32e
settings-dialog: use grid layout (#1920) 2024-12-27 13:53:41 +02:00
Vinicius Rangel
edc027a8bc
Devtools IV (#1910)
* devtools: fix popen in non-windows environment

* devtools: fix frame crash assertion when hidden

* devtools: add search to shader list

* devtools: add copy name to shader list

* devtools: frame dump: search by shader name
2024-12-26 23:08:47 +02:00
IndecisiveTurtle
0bb1c05aff hot-fix: Drop key
* Caution is best
2024-12-26 17:41:40 +02:00
Daniel R.
cbb13fa39b
hotfix: fix incorrect appcontent available space size 2024-12-26 13:18:53 +01:00
Mohsen
91d4044162
Translated most of the remaining texts into Persian (fa_IR.ts) and fixed incorrect translations (#1885) 2024-12-26 13:01:31 +01:00
F1219R
e885088632
Update sq translation (#1893) 2024-12-26 12:58:42 +01:00
bigol83
ba9273d1cc
Update it.ts (#1894)
Add missing translation and fixed some typos
2024-12-26 12:53:20 +01:00
DanielSvoboda
0939082aca
Fix button changelog (#1882) 2024-12-25 23:58:19 +02:00
georgemoralis
3a1a3fc75e 0.5.1 WIP started 2024-12-25 22:42:49 +02:00
georgemoralis
a1a98966ee retagged 0.5.0 2024-12-25 22:35:00 +02:00
georgemoralis
195929953b tagged 0.5.0 2024-12-25 22:08:43 +02:00
DanielSvoboda
3d0d1a26df
Add missing translations (#1879)
* Add missing translations

* +
2024-12-25 22:05:36 +02:00
¥IGA
3ab118837a
Fix for D16Unorm Tiled image (#1863) 2024-12-25 16:06:12 +02:00
squidbus
3c111202e1
renderer_vulkan: Make sure at least one viewport is set (#1859) 2024-12-25 16:05:51 +02:00
f8ith
d55e41a19e
compatibility_data: Added compatibility related settings to GUI (#1855)
* compatibility_data: added compatibility related settings to gui
* New game compatibility section in settings dialog
* Context menu now has a compatibility section
* Adjusted minimum size of updater section to 265

* update translations

* revert to deprecated statechanged

* fix display compatibility data option
2024-12-25 09:30:09 +02:00
squidbus
a89c29c2ca
shader_recompiler: Rework image read/write emit. (#1819) 2024-12-25 01:13:32 +02:00
squidbus
95638d5ca5
exception: Fix raising exceptions on POSIX systems (#1868) 2024-12-25 00:21:32 +02:00
squidbus
6d728ec7ed
renderer_vulkan: Enable LDS barriers for MoltenVK (#1866) 2024-12-24 23:03:04 +02:00
IndecisiveTurtle
7b24b42711 data_share: Emit barrier before reads
* Fixes artifacts in TLG when using NVIDIA gpus. When LDS is written and read in the same basic block, the barrier pass wont handle it properly, so insert a barrier before reads
2024-12-24 16:04:30 +02:00
IndecisiveTurtle
8f7eb2d0e9 semaphore: Attempt to acquire before checking timeout
* The posix specification says that if the object can be acquired immediately, timeout doesnt matter
2024-12-24 15:39:17 +02:00
Daniel R.
c284cf72e1
Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
Daniel R.
2c0f986c52
core/libraries: HLE fiber reimplementation (#1836) 2024-12-24 13:33:00 +01:00
squidbus
0a4453b912
renderer_vulkan: Simplify depth pipeline state and move stencil to dynamic state. (#1854)
* renderer_vulkan: Simplify depth pipeline state and move stencil to dynamic state.

* Change graphics key depth-stencil flags to bitfields.
2024-12-24 13:45:11 +02:00
TheTurtle
092d42e981
renderer_vulkan: Implement rectlist emulation with tessellation (#1857)
* renderer_vulkan: Implement rectlist emulation with tessellation

* clang format

* renderer_vulkan: Use tessellation for quad primitive as well

* vk_rasterizer: Handle viewport enable flags

* review

* shader_recompiler: Fix quad/rect list FS passthrough semantics.

* spirv: Bump to 1.5

* remove pragma

---------

Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
2024-12-24 13:28:47 +02:00
psucien
c2e9c877dd hot-fix: missing fce barrier 2024-12-23 18:20:37 +01:00
Quang Ngô
400da1aa8d
Handle swapchain recreation (#1830) 2024-12-23 16:21:48 +02:00
Emulator-Team-2
94f861588d
added B5G6R5UnormPack16 format (#1856) 2024-12-23 15:52:29 +02:00
DanielSvoboda
dfdd819e3e
Fix AutoUpdate Issue with Non-Latin Usernames/Directories (#1853)
* Fix updater for non-Latin user directories

* QStandardPaths
2024-12-23 09:29:30 +02:00
psucien
43fd8fa44a hot-fix: macos release build 2024-12-22 23:11:16 +01:00
psucien
2dc5755799 build: exclude Tracy from release builds 2024-12-22 22:51:48 +01:00
psucien
8abc43a03d
texture_cache: 32bpp and 64bpp macro detilers (#1852)
* added 32bpp macro detiler

* added 64bpp macro detiler

* consider 3d depth alignment in size calculations
2024-12-22 19:43:44 +01:00
Vladislav Mikhalin
7fe4df85ab
Clear color attachment if FCE was invoked before any draws (#1851)
* Clear RT if FCE was invoked before any draws

Co-authored-by: psucien <bad_cast@protonmail.com>

* address review comments

---------

Co-authored-by: psucien <bad_cast@protonmail.com>
2024-12-22 18:12:43 +01:00
setepenre
8a409d86d4
post-processing: rework gamma correction (#1756) 2024-12-22 16:18:07 +01:00
squidbus
ab5240d8d2
qt: Do not run emulator on separate thread on Mac. (#1849) 2024-12-22 16:31:59 +02:00
squidbus
14dc136832
renderer_vulkan: Various attachment cleanup and fixes. (#1795) 2024-12-22 16:08:48 +02:00
Quang Ngô
aba2b29074
gui: start the emulator in new thread (#1829) 2024-12-22 15:47:28 +02:00
rainmakerv2
433d9459e0
Disable trophy pop-up with config setting (#1834) 2024-12-22 15:46:45 +02:00
TheTurtle
5eebb04de9
vk_rasterizer: hot fix 2024-12-22 15:31:10 +02:00
squidbus
fac21a5362
audio: Move port logic out of SDL backend and define backend interface. (#1848) 2024-12-22 11:46:28 +02:00
f8ith
0931802151
compatibility_data: various fixes (#1847)
* temporarily disable status column + various fixes

* add configuration option to enable compatibility data

* clang format
2024-12-22 11:05:44 +02:00
TheTurtle
fb2c035c05
vk_rasterizer: Fix stencil clears (#1840) 2024-12-22 02:49:42 +02:00
squidbus
7e890def48
fs: Return nullptr when file descriptor is out of bounds. (#1842) 2024-12-22 02:49:34 +02:00
Daniel R.
8d8bb05055
renderer_vulkan: add support for Polygon draws (#1798) 2024-12-21 10:20:24 +01:00
alvinkim101
39fed1f469
Fix splash assert (#1832) 2024-12-20 19:27:27 +01:00
Alessandro Ampala
953fb14638
Fix update on windows when path contains powershell wildcards (#1391) (#1779)
* Fix update process on windows when there are some powershell wildcards in the installation path. (#1391)

* Fix coding style error. (#1391)
2024-12-19 10:59:26 +02:00
f8ith
f2a989b9da
wip: added status column for compat data (#1668)
* wip: added basic gui for compat data

* data is currently pulled directly from github API, awaiting server infra

* removed unused initalizer

* fixes

* fix cmake

* wip: add some testing date / version

* add tooltip

* fix nested QJsonObject

* fix tooltip color

* fix clang-format

* Edit style

* Add clickable status

* formatting

* import order

* typo

* fix clang format 2

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-12-19 10:58:11 +02:00
georgemoralis
b0b74243af clang-fix 2024-12-19 10:25:03 +02:00
TheTurtle
188eebb92a
ir: Add heuristic based LDS barrier pass (#1801)
* ir: Add heuristic based LDS barrier pass

* Attempts to insert barriers after zero-depth divergant conditional blocks in shaders that use shared memory

* lds_barriers: Limit to nvidia

* Intel has historically had problems with cs barriers, will debug other time
2024-12-19 10:18:28 +02:00
TheTurtle
adf4b635f7
hot-fix: Proper abi on init_routine 2024-12-18 22:11:09 +02:00
Mahmoud Adel
1e08099036
add R8Uint in image Detiling (#1812)
used by InFamous, and maybe other games
2024-12-18 22:06:30 +02:00
Stephen Miller
32435674f2
Misc UE4 fixes (#1821)
* Add ExecLo case to S_SAVEEXEC_B64

Seen in CUSA38209

* S_BCNT1_I32_B32

Turtle said our implementation of S_BCNT1_I32_B64 was meant to be for S_BCNT1_I32_B32, so renaming the opcode is the fix.
2024-12-18 22:05:35 +02:00
Marcin Mikołajczyk
b1b4c8c487
Handle setting Vcc in Translator::SetDst64 (#1826) 2024-12-18 21:57:58 +02:00
Marcin Mikołajczyk
be4c38bf1c
Handle 32bit int ImageFormat (#1823) 2024-12-18 21:48:00 +02:00
squidbus
ccfb1bbfa8
vk_instance: Add additional fallback for missing D16UnormS8Uint. (#1810) 2024-12-18 07:56:08 +02:00
squidbus
87773a417b
mac: Choose whether system Vulkan is needed at runtime. (#1780) 2024-12-17 15:04:19 +02:00