Commit graph

397 commits

Author SHA1 Message Date
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
a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
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
Henrik Rydgård
a8939f456a Remove dead code, validation fix in GE debugger
See #16490
2022-12-04 00:49:48 +01:00
Unknown W. Brackets
3f620dba58 Vulkan: Reduce some logging when things are fast.
On startup especially this spams sometimes.
2022-12-03 14:56:58 -08: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
238c9439e3
Merge pull request #16491 from unknownbrackets/cleanup
Quick cleanup
2022-12-03 16:38:32 +01:00
Unknown W. Brackets
e50eae1bfb GPU: Cleanup some bounds checks, assignments. 2022-12-03 07:17:12 -08:00
Henrik Rydgård
d554085388 Implement copy operation properly for the multisampled case 2022-12-02 15:25:02 +01: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
5610734d40 Assert improvement 2022-12-02 00:30:06 +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
29a2157485 Correctly handle input attachments with CreateRenderpass2. But also don't use it while not multisampling. 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
8208768c15 Add a pipeline flag for USES_DISCARD. Will be used for the MSAA quality setting. 2022-12-01 22:49:00 +01:00
Henrik Rydgård
a0f27c7442 Implement depth/stencil resolve. (We probably only need depth resolve since we don't texture from stencil, but whatever). 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
Henrik Rydgård
c05ec8b520 Remove std::string from VulkanProfiler (the scope profiler for uploads) 2022-12-01 12:17:01 +01:00
Henrik Rydgård
9a108a46d4 Disable the PowerVR swapchain hack after driver version 1.386.1368.
See #15773
2022-12-01 10:17:53 +01:00
Henrik Rydgård
3b960a92fc
Merge pull request #16451 from unknownbrackets/ui-psp-glow
UI: Add a slight glow around PSP in control map
2022-11-28 08:00:26 +01:00
Unknown W. Brackets
5666dc5890 Vulkan: Correct maxAniso handling in Draw. 2022-11-27 19:17:01 -08:00
Henrik Rydgård
31af24a230 Break out VKRFramebuffer/VKRRenderpass from VulkanRenderManager 2022-11-27 10:22:37 +01: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
Henrik Rydgård
a1c61abdda Vulkan validation: One more false positive related to input attachments
See comment in code
2022-11-24 10:48:36 +01:00
Henrik Rydgård
eea0b2632c Add checks against rendering with depth against non-depth targets. 2022-11-24 10:12:22 +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
4d637342f7 Log source code for failed pipeline creations 2022-11-08 00:21:08 +01:00
Henrik Rydgård
90f67e91f5 Avoid drawing with failed-to-create pipelines 2022-11-08 00:21:08 +01:00
Henrik Rydgård
bd40ccda51 Improve VkResult logging 2022-11-08 00:21:07 +01:00
Henrik Rydgård
c7db9a865d Disable remaining false positive. 2022-11-07 09:51:11 +01: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
162290147f UWP build fix. Had to reshuffle some stuff and compile some Vulkan files. 2022-11-06 15:54:00 +01:00
Henrik Rydgård
b4507cd5cc Make a lot more code VR build for all platforms 2022-11-06 14:36:51 +01:00
Henrik Rydgård
439b38f705 Comment fixes (feedback) 2022-11-06 00:11:04 +01:00
Henrik Rydgård
7742fbdeb6 Switch RenderPassType to be a "proper" bitfield enum. 2022-11-05 22:06:53 +01:00