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
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
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
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
squidbus
53d0a309cc
liverpool_to_vk: Add R32Uint depth promote. ( #2145 )
2025-01-15 18:33:15 +03:00
squidbus
5040be1640
renderer_vulkan: Handle depth-stencil copies through depth render overrides. ( #2134 )
2025-01-15 08:48:40 +03:00
psucien
394331f206
video_core: detiler: display micro 64bpp ( #2137 )
2025-01-12 19:25:25 +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
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
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
squidbus
c08fc85b72
renderer_vulkan: Fix null buffer views with wrong format. ( #2079 )
2025-01-07 07:00:07 +02:00
psucien
5559f35905
hot-fix: buffers resolve barriers fixed
2025-01-06 22:50:09 +01: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
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
squidbus
78a32a3c0f
image_info: Add Neo mode macro tile extents. ( #2045 )
2025-01-04 11:44:14 +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
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
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
polybiusproxy
a76e8f0211
clang-format
2025-01-01 13:21:00 +01:00
psucien
d69341fd31
hot-fix: detiler: forgotten lut optimizations
2025-01-01 03:40:28 +01:00
squidbus
927dc6d95c
vk_platform: Fix incorrect type for MVK debug flag. ( #1993 )
2024-12-31 12:38:30 +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
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
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
Quang Ngô
202c1046a1
Fix loading RenderDoc in offline mode for Linux ( #1968 )
2024-12-29 12:36:29 +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
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
¥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
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
¥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
squidbus
a89c29c2ca
shader_recompiler: Rework image read/write emit. ( #1819 )
2024-12-25 01:13:32 +02:00
squidbus
6d728ec7ed
renderer_vulkan: Enable LDS barriers for MoltenVK ( #1866 )
2024-12-24 23:03:04 +02:00
Daniel R.
c284cf72e1
Switch remaining CRLF terminated files to LF
2024-12-24 13:56:31 +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
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
14dc136832
renderer_vulkan: Various attachment cleanup and fixes. ( #1795 )
2024-12-22 16:08:48 +02:00
TheTurtle
5eebb04de9
vk_rasterizer: hot fix
2024-12-22 15:31:10 +02:00
TheTurtle
fb2c035c05
vk_rasterizer: Fix stencil clears ( #1840 )
2024-12-22 02:49:42 +02:00
Daniel R.
8d8bb05055
renderer_vulkan: add support for Polygon draws ( #1798 )
2024-12-21 10:20:24 +01: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
Mahmoud Adel
1e08099036
add R8Uint in image Detiling ( #1812 )
...
used by InFamous, and maybe other games
2024-12-18 22:06:30 +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
psucien
e7c4ffe032
hot-fix: Tracy operation restored; memory leak fix as a bonus
2024-12-15 20:53:29 +01:00
psucien
0fd1ab674b
GPU processor refactoring ( #1787 )
...
* coroutine code prettification
* asc queues submission refactoring
* better asc ring context handling
* final touches and review notes
* even more simplification for context saving
2024-12-15 00:54:46 +02:00
squidbus
8b88344679
vk_instance: Remove unused dynamic state 2 features struct ( #1791 )
2024-12-14 22:46:19 +02:00
TheTurtle
e9ede8d627
Revert "DmaData and Recompiler fixes ( #1775 )" ( #1784 )
...
This reverts commit cafd40f2c2
.
2024-12-14 16:17:14 +02:00
squidbus
e752f04cde
shader_recompiler: Fixups from stencil changes ( #1776 )
2024-12-14 14:33:24 +02:00
Vladislav Mikhalin
cafd40f2c2
DmaData and Recompiler fixes ( #1775 )
...
* liverpool: fix dmadata packet handling
* recompiler: emit a label right after s_branch to prevent dead code interferrence
* specialize barriers
2024-12-14 14:33:06 +02:00
baggins183
3c0c921ef5
Tessellation ( #1528 )
...
* shader_recompiler: Tessellation WIP
* fix compiler errors after merge
DONT MERGE set log file to /dev/null
DONT MERGE linux pthread bb fix
save work
DONT MERGE dump ir
save more work
fix mistake with ES shader
skip list
add input patch control points dynamic state
random stuff
* WIP Tessellation partial implementation. Squash commits
* test: make local/tcs use attr arrays
* attr arrays in TCS/TES
* dont define empty attr arrays
* switch to special opcodes for tess tcs/tes reads and tcs writes
* impl tcs/tes read attr insts
* rebase fix
* save some work
* save work probably broken and slow
* put Vertex LogicalStage after TCS and TES to fix bindings
* more refactors
* refactor pattern matching and optimize modulos (disabled)
* enable modulo opt
* copyright
* rebase fixes
* remove some prints
* remove some stuff
* Add TCS/TES support for shader patching and use LogicalStage
* refactor and handle wider DS instructions
* get rid of GetAttributes for special tess constants reads. Immediately replace some upon seeing readconstbuffer. Gets rid of some extra passes over IR
* stop relying on GNMX HsConstants struct. Change runtime_info.hs_info and some regs
* delete some more stuff
* update comments for current implementation
* some cleanup
* uint error
* more cleanup
* remove patch control points dynamic state (because runtime_info already depends on it)
* fix potential problem with determining passthrough
---------
Co-authored-by: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-12-14 12:56:17 +02:00
squidbus
3e22622508
renderer_vulkan: Remove some fallbacks and misc format queries that are no longer needed. ( #1773 )
2024-12-14 12:04:30 +02:00
squidbus
8caca4df32
shader_recompiler: Support VK_AMD_shader_image_load_store_lod for IMAGE_STORE_MIP ( #1770 )
...
* shader_recompiler: Support VK_AMD_shader_image_load_store_lod for IMAGE_STORE_MIP
* emit_spirv: Fix missing extension declaration.
2024-12-14 12:03:42 +02:00
Diego Cea López
715ac8a279
vk_shader_hle: Don't alter the order of the skipped copies. ( #1757 )
...
* vk_shader_hle: Don't alter the order of the skipped copies.
* Simplification.
* Format.
* More simplification.
2024-12-14 00:27:09 +02:00
TheTurtle
722a0e36be
graphics: Improve handling of color buffer and storage image swizzles ( #1763 )
...
* liverpool_to_vk: Remove wrong component swap formats
* shader_recompiler: Handle storage and buffer format swizzles
* shader_recompiler: Skip unsupported depth export
* image_view: Remove image format swizzle
* Platform support is not always guaranteed
2024-12-13 21:49:37 +02:00
squidbus
028be3ba5d
shader_recompiler: Emulate unnormalized sampler coordinates in shader. ( #1762 )
...
* shader_recompiler: Emulate unnormalized sampler coordinates in shader.
* Address review comments.
2024-12-13 21:49:07 +02:00
TheTurtle
cfbd869126
texture_cache: Improve support for stencil reads ( #1758 )
...
* texture_cache: Improve support for stencil reads
* libraries: Supress some spammy logs
* core: Support loading font libraries
* texture_cache: Remove assert
2024-12-13 18:28:19 +02:00
Diego Cea López
1e3d034f96
Fix HLE buffer copy not executed when there's only 1 copy. ( #1754 )
2024-12-12 22:45:56 +02:00
squidbus
ec8e5d5ef1
renderer_vulkan: Fix some color attachment indexing issues. ( #1755 )
2024-12-12 20:45:18 +02:00
Osyotr
7aa868562c
video_core: add eR5G5B5A1UnormPack16 support to the detiler ( #1741 )
2024-12-12 15:45:59 +02:00
squidbus
3d1e332c6f
renderer_vulkan: Disable culling for RectList. ( #1749 )
2024-12-12 11:05:59 +02:00
squidbus
714605c6a7
renderer_vulkan: Require exact image format for resolve pass. ( #1742 )
2024-12-11 21:51:39 +01:00
squidbus
14f7dc3527
cache: Invalidate pages for file reads. ( #1726 )
...
* cache: Invalidate pages for file reads.
* texture_cache: Simplify invalidate intersection check.
* vk_rasterizer: Make aware of mapped memory ranges.
* buffer_cache: Remove redundant page calculations.
Called functions will convert to page numbers/addresses themselves.
* file_system: Simplify memory invalidation and add a few missed cases.
2024-12-11 21:11:24 +02:00
squidbus
e612e881ac
renderer_vulkan: Bind null color attachments when target is masked out. ( #1740 )
...
* renderer_vulkan: Bind null color attachments when target is masked out.
* Simplify setting null color attachment
2024-12-11 21:10:40 +02:00
Daniel R.
2a953391ef
liverpool: implement Rewind and IndirectBuffer packets
2024-12-11 19:40:45 +01:00
¥IGA
51bf98a7b5
Fix for R4G4B4A4UnormPack16 Tiled image ( #1738 )
2024-12-11 16:07:33 +02:00
squidbus
e5e1aba241
renderer_vulkan: Introduce shader HLE system with copy shader implementation. ( #1683 )
...
* renderer_vulkan: Introduce shader HLE system with copy shader implementation.
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
* buffer_cache: Handle obtaining buffer views partially within buffers.
* vk_shader_hle: Make more efficient
---------
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-12-10 14:44:08 +02:00
Vinicius Rangel
f1b23c616e
Devtools - Shader editing ( #1705 )
...
* devtools: shader editing and compiling
* devtools: patch shader at runtime
* devtools: shader editing load patch even with config disabled
2024-12-09 21:11:11 +01:00
squidbus
f347d3df18
image_view: Correct view format for D16Unorm images as well. ( #1708 )
2024-12-08 21:53:29 +01:00
Daniel R.
1793fd4df0
format
2024-12-08 16:05:36 +01:00
Daniel R.
a88850fec6
video_core/amdgpu: fix calculation of lod range
2024-12-08 16:02:38 +01:00
Daniel R.
0b672a08ac
video_core: improve image cube heuristic
2024-12-08 15:57:51 +01:00
squidbus
7d546f32d8
image_view: Add more BGRA storage format swizzles. ( #1693 )
2024-12-08 10:19:39 +02:00
TheTurtle
8ee672fe32
hot-fix: Allow unpriviledged userfaultfd
2024-12-08 00:10:20 +02:00
¥IGA
2266622dcf
Support for Vulkan 1.4 ( #1665 )
2024-12-07 19:41:41 +02:00
psucien
941a668f78
hot-fix: obtain cmdbuf for dispatches after cache ops
...
This fixes cmdbuf being in incorrect state after scheduler rotation on flush
2024-12-07 10:30:36 +01:00
Vladislav Mikhalin
8eacb88a86
recompiler: fixed fragment shader built-in attribute access ( #1676 )
...
* recompiler: fixed fragment shader built-in attribute access
* handle en/addr separately
* handle other registers as well
2024-12-07 01:20:09 +02:00
IndecisiveTurtle
357b7829c3
hot-fix: Silence depth macrotiled warning
2024-12-06 21:50:25 +02:00
IndecisiveTurtle
6acfdd5e33
buffer_cache: Bump usable address space to 40bits
...
* Fixes crashes in games that use the upper region of user area
2024-12-06 20:00:21 +02:00
TheTurtle
9e618c0e0c
video_core: Add multipler to handle special cases of texture buffer stride mismatch ( #1640 )
...
* page_manager: Enable userfaultfd by default
* Much faster than page faults and causes less problems
* shader_recompiler: Add texel buffer multiplier
* Fixes format mismatch assert when vsharp stride is multiple of format stride
* shader_recompiler: Specialize UBOs on size
* Some games can perform manual vertex pulling and thus bind read only buffers of varying size. We only recompile when the vsharp size is larger than size in shader, in opposite case its not needed
* clang format
2024-12-06 19:54:59 +02:00
squidbus
d05846a327
specialization: Fix fetch shader field type ( #1675 )
2024-12-06 12:59:55 +02:00
squidbus
17abbcd74d
misc: Fix clang format ( #1673 )
2024-12-06 02:21:35 +02:00
IndecisiveTurtle
77da8bac00
core: Return proper address of eh frame/add more opcodes
2024-12-06 00:47:11 +02:00
TheTurtle
22a2741ea0
shader_recompilers: Improvements to SSA phi generation and lane instruction elimination ( #1667 )
...
* shader_recompiler: Add use tracking for Insts
* ssa_rewrite: Recursively remove phis
* ssa_rewrite: Correct recursive trivial phi elimination
* ir: Improve read lane folding pass
* control_flow: Avoid adding unnecessary divergant blocks
* clang format
* externals: Update ext-boost
---------
Co-authored-by: Frodo Baggins <baggins31084@proton.me>
2024-12-05 23:14:16 +02:00
Marcin Mikołajczyk
642dedea8c
Handle INDIRECT_BUFFER_CONST in ProcessCeUpdate ( #1613 )
2024-12-05 23:09:59 +02:00
psucien
37f4bad2b7
video_core: fix for targets clears and copies ( #1670 )
2024-12-05 23:09:22 +02:00
Daniel R.
98f0cb65d7
The way to Unity, pt.1 ( #1659 )
2024-12-05 17:21:35 +01:00
squidbus
920acb8d8b
renderer_vulkan: Parse fetch shader per-pipeline ( #1656 )
...
* shader_recompiler: Read image format info directly from sharps instead of storing in shader info.
* renderer_vulkan: Parse fetch shader per-pipeline
* Few minor fixes.
* shader_recompiler: Specialize on vertex attribute number types.
* shader_recompiler: Move GetDrawOffsets to fetch shader
2024-12-04 13:03:47 +02:00
squidbus
74b091fd08
renderer_vulkan: Add support for indexed QuadList draw. ( #1661 )
2024-12-04 10:15:58 +01:00
psucien
f0b75289c8
video_core: few detiler formats added
2024-12-02 22:24:54 +01:00
TheTurtle
eb844b9b63
shader_recompiler: Implement manual barycentric interpolation path ( #1644 )
...
* shader_recompiler: Implement manual barycentric interpolation path
* clang format
* emit_spirv: Fix typo
* emit_spirv: Simplify variable definition
* spirv_emit: clang format
2024-12-02 23:20:54 +02:00
Vinicius Rangel
0835dc71b3
More devtools stuff ( #1637 )
...
* devtools: memory map viewer
* devtools: batch highlight only for non-group viewer
* devtools: fix not showing entire user data
* devtools: shader debug viewer
* devtools: add more reg naming
2024-12-01 19:34:29 +01:00
psucien
f658fc58d1
Merge pull request #1630 from vladmikhalin/fix-missing-rts
...
Fixed incorrectly skipped RTs
2024-12-01 16:47:25 +01:00