Commit Graph
22851 Commits
Author SHA1 Message Date
Unknown W. Brackets 7ae451db1f TexCache: Detect textures in FBO gutters.
If it's not even within the framebuffer's bufferWidth, we can just go to
the RAM as normal and skip the FBO.

Fixes #10045.
2017-11-05 13:03:09 -08:00
Henrik Rydgård 2f305f9841 Merge pull request #10049 from unknownbrackets/vulkan-minor
Vulkan threading tweaks and minor
2017-11-05 19:39:43 +01:00
Unknown W. Brackets ead4c5f9a8 Vulkan: Make sure backbuffer is bound for UI.
Fixes #10048.
2017-11-05 09:22:14 -08: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 efbba31608 GPU: Restore initial readback on output.
Needed when the last rendered FB needs to be downloaded.
2017-11-05 08:44:13 -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
Henrik Rydgård d30520a43c Merge pull request #10050 from Orphis/gradle-google-maven
Add missing Google Maven repository
2017-11-05 16:38:35 +01: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
Florent Castelli db80e3fb23 Add missing Google Maven repository 2017-11-05 15:26:33 +01:00
Henrik Rydgård fc60a2692c Buildfix again. Should fix #10046 this time. 2017-11-05 13:44:23 +01:00
Henrik Rydgård 5d0bd85a70 Unify a little bit of depal code. 2017-11-05 10:40:21 +01:00
Henrik Rydgård 2b7d1c1ded Vulkan: Fix bug in depal causing Sonic Rivals to be grayscale. 2017-11-05 10:37:22 +01:00
Henrik Rydgård 066ad46915 Minor depal state dirtying fix 2017-11-05 10:20:18 +01:00
Henrik Rydgård eb300d715c Add <cmath> include. Will hopefully help #10046 2017-11-05 10:14:45 +01:00
Henrik Rydgård d670948ad2 Cleanups and fixes around Vulkan stencil upload. thx unknown 2017-11-05 10:14:44 +01:00
Henrik Rydgård b991dd5bd3 Should be bufferWidth here, not width. Thanks unknown.
Get rid of Source.cpp, oops.
2017-11-05 10:14:33 +01: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
Unknown W. Brackets 8edc6eaf5e Vulkan: Fix segfault on swapchain fail.
This at least allows us to detect that the backend failed to init.

Happens when switching backends with debugger attached (probably driver
bug?)
2017-11-04 20:45:08 -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 0e5b398c9d Minor optimization. 2017-11-01 21:43:08 +01:00
Henrik Rydgård b9d990ab02 Merge pull request #10042 from hrydgard/vulkan-stencil
Vulkan: Implement stencil upload (for Star Ocean).
2017-11-01 16:16:45 +01:00
Henrik Rydgård 5018e400f2 Remove some code duplication 2017-11-01 14:51:15 +01:00
Henrik Rydgård 41089ca284 Small fix for a bad block transfer in Soul Calibur 2017-11-01 14:43:00 +01:00
Henrik Rydgård ca7a2d06ca Vulkan: Implement stencil upload (for Star Ocean). 2017-11-01 14:18:39 +01:00
Henrik Rydgård 533f80a056 Fix bug in Vulkan's vertex shader generator, causing stretched characters in Jeanne D'arc. 2017-11-01 11:47:05 +01:00
Henrik Rydgård 94b16bf097 DenseHashMap: Speed up clearing. Became more important since I had to disable keeping descriptor sets around between frames. 2017-11-01 10:09:16 +01:00
Henrik Rydgård 6d20aea340 Merge pull request #10041 from hrydgard/vulkan-cleanups
Additional Vulkan fixes and cleanups
2017-11-01 09:30:34 +01:00
Henrik Rydgård 6b904547b2 Complete a comment. 2017-11-01 08:57:31 +01:00
Henrik Rydgård d92d78f54e Vulkan: Fix colors for low-bpp depal (actually fixing the shadows of ff-type0) 2017-11-01 08:49:49 +01:00
Henrik Rydgård 96cd368878 Make VulkanTexture "immutable". 2017-11-01 08:49:48 +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 700d6d10f4 Always recreate DrawPixelsTex to avoid inter-frame races. 2017-11-01 08:48:06 +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 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