Commit graph

22812 commits

Author SHA1 Message Date
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
330bdb8be8 Add and update some comments. 2017-11-01 08:42:49 +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
9e734b3791 Decimate descriptors every frame until I find a better solution. Fixes flicker in videos in several games. 2017-11-01 08:42:48 +01:00
Henrik Rydgård
980e1734c2
Merge pull request #10038 from hrydgard/vulkan-depal
Vulkan: Implement framebuffer "depal" (palette lookup) and shader blending
2017-10-31 19:01:05 +01:00
Henrik Rydgård
bbfc32f131 Remove disabling of validation warning. It works. 2017-10-31 12:57:27 +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
65e23bb9f3 Some reorganization. Start implementing framebuffer depal for Vulkan. 2017-10-31 12:34:31 +01:00
Henrik Rydgård
6253280fba Delete superfluous bind of temporary render target on creation. 2017-10-31 12:34:31 +01:00
Henrik Rydgård
6e9cd933b2 Implement GetFramebufferAPITexture for Vulkan 2017-10-31 12:34:30 +01:00
Henrik Rydgård
0c7ae95df5
Merge pull request #10037 from hrydgard/vulkan-sync-readback
Vulkan: Implement synchronous framebuffer readback
2017-10-29 17:08:15 +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
9c254ea1c3 Revert most of the last commit - will do it differently. 2017-10-29 09:31:28 +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
872b0307e6
Merge pull request #10035 from hrydgard/split-vulkan-rendermanager
Refactor: Split out VulkanQueueRunner from VulkanRenderManager
2017-10-28 11:11:29 +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
fa81dd9c44 Forgot to update the Android target version here to 26. 2017-10-27 01:26:27 +02:00
Henrik Rydgård
f0a73353b0 Merge pull request #10033 from hrydgard/vulkan-queue-manager
VulkanRenderManager - big refactoring of the Vulkan code
2017-10-26 13:00:59 +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
8644e85d3d Remove misguided hack. 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
9b183f1f4b Forgot to add the CMakeLists.txt change to the last commit. 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
Henrik Rydgård
72a41cd524 Let's try a mutex. Doesn't completely solve the problem though.. 2017-10-26 10:57:00 +02:00
Henrik Rydgård
d3672d9e57 Make sure not to begin and end the init command buffer on different threads. 2017-10-26 10:57:00 +02:00
Henrik Rydgård
48ac334f4f Vulkan: Don't forget to specify stencil load op in render passes 2017-10-26 10:57:00 +02:00
Henrik Rydgård
022657ebb3 This makes a little more sense, but still hangs (frameAvailable = true while stuck on condvar) 2017-10-26 10:56:59 +02:00
Henrik Rydgård
c788dc896a Synchronization is HARD. need a rethink, methinks. 2017-10-26 10:56:59 +02:00
Henrik Rydgård
1c5bd0f8dc Move the VulkanRenderManager stuff to thin3d, fits in better there. 2017-10-26 10:56:59 +02:00
Henrik Rydgård
02f76ae4a8 Rendering basics now works. 2017-10-26 10:56:59 +02:00