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
Henrik Rydgård
4dfce4f6bc
Basically working MSAA on desktop GPUs! Some glitches remain.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
06af304c8d
Multisampling groundwork
2022-12-01 22:49:00 +01:00
Henrik Rydgård
6daecb4e2b
Add check for tiling GPUs. We'll use this to inform on what MSAA modes to support.
2022-12-01 22:48:59 +01:00
Unknown W. Brackets
4866518b84
Merge pull request #16477 from hrydgard/invalidation-refactor
...
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
2022-12-01 11:05:04 -08:00
Henrik Rydgård
331d024a8c
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
...
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00
Henrik Rydgård
40ae99073b
Remove std::string from VulkanTexture
2022-12-01 12:17:03 +01:00
Unknown W. Brackets
5666dc5890
Vulkan: Correct maxAniso handling in Draw.
2022-11-27 19:17:01 -08:00
Henrik Rydgård
d97035fffc
Merge pull request #16434 from unknownbrackets/stencil-opt
...
Vulkan: Use stencil export when available
2022-11-25 10:06:41 +01:00
Unknown W. Brackets
9fcccd789a
Vulkan: Correct displayed depth/stencil format.
...
Also corrects handling of non-24 bit depth when reducing the range.
2022-11-24 19:09:42 -08:00
Unknown W. Brackets
b33662550f
Vulkan: Use stencil export when available.
...
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Henrik Rydgård
55b1dc6ef4
Warning fixes
2022-11-24 12:14:52 +01:00
Henrik Rydgård
70d1d8fa07
Replace the "GetCurrentStepId"-based state invalidation with callbacks
2022-11-24 10:52:42 +01:00
Unknown W. Brackets
3f875af2d7
Vulkan: Mark Adreno bug resolved on recent driver.
...
Playing it safe for 5xx devices and assuming they are still affected.
2022-11-12 17:41:48 -08:00
Henrik Rydgård
668904a515
Vulkan: Use the very same view as input attachment and color attachment, not just the same image
...
Fixes most of the new validation errors seen #16351 , though one remains.
I believe that to be a bug in the validation layers, will investigate
later.
2022-11-07 09:14:55 +01:00
Henrik Rydgård
7742fbdeb6
Switch RenderPassType to be a "proper" bitfield enum.
2022-11-05 22:06:53 +01:00
Henrik Rydgård
c6fe91224a
Vulkan: Fixes validation errors with "null" textures
...
These arise in non-buffered rendering when we don't have a framebuffer
to texture from.
2022-10-28 18:40:55 +02:00
Henrik Rydgård
96a5c52037
Vulkan: Reserve descriptor set 0 for frame-global data, move everything else to set 1
2022-10-28 09:39:56 +02:00
Henrik Rydgård
763afd4a8e
Improve compatibility checks for stereo rendering.
2022-10-27 11:05:59 +02:00
Henrik Rydgård
31fd928a5c
Name more image views. Very useful with a little patch to the Vulkan debug layers.
2022-10-27 11:05:59 +02:00
Henrik Rydgård
2a1526c352
Address feedback
2022-10-27 11:05:59 +02:00
Henrik Rydgård
524e92374f
Use arrays more consistently.
2022-10-27 11:05:59 +02:00
Henrik Rydgård
91259aaad7
Always use array textures for framebuffers in Vulkan for simplicity.
2022-10-27 11:05:58 +02:00
Henrik Rydgård
0de12f5ca9
Some refactoring of framebuffer views, layer issues, more work.
2022-10-27 11:05:58 +02:00
Henrik Rydgård
2e87f0bc0b
More work. Things are starting to work now.
2022-10-27 11:05:58 +02:00
Henrik Rydgård
c668736924
Add a couple of stereo display shaders, add infrastructure, compile stereo pipelines
2022-10-27 11:05:58 +02:00
Henrik Rydgård
fb250c4b29
More multiview work
2022-10-27 11:05:58 +02:00
Henrik Rydgård
7a620962aa
thin3d: Replace hint at future MRT support with basic multi layer support
2022-10-27 11:05:58 +02:00
Henrik Rydgård
1d8ab38ce5
Vulkan: Use v2 feature checks, and add check for multiview features.
...
Extracted from the multiview PR, and renamed some stuff.
2022-10-24 00:21:28 +02:00
Henrik Rydgård
90d395a10d
Remove "attachment" parameter from BindFramebufferAsTexture everywhere.
...
Not actually useful since our framebuffer objects don't support multiple
color images, and probably won't ever need to.
2022-10-20 10:15:19 +02:00
Henrik Rydgård
4d1da5859c
Add simple way to add debug annotation in the middle of the command stream. Vulkan-only.
2022-10-13 22:39:44 +02:00
Henrik Rydgård
d4bfe9299d
Track min and max GPU time, init time, render CPU time.
...
Mainly wanted to see if init time is a factor, there are optimizations
we can do there.
2022-10-10 10:53:27 +02:00
Unknown W. Brackets
bc84d6345b
Vulkan: Disable geometry shaders for Mali <= 18.
...
These drivers apparently have some weird behavior.
2022-10-09 00:57:10 -07:00
Herman Semenov
29b87e0c0b
Merge branch 'master' into master
2022-10-03 07:49:13 +00:00
Unknown W. Brackets
8df956b036
Vulkan: Block geometry shaders on older Mali.
...
They're too slow to be usable.
2022-10-02 07:42:22 -07:00
Unknown W. Brackets
38e16324f0
Vulkan: Clean up shader module tag.
2022-10-02 07:42:16 -07:00