960 Commits

Author SHA1 Message Date
Unknown W. Brackets
4a08410d7d Vulkan: Fix non-16 bit indexed drawing.
Only really affects softgpu, since games are rewritten to 16 bit.
2017-11-05 22:15:27 -08:00
Unknown W. Brackets
9dfc9ff6ae Vulkan: Allow clearing the backbuffer to any color.
Helps with debugging sometimes.
2017-11-05 22:14:53 -08:00
Unknown W. Brackets
b2039bd14f Vulkan: Fix leak in WipeQueue(). 2017-11-05 14:22:09 -08:00
Unknown W. Brackets
63e78ef3e8 Vulkan: Fix framebuffer leak.
Evident in God of War.
2017-11-05 14:21:41 -08:00
Henrik Rydgård
702e354a6a Vulkan multithread: Fix race condition. 2017-11-05 22:18:28 +01:00
Unknown W. Brackets
56d34402ff Vulkan: Resignal unexecuted fences on thread stop.
When resizing or similar, we may end up with frames we never ran.  This
also happens on startup.

We need them signaled at start so we can wait on them, or we may deadlock.
2017-11-05 09:22:14 -08:00
Unknown W. Brackets
ebe9dcafde Vulkan: Wait for queue idle in DestroyBackbuffers.
Otherwise it's only done after destroying Draw, so no need to mutex.
2017-11-05 08:44:14 -08:00
Unknown W. Brackets
2ad9eb047e Vulkan: Refcount framebuffer deletes.
Fixes crash in GoW when using a thread.
2017-11-05 08:44:12 -08:00
Unknown W. Brackets
ab9aee9a07 Vulkan: Account inside frame from push side.
We don't want a dependency on the thread state, of course.
2017-11-05 07:07:14 -08:00
Unknown W. Brackets
dc200a4fbc Vulkan: Fix a comment. 2017-11-04 22:29:12 -07:00
Unknown W. Brackets
97fa0a7461 Vulkan: Allow sync when using threading. 2017-11-04 22:23:01 -07:00
Unknown W. Brackets
8b55940a3d Vulkan: Fix out-of-sync frames on threading.
We end up with a second thread start at frame 1, so the thread needs to
start at frame 1 too.
2017-11-04 22:21:47 -07:00
Unknown W. Brackets
ec0f640f56 Vulkan: Trigger condvar only at frame end. 2017-11-04 21:10:33 -07:00
Henrik Rydgård
9e65ae1cef Fix issue in framebuffer size calculation when viewport is bogus in through mode. Fixes #10043. 2017-11-04 11:43:19 +01:00
Henrik Rydgård
d5f8d484dd Tiny cleanups. 2017-11-04 10:08:53 +01:00
Henrik Rydgård
b9443e54e3 Vulkan: Minor fixes. 2017-11-03 00:03:35 +01:00
Henrik Rydgård
8d0209c7e4 Stop leaking framebuffers on shutdown. Fix other shutdown issues. 2017-11-01 21:43:08 +01:00
Henrik Rydgård
ca7a2d06ca Vulkan: Implement stencil upload (for Star Ocean). 2017-11-01 14:18:39 +01:00
Henrik Rydgård
6b904547b2 Complete a comment. 2017-11-01 08:57:31 +01:00
Henrik Rydgård
d0f328213a Add some disabled code to submit "init" command buffers separately to the queue for debugging. 2017-11-01 08:49:42 +01:00
Henrik Rydgård
6a8f72a327 Use the global curFrame counter. No need for a vector for pushing cmdbufs. 2017-11-01 08:47:50 +01:00
Henrik Rydgård
90d4296a6a Add a QueueRunner logging facility. Set up a subpass dependency for the backbuffer pass. 2017-11-01 08:45:14 +01:00
Henrik Rydgård
74861d2d73 Vulkan: Make backbuffer transitions part of backbuffer render pass. Optimize depth buffer memory operations. 2017-11-01 08:42:49 +01:00
Henrik Rydgård
ed2731d197 Vulkan: Fix depal and shader blending. 2017-10-31 12:35:00 +01:00
Henrik Rydgård
07dfda0633 Vulkan depal code now passes validation, but produces black. 2017-10-31 12:35:00 +01:00
Henrik Rydgård
3f503ca297 Implement the rest of Vulkan framebuffer depal. Not yet working though. 2017-10-31 12:34:59 +01:00
Henrik Rydgård
6e9cd933b2 Implement GetFramebufferAPITexture for Vulkan 2017-10-31 12:34:30 +01:00
Henrik Rydgård
97dced543e Share the conversion code between vulkan and D3D, fixing the missing format thing. 2017-10-29 14:42:51 +01:00
Henrik Rydgård
93c785b76d Color-convert directly during the readback, saves a copy. Like we already do in D3D11. 2017-10-29 10:56:36 +01:00
Henrik Rydgård
a9f01c45e0 Use the CPU color conversion from GLES for readbacks in Vulkan (and D3D11). Fix bug. 2017-10-28 19:20:46 +02:00
Henrik Rydgård
34b65c0ca9 Fix Vulkan framebuffer readbacks, as long as they're in R8G8B8A8. 2017-10-28 18:41:54 +02:00
Henrik Rydgård
b98d4e5c9d Vulkan: Rough untested implementation of synchronous readbacks. 2017-10-28 18:03:27 +02:00
Henrik Rydgård
717ec2387b VulkanRenderManager: Split out BeginFrame and EndFrame from Run 2017-10-28 16:47:08 +02:00
Henrik Rydgård
962ada1700 Comment cleanup 2017-10-28 00:37:06 +02:00
Henrik Rydgård
3f918ed328 Refactor: Split out VulkanQueueRunner from VulkanRenderManager
Should be no functionality change, but good to do before adding more
functionality.
2017-10-27 22:11:01 +02:00
Henrik Rydgård
1e9984dbf6 Another buildfix 2017-10-26 13:00:27 +02:00
Henrik Rydgård
5456194a69 Fix integer overflow affecting very large draw calls 2017-10-26 12:28:36 +02:00
Henrik Rydgård
7312576239 More buildfixes, warning fix, memory leak fix 2017-10-26 11:43:22 +02:00
Henrik Rydgård
ecad09d18f 32-bit android buildfix attempt 2017-10-26 10:57:01 +02:00
Henrik Rydgård
07e8b4ff1a Bump descriptor set limits, which became insufficient with the addition of tesselation (should really use separate big desc layouts for them) 2017-10-26 10:57:01 +02:00
Henrik Rydgård
54e4eab1c1 Warning fixes 2017-10-26 10:57:00 +02:00
Henrik Rydgård
613cc46285 Remove a bad check making us use the wrong way to copy depth buffers. Add a cap so we can try to unify BlitFramebufferDepth later. 2017-10-26 10:57:00 +02:00
Henrik Rydgård
12f8580984 Assorted fixes 2017-10-26 10:57:00 +02:00
Henrik Rydgård
85cb604a24 Fix (some) crashes on blits. Validation issues remain. 2017-10-26 10:57:00 +02:00
Henrik Rydgård
8639664a6a Warning fixes, CMakeLists.txt/Android.mk fixes 2017-10-26 10:57:00 +02:00
Henrik Rydgård
d016bfe221 Fix some resource leaks and excessive logging in VulkanRenderManager 2017-10-26 10:57:00 +02:00
Henrik Rydgård
c4f0afc8a2 Clean out some obsolete code 2017-10-26 10:57:00 +02:00
Henrik Rydgård
b5e06f3c7d VulkanRenderManager: BindPipeline should really be its own command. Tighten up some image transitions. 2017-10-26 10:57:00 +02:00
Henrik Rydgård
3e2b810c39 Improve synchronization, though there are very weird issues. Possibly need to run the swap chain from the thread that created it? 2017-10-26 10:57:00 +02:00
Henrik Rydgård
c403edfa89 Avoid re-binding pipelines. 2017-10-26 10:57:00 +02:00