Henrik Rydgård
a780d02c07
Minor reordering
2023-10-09 11:54:15 +02:00
Henrik Rydgård
316bc03ac9
Move the destroy function for VKRPipelineLayout to VulkanRenderManager
2023-10-09 11:54:13 +02:00
Henrik Rydgård
ae58fe3828
In GL and Vulkan soft-skin, we might not be fully done decoding when we reach flush. Take that into account.
2023-10-08 16:51:58 +02:00
Henrik Rydgård
c73e2351de
Add checks for unused topology values when loading pipeline caches.
2023-10-08 13:39:04 +02:00
Henrik Rydgård
28ed12aa93
Simplify descriptor pool creation
2023-10-08 12:39:19 +02:00
Henrik Rydgård
b82a34539d
Same as last commit, but in DrawEngineVulkan.
2023-10-08 12:39:19 +02:00
Henrik Rydgård
dbe395dd00
Add a wrapper around VKRPipelineLayout / descsetlayout
2023-10-08 12:39:18 +02:00
Henrik Rydgård
34fbbf2c2a
Split out the descriptorset pool from VulkanMemory.cpp/h
2023-10-08 11:45:00 +02:00
Henrik Rydgård
10ccbfd68c
Unify the clearing of variables after a draw call
2023-10-06 15:39:59 +02:00
Henrik Rydgård
d4703e9534
Decoded position format is always the same
2023-10-06 15:39:58 +02:00
Henrik Rydgård
e63bb0459c
Add a new stat, so we can see per game if the optimization has an effect
2023-10-03 11:01:37 +02:00
Henrik Rydgård
92ffef2626
Remove some state from IndexGenerator, fix bugs. Mostly works except vertex cache.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
9b411af1f5
It's running.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
fb4a1fb7dd
Simplify disk-cache-load on GLES as well, for the same reasons as #18216
2023-09-30 13:45:13 +02:00
Henrik Rydgård
abbd1c83bd
Revert "Merge pull request #18184 from hrydgard/expand-lines-mem-fix"
...
This reverts commit 65b995ac6c
, reversing
changes made to 01c3c3638f
.
2023-09-27 20:04:37 +02:00
Henrik Rydgård
48d3efc473
Bump shader cache versions again, just because.
2023-09-27 17:38:15 +02:00
Henrik Rydgård
f2cfbe1bcf
Vulkan: Add the same shutdown logic to stop async shader compiles to DeviceLost
2023-09-26 01:28:59 +02:00
Henrik Rydgård
01035f48a4
Fix for crash when changing backends in-game
2023-09-26 00:13:53 +02:00
Henrik Rydgård
6e303e8f1d
Vulkan: Simplify GetShaders and DirtyLastShader, making them internally consistent.
2023-09-24 11:55:15 +02:00
Henrik Rydgård
d31ba393af
Don't load the shader cache on a separate thread - all it does is already async
2023-09-24 10:53:23 +02:00
Henrik Rydgård
964f606a9c
Fix some issues around geometry shaders - like, loading them from shader cache while disabled
2023-09-24 01:29:38 +02:00
Henrik Rydgård
dbd3045f87
Join the shader cache load thread on exit
2023-09-24 01:07:08 +02:00
Henrik Rydgård
9a515c851f
Vulkan: Extend the cacheLock usage in GetShaders (was unsafe, though mildly)
2023-09-24 00:58:45 +02:00
Henrik Rydgård
6a8f65b566
Some assert paranoia, remove unused "failed_" variable
2023-09-23 10:09:32 +02:00
Henrik Rydgård
1aab1c4b09
Be a bit smarter when loading the shader cache, avoid duplicating work
2023-09-21 10:44:04 +02:00
Henrik Rydgård
2e171b22ec
Vulkan: Remove an assert that didn't give much actionable information. Replace with reporting.
2023-09-20 22:50:38 +02:00
Henrik Rydgård
65b995ac6c
Merge pull request #18184 from hrydgard/expand-lines-mem-fix
...
Add memory bounds-check when expanding points, rects and lines to triangles
2023-09-20 20:39:16 +02:00
Henrik Rydgård
966144fa64
Bounds check writing to the index buffer when expanding lines/rects/points
2023-09-20 19:26:36 +02:00
Henrik Rydgård
3f2ef508c9
Make it easier to reason about space in the inds buffer by moving an offset instead of the pointer.
2023-09-20 19:23:24 +02:00
Henrik Rydgård
3783afd855
Fix a really bad race condition during game shutdown.
2023-09-20 18:47:32 +02:00
Henrik Rydgård
5c94b41dde
Vulkan: If a createimageview failed, don't leak the image. Probably very rare.
2023-09-20 18:47:32 +02:00
Henrik Rydgård
0bfd166200
Try to prevent a weird shutdown race condition that I'm not sure can happen - but crash logs show it
2023-09-18 16:45:07 +02:00
Henrik Rydgård
f4b0cddda3
ShaderId: Safer way to check for backend.
2023-09-18 16:25:00 +02:00
Henrik Rydgård
b7d28cd10a
Remove redundant fail state. Bail from shader cache load if a fragment shader fails to generate, too.
2023-09-18 14:38:22 +02:00
Henrik Rydgård
447b28d277
Vulkan DrawEngine: Reset bound secondary texture on clear.
...
Fixes a validation error hit in Beats
2023-09-12 17:15:26 +02:00
Henrik Rydgård
97404354ef
More asserts and checks in pipeline manager
2023-09-11 17:38:17 +02:00
Henrik Rydgård
052747aa30
Add reporting of GLSL shader gen errors
2023-09-11 15:37:35 +02:00
Henrik Rydgård
10f93875c6
Fix the semantics of DenseHashMap to be consistent even when inserting nulls
2023-09-11 12:07:18 +02:00
Henrik Rydgård
162b363063
Bump shader cache version, just because.
2023-09-09 15:13:52 +02:00
Henrik Rydgård
f70d233511
Vulkan: Fix ordering issue in tex loading - decided on color swizzle too early
2023-09-06 22:48:11 +02:00
Henrik Rydgård
0aa67e5276
Add some texture loading safety checks
...
I hit a spurious, non-reproducible debug assert in Archer McLean's Mercury.
Just want to rule out some bad code paths.
2023-09-06 15:38:47 +02:00
Henrik Rydgård
a5117249bd
Add a debug assert during texture loading.
2023-08-29 23:15:30 +02:00
Henrik Rydgård
8a6e288fcc
Add checkboxes in developer tools to allow disabling ubershaders.
...
Might be helpful to diagnose performance problems on user devices.
Additionally, moves the texture replacement controls to the top. They
should probably be moved somewhere else entirely...
See #17918
2023-08-17 20:16:04 +02:00
Henrik Rydgård
ff6e118fff
Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically.
2023-08-14 11:02:29 +02:00
Henrik Rydgård
be63ce3a4a
Minor refactor allowing getting the GPU profile string outside games
2023-08-03 16:31:20 +02:00
Henrik Rydgård
eb21a2e6c9
Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h
2023-06-30 17:15:49 +02:00
Henrik Rydgård
7cc8c6cea4
OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI).
2023-06-20 14:40:46 +02:00
Henrik Rydgård
6d8069dfd1
Vulkan: Remove the remains of the input attachment experiment
...
Haven't been using these for a while.
I've come to the conclusion here that I think it's better to try to
deal with the issues using safe workarounds like copies, instead of
relying on features with somewhat iffy driver support that are not
universal across APIs anyway.
2023-06-13 20:46:27 +02:00
Henrik Rydgård
f5516d3248
Actually switch away from XXH to a custom hash, to de-risk
2023-06-12 14:24:20 +02:00
Henrik Rydgård
2f90ec6093
Breakout the vertex caching (just code cleanup)
2023-06-12 13:16:14 +02:00