Commit Graph
1195 Commits
Author SHA1 Message Date
Henrik Rydgård a7642bac15 Replace faulty layout transition deduplication algorithm. 2022-09-25 23:24:54 +02:00
Henrik Rydgård 894ab45677 Vulkan: Add debug names to our command buffers, so you can see which one errored in validation 2022-09-25 23:24:29 +02:00
Henrik RydgårdandGitHub b1afeeaf43 Merge pull request #16100 from unknownbrackets/d3d9-debugger
D3D9: Allow INTZ depth buffers more correctly
2022-09-25 17:37:56 +02:00
Unknown W. BracketsandGitHub e6db0bef2d Merge pull request #16099 from hrydgard/vulkan-dont-always-alloc-depth
Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
2022-09-25 08:05:50 -07:00
Henrik Rydgård 70c5ca62e6 Remove debug log. Add some new debug log though, unrelated to this PR, for fb clut + fb texture. Plus a couple asserts. 2022-09-25 09:56:39 +02:00
Unknown W. Brackets 81e8336985 D3D9: Allow INTZ depth buffers more correctly.
The FBO check was wrong and just always failed.
2022-09-24 15:17:18 -07:00
Henrik Rydgård 753fd13494 Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
Pretty small impact, but good to do.

An interesting extension of this would upconvert framebuffers in the
FramebufferManager to have a depth buffer the first time depth is used on them,
but this doesn't do that yet.
2022-09-24 23:21:48 +02:00
Henrik Rydgård 9f3dfe7ebe Vulkan: Don't compile pipeline variants that don't make sense given their flags.
Ran into this with cache files from previous version of my change.

Also bumping the shader cache ID again to avoid this in other ways, but
good to be robust here.
2022-09-24 22:39:22 +02:00
Henrik RydgårdandGitHub c3b4caa30b Merge pull request #15984 from lvonasek/compat_openxr_gta
OpenXR - Sky fix for GTA games
2022-09-24 17:16:28 +02:00
Lubos 5b334a7945 OpenXR - PreprocessStep function implemented 2022-09-24 16:32:55 +02:00
Unknown W. Brackets 7b1ec28c30 Vulkan: Avoid crash on two backbuffer steps.
Happens when resuming from stepping, sometimes: first
EmuScreen_BackBuffer, which is done so UI is functional during stepping,
and then the actual blit.

Since this is an uncommon case, let's just allow it by reusing the
presentCmd instead of submitting it early.  Otherwise it ends up in a
pending state.
2022-09-23 18:47:51 -07:00
Henrik Rydgård 1259283c2e More tweaks, fix crash on exit (double-join thread) 2022-09-23 22:10:29 +02:00
Henrik Rydgård df1297bccf Small tweak 2022-09-23 20:51:46 +02:00
Henrik Rydgård c671b3f413 Can't seem to get around this condition variable... Oh well. 2022-09-23 20:45:52 +02:00
Henrik Rydgård f6c78584f6 Readback fix 2022-09-23 19:45:50 +02:00
Henrik Rydgård ef7c8844f8 Greatly simplify the thread synchronization. 2022-09-23 19:40:50 +02:00
Henrik Rydgård f784112814 Flatten the Run function, to make it easier to reorganize. 2022-09-23 19:40:50 +02:00
Henrik Rydgård 5e63cdbcc4 Make functions private that should be private 2022-09-23 19:40:50 +02:00
Lubos adffbb2ea7 Merge branch 'master' into compat_openxr_gta 2022-09-23 14:16:58 +02:00
Henrik Rydgård 7bef90297c Best practices layer warning: Don't pass in unused clear values. (probably zero impact, heh). 2022-09-23 13:54:14 +02:00
Henrik Rydgård ac4ca592c3 Handle depth buffer write-after-write hazards in the queue runner 2022-09-23 13:47:11 +02:00
Henrik Rydgård 0acfa906b4 Fix leak of shader modules from thin3d. 2022-09-23 13:31:32 +02:00
Henrik Rydgård ac7ca963db Make valgrind happy 2022-09-23 12:24:43 +02:00
Henrik Rydgård ac3eb876a8 Fix memory leak (of Promise objects) in VK pipeline wrappers 2022-09-23 10:56:46 +02:00
Henrik Rydgård c76d7e844c Fix Vulkan regression of #16075 due to silly typo. 2022-09-22 19:37:46 +02:00
Henrik Rydgård 11b807828f Fix for render pass merge 2022-09-22 10:22:29 +02:00
Henrik Rydgård 6d2f29e7eb If depth or stencil are cleared in a renderpass, set the pipeline flag. 2022-09-22 10:06:05 +02:00
Henrik Rydgård 8e30a7ccfc Vulkan: Don't have renderpasses store/load depth buffers when we don't use them 2022-09-22 10:06:05 +02:00
Unknown W. Brackets 30454f8dc7 Vulkan: Avoid crash in headless on finish. 2022-09-21 00:09:34 -07:00
Lubos c4dbd6d045 Merge branch 'master' into compat_openxr_gta 2022-09-20 21:46:33 +02:00
Henrik Rydgård f6cb6c7695 Submit main command buffer before acquire. Fix sync bug. 2022-09-20 17:52:48 +02:00
Henrik Rydgård fff080202f When taking screenshots, make sure that the readback command happens on the right cmdbuf. 2022-09-20 17:48:19 +02:00
Unknown W. BracketsandGitHub fd232a0e3c Merge pull request #16060 from hrydgard/vulkan-framedata-refactor
Vulkan FrameData refactor
2022-09-20 08:39:38 -07:00
Henrik Rydgård c1d1c85116 Minor code cleanups (hasBegun is now redundant, for example) 2022-09-20 17:05:53 +02:00
Henrik Rydgård b190c33cc7 Rewrite some present logic for slightly more clarity. Fixes bad logic and a minor race condition. 2022-09-20 17:05:53 +02:00
Henrik Rydgård c7322edf7b Various refactoring 2022-09-20 17:05:45 +02:00
Henrik Rydgård aa19712fc3 Unify depth texture and framebuffer fetch checks 2022-09-20 10:47:49 +02:00
Henrik Rydgård 09bcf3ec13 Unify range culling detection 2022-09-20 10:15:04 +02:00
Henrik Rydgård 1ae7c0132c Start unifying setting of the GPU feature flags, now that thin3d has feature detection. 2022-09-20 10:07:01 +02:00
Henrik Rydgård 2160882e95 Address feedback 2022-09-19 19:27:50 +02:00
Henrik Rydgård cfe4e3278d Vulkan: Remove the useThread bool entirely. 2022-09-19 18:17:26 +02:00
Henrik Rydgård d0016add37 Start moving stuff out to VulkanFrameData.cpp 2022-09-19 18:14:41 +02:00
Unknown W. Brackets c08c873462 GLES: Support more clip distances.
Will be used later, for now just the enable/disable logic.
2022-09-18 13:16:59 -07:00
Henrik Rydgård fc84f25818 Quick GE debugger stepping fix, after the recent vulkan swapchain acquire change 2022-09-18 12:10:23 +02:00
Henrik Rydgård 4045de8d56 Consider the Adreno and Mali stencil-discard bugs the same. Use the better check from the Mali bug.
Should fix #11980
2022-09-18 10:34:43 +02:00
Unknown W. Brackets 6576b853e4 UI: Fix some logic dependent on screen tags.
9f38516 changed various tags but not code referencing them.
2022-09-17 13:36:25 -07:00
Henrik Rydgård 48162858d8 Remove assert (this happens when playing framedumps) 2022-09-17 09:30:08 +02:00
Henrik Rydgård 9d9f2c539e Finish the switch to late acquire, moving the swapchain responsibility to the queue runner. 2022-09-17 08:43:13 +02:00
Henrik Rydgård a369252a29 RunSteps cleanup 2022-09-17 01:41:26 +02:00
Henrik Rydgård fabd50b178 Move FrameData out of VulkanRenderManager 2022-09-17 01:34:38 +02:00