TheTurtle
82cacec8eb
shader_recompiler: Remove special case buffers and add support for aliasing ( #2428 )
...
* shader_recompiler: Move shared mem lowering into emitter
* IR can be quite verbose during first stages of translation, before ssa and constant prop passes have run that drastically simplify it. This lowering can also be done during emission so why not do it then to save some compilation time
* runtime_info: Pack PsColorBuffer into 8 bytes
* Drops the size of the total structure by half from 396 to 204 bytes. Also should make comparison of the array a bit faster, since its a hot path done every draw
* emit_spirv_context: Add infrastructure for buffer aliases
* Splits out the buffer creation function so it can be reused when defining multiple type aliases
* shader_recompiler: Merge srt_flatbuf into buffers list
* Its no longer a special case, yay
* shader_recompiler: Complete buffer aliasing support
* Add a bunch more types into buffers, such as F32 for float reads/writes and 8/16 bit integer types for formatted buffers
* shader_recompiler: Remove existing shared memory emulation
* The current impl relies on backend side implementaton and hooking into every shared memory access. It also doesnt handle atomics. Will be replaced by an IR pass that solves these issues
* shader_recompiler: Reintroduce shared memory on ssbo emulation
* Now it is performed with an IR pass, and combined with the previous commit cleanup, is fully transparent from the backend, other than requiring workgroup_index be provided as an attribute (computing this on every shared memory access is gonna be too verbose
* clang format
* buffer_cache: Reduce buffer sizes
* vk_rasterizer: Cleanup resource binding code
* Reduce noise in the functions, also remove some arguments which are class members
* Fix gcc
2025-02-15 14:06:56 +02:00
squidbus
6e12642151
shader_recompiler: Lower non-compute shared memory into spare VGPRs. ( #2403 )
2025-02-12 20:10:13 -08:00
squidbus
c9d425dc08
fix: Correct number of allocated VGPRs.
2025-02-12 17:53:52 -08:00
squidbus
2188895b40
buffer_cache: Give null buffer full usage flags. ( #2400 )
2025-02-11 00:19:38 -08:00
squidbus
843cd01308
fix: Disable VK_EXT_tooling_info on AMD proprietary for now.
2025-02-09 16:34:20 -08:00
psucien
04fe3a79b9
fix: lower UBO max size to account buffer cache offset ( #2388 )
...
* fix: lower UBO max size to account buffer cache offset
* review comments
* remove UBO size from spec and always set it to max on shader side
2025-02-09 22:03:20 +01:00
squidbus
15b520f4a2
renderer_vulkan: Skip tessellation isolines if not supported. ( #2384 )
2025-02-09 10:20:13 -08:00
psucien
5d4812d1a6
hot-fix: fix for unintended gamma correction bypass when HDR is disabled
2025-02-09 18:22:07 +01:00
psucien
8f2883a388
video_out: HDR support ( #2381 )
...
* Initial HDR support
* fix for crashes when debug tools used
2025-02-09 15:54:54 +01:00
squidbus
cfe249debe
shader_recompiler: Replace texel buffers with in-shader buffer format interpretation ( #2363 )
...
* shader_recompiler: Replace texel buffers with in-shader buffer format interpretation
* shader_recompiler: Move 10/11-bit float conversion to functions and address some comments.
* vulkan: Remove VK_KHR_maintenance5 as it is no longer needed for buffer views.
* shader_recompiler: Add helpers for composites and bitfields in pack/unpack.
* shader_recompiler: Use initializer_list for bitfield insert helper.
2025-02-06 20:40:49 -08:00
DanielSvoboda
46cbee1585
RemapSwizzle formatting ( #2368 )
...
This doesn't change anything, it just reduces duplicate information.
2025-02-06 18:18:02 -08:00
squidbus
78ea536c95
hotfix: 4444 swizzle order
2025-02-06 17:55:46 -08:00
squidbus
1a00b1af24
vulkan: Use more supported 4444 format. ( #2366 )
2025-02-06 17:45:47 -08:00
squidbus
1eb0affdea
vk_instance: Clean up extension management. ( #2342 )
2025-02-06 16:38:02 -08:00
Stephen Miller
e972a8805d
Bump size of buffer_views ( #2357 )
...
Uncharted 4 (and perhaps some other games) fill this up, causing a `Unhandled exception: boost::container::bad_alloc thrown` exception
2025-02-05 19:54:13 +02:00
squidbus
b879dd59c6
shader_recompiler: Add workaround for drivers with unexpected unorm rounding behavior. ( #2310 )
2025-02-04 01:01:59 -08:00
Vladislav Mikhalin
1d8c607c15
hotfix: stronger conditions for the vtx offset error message
2025-02-01 20:44:10 +03:00
squidbus
84c27eea2a
texture_cache: Make sure left-overlapped mips get marked for rebind. ( #2268 )
2025-02-01 01:54:40 -08:00
poly
eed4de1da9
renderer_vulkan: use LDS buffer as SSBO on unsupported shared memory size ( #2245 )
...
* renderer_vulkan: use LDS buffer as SSBO on unsupported shared memory size
* shader_recompiler: add `v_trunc_f64` on inst format table
2025-01-31 13:52:31 +02:00
tomboylover93
e805b97520
Add Vulkan debug options to the Debug tab ( #2254 )
...
Co-authored-by: DanielSvoboda <daniel.svoboda@hotmail.com>
2025-01-30 18:34:31 +01:00
squidbus
d2127b38de
vk_rasterizer: Keep viewport depth offset even without native depth clip control. ( #2257 )
2025-01-28 11:12:48 +03:00
Vladislav Mikhalin
191e64bfa1
renderer: respect zmin/zmax even if clipping is disabled ( #2250 )
2025-01-27 00:17:23 -08:00
squidbus
a5a1253185
liverpool: Implement PM4 MEM_SEMAPHORE. ( #2235 )
2025-01-25 04:12:18 -08:00
squidbus
a51c8c17e0
shader_recompiler: Fix image write swizzles. ( #2236 )
2025-01-24 12:47:04 -08:00
squidbus
56f4b8a2b8
shader_recompiler: Implement shader export formats. ( #2226 )
2025-01-24 10:41:58 -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
panzone91
d7c2cb17f3
update extension vector capacity ( #2210 )
2025-01-22 23:53:54 +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
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
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
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
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
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
polybiusproxy
99a04357d1
don't compile cs with higher shared memory than supported ( #2175 )
2025-01-17 21:51:33 +01: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