Henrik Rydgård
1f3969aff3
Merge pull request #16873 from hrydgard/dedicated-thread
...
Add facility to run tasks on dedicated threads using the ThreadManager interface
2023-01-31 11:50:59 +01:00
Henrik Rydgård
6b0903f566
Add facility to run tasks on dedicated threads using the ThreadManager interface.
...
Useful for things that should be run ASAP even if the threadpool is full,
at a small extra cost. (Not recommended for very small tasks).
Considering using this to resolve the deadlocks in #16802 .
2023-01-31 11:07:40 +01:00
Henrik Rydgård
d43452f0ce
Fix to shutdown sequence
2023-01-30 11:49:31 +01:00
Henrik Rydgård
784e8ab782
Fix a race condition during Vulkan shader cache load.
...
Could lead to unnecessary pipelines being created.
2023-01-13 10:35:04 +01:00
Henrik Rydgård
1cfc7b11b8
Only force indexed draws on PowerVR / Vulkan.
2023-01-11 22:59:30 +01:00
Henrik Rydgård
cf52324e9e
Vulkan: Fix pipeline cache clearing.
...
Extracted from #16759 and bugfixed. Fixes a leak of Vulkan pipelines.
I guess another way would be to queue the variants for destruction at
the same time as we queue the callback, but I like this better.
2023-01-09 09:49:55 +01:00
Henrik Rydgård
d83f84fdfd
DrawContext destructor: Need to call DestroyPresets earlier.
2022-12-29 17:32:49 +01:00
Unknown W. Brackets
4f216c941e
Vulkan: Fix reverse dependency on config.
2022-12-27 15:32:35 -08:00
Unknown W. Brackets
348b6f12f3
Vulkan: Remove some unused values.
2022-12-26 10:14:15 -08:00
Henrik Rydgård
26884150d7
Remove the 0th descriptor set, move everything else back to 0
2022-12-16 13:05:40 +01:00
Henrik Rydgård
a44af59f3a
Use vendor instead of lazy memory to detect tiling GPUs.
2022-12-14 16:59:20 +01:00
Henrik Rydgård
73cd9fac7d
Tiny optimization in PipelineDesc
2022-12-13 15:16:11 +01:00
Henrik Rydgård
675c282286
Hides the D3D9 option on Intel Xe graphics.
...
For whatever reason, it really doesn't work for me, while all three other
backends work perfectly. So let's just hide it.
You can still enable it through the ini file for debugging purposes.
2022-12-11 20:55:09 +01:00
Unknown W. Brackets
9cfcbc46e6
Global: Cleanup initialization/pointer checks.
...
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
cdb830f390
Minor optimization/cleanup
2022-12-10 12:05:40 +01:00
Unknown W. Brackets
78ed8d45a7
Vulkan: Defer deletion of shader module promises.
2022-12-03 14:53:10 -08:00
Unknown W. Brackets
53eedf06e3
Vulkan: Track pipeline desc using a refcount.
...
Not very safe to not allow deletes, and don't want to force Draw objects
on the deleter (this is referenced by them.)
2022-12-03 14:52:06 -08:00
Henrik Rydgård
2d6c632bfe
Check resolve mode, just to be safe.
2022-12-02 15:19:06 +01:00
Henrik Rydgård
75b558eb5f
Address feedback
2022-12-02 14:35:43 +01:00
Henrik Rydgård
8a3e92aa38
Not pretty, but with this, you can switch MSAA level at runtime.
2022-12-01 23:41:31 +01:00
Henrik Rydgård
28e1b532bd
Detect Apple/MoltenVK and allow multisampling. Unfortunately no support for sample rate shading.
2022-12-01 22:49:01 +01:00
Henrik Rydgård
4990683cf2
Implement "enhanced" multisample quality setting
2022-12-01 22:49:00 +01:00
Henrik Rydgård
8b9b80f044
Add path that uses CreateRenderpass2, we're gonna need it for depth resolve.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
e3679df6cf
Fix switching between MSAA levels
2022-12-01 22:49:00 +01:00