Henrik Rydgård
b5de9e0cc3
Some preparations
2023-02-16 23:17:08 +01:00
Henrik Rydgård
64e80423a6
Simplify the tilt code, tweak a bit
2023-02-16 11:07:57 +01:00
Henrik Rydgård
5ad111cfc4
Return value fix
2023-02-08 08:59:47 +01:00
Henrik Rydgård
b3e6b81e43
Implement delayed depth readbacks for Vulkan only
2023-02-07 23:13:36 +01:00
ZiHan Huang
2865310bca
vulkan: Add the function realization of arm device to kms vulkan
...
Signed-off-by: ZiHan Huang <zack.huang@rock-chips.com>
2023-02-07 14:23:55 +08:00
Henrik Rydgård
30fbcf356a
Merge pull request #16914 from hrydgard/readback-more-prep
...
Some more plumbing of parameters, preparing for readback stuff
2023-02-05 23:25:57 +01:00
Henrik Rydgård
ec5afb2d8d
Merge pull request #16812 from unknownbrackets/task-priority
...
ThreadManager: Add simple priority queues
2023-02-05 21:00:47 +01:00
Henrik Rydgård
937975000b
Add a ReadbackMode parameter to more functions in the FramebufferManager
2023-02-05 13:57:45 +01:00
Henrik Rydgård
31df6bf0fe
Move some code around, get rid of some unnecessary fences
2023-02-05 00:35:30 +01:00
Henrik Rydgård
7b5def9ff6
Use VMA to manage readback memory
2023-02-04 23:52:38 +01:00
Henrik Rydgård
4427cb4fc3
Add parameter to thin3d::CopyFramebufferToMemory to specify blocking mode. Not yet implemented.
2023-02-04 23:40:36 +01:00
Unknown W. Brackets
88ba003f46
ThreadManager: Add a simple priority field.
...
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Henrik Rydgård
a67604d003
Tighten up shader compilation logging
2023-02-01 11:42:25 +01:00
Henrik Rydgård
1437c2f707
Comment update
2023-02-01 11:15:33 +01:00
Henrik Rydgård
6a290d7999
Measure pipeline compilation time since scheduling, to judge parallelism
2023-02-01 11:15:33 +01:00
Henrik Rydgård
8821d619e4
Create pipelines in parallel
2023-02-01 11:15:33 +01:00
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
a0c893cc8f
Fix ThreadFrame. All OK now except shutdown, it seems
2023-01-30 11:49:31 +01:00
Henrik Rydgård
b62572a78f
Refactor the framedata/GPU thread management.
2023-01-30 11:49:31 +01:00
Unknown W. Brackets
6af6ccc1cf
Global: Fix some format warnings.
2023-01-18 21:42:19 -08: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
609e7f13c9
Handle a couple of valid but rare return values from vkAcquireNextImageKHR.
...
See #16601
2023-01-12 08:59:09 +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
44f60ba2f0
Remove overly noisy log
2023-01-05 08:38:53 +01:00
Henrik Rydgård
7e374c9324
Address feedback, more fixes
2023-01-05 08:38:53 +01:00
Henrik Rydgård
1353817afa
Merge pull request #16689 from unknownbrackets/vk-shutdown
...
Vulkan: Avoid race in compile thread exit
2023-01-01 15:59:55 +01:00
Unknown W. Brackets
6c79d94814
Vulkan: Avoid race in compile thread exit.
2023-01-01 06:40:26 -08:00
Henrik Rydgård
9ceffa284d
Vulkan: Add robustness against bad shader module compiles
2022-12-31 12:21:53 +01:00
Henrik Rydgård
d2feb444b7
Bunch of defensive programming around shaders
2022-12-31 12:21:51 +01:00
Henrik Rydgård
d83f84fdfd
DrawContext destructor: Need to call DestroyPresets earlier.
2022-12-29 17:32:49 +01:00
Henrik Rydgård
708162a2b0
Vulkan validation layers: Cap outputting the same message at 10 times.
2022-12-29 00:39:59 +01:00
Unknown W. Brackets
4f216c941e
Vulkan: Fix reverse dependency on config.
2022-12-27 15:32:35 -08:00
Unknown W. Brackets
682f5fae97
UI: Fix reverse-dependency in PathBrowser.
2022-12-27 15:08:57 -08:00
Unknown W. Brackets
ec309d55ab
GPU: Cleanup definition of shader resources.
...
Was in the wrong header file, which was a bit confusing.
2022-12-27 14:35:49 -08:00
Unknown W. Brackets
348b6f12f3
Vulkan: Remove some unused values.
2022-12-26 10:14:15 -08:00
Henrik Rydgård
25115fee7f
Found a bug where we tried to look up queue family -1 when initializing the frame profiler.
2022-12-23 11:37:59 +01:00
Henrik Rydgård
31d5881c90
Enable support for Android Vulkan validation. Fix a minor validation error.
2022-12-22 11:13:52 +01:00
Henrik Rydgård
6922ee7e52
Add some asserts in the hope of gathering some more info (and consolidating some crashes).
2022-12-18 21:58:20 +01: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
e6b7817cc6
Disable pre-rotation for 270 degree transform (inverse landscape).
...
Causes bizarre issues, see #15773
2022-12-15 11:29:11 +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
11366a2ded
Don't refer directly to g_Config.iMultiSampleLevel, it can contain unsupported modes.
2022-12-14 16:43:37 +01:00
Unknown W. Brackets
8c1a247b7b
Vulkan: Cleanup some logspam.
2022-12-13 18:29:23 -08:00
Henrik Rydgård
00ebf4957f
Make shader cache loading a bit more lenient.
2022-12-13 23:06:57 +01:00
Henrik Rydgård
30e1bc0540
Some logging improvements
2022-12-13 16:29:07 +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