Commit graph

985 commits

Author SHA1 Message Date
Henrik Rydgård
edfea7aed3 Remove unused pointer. 2017-11-11 20:22:45 +01:00
Henrik Rydgård
e18a023ce8 Vulkan: Noticed a framebuffer refcount leak, and changed my mind regarding those :) Let's do it this way instead. 2017-11-11 19:41:43 +01:00
Henrik Rydgård
9519b89056 Experimenally disable dual source blending on AMD too for Vulkan, see #10065 2017-11-10 18:28:38 +01:00
Henrik Rydgård
378e01625c Fix a few more device-loss bugs. 2017-11-10 15:10:36 +01:00
Henrik Rydgård
ee768ca949 Logging improvements, avoid resetting the Android text drawer unnecessarily 2017-11-10 13:02:24 +01:00
Henrik Rydgård
3cc5d8f40a More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same. 2017-11-10 12:41:06 +01:00
Henrik Rydgård
f3eeafc728 Change Android logging ID from "NativeApp" to "PPSSPP" 2017-11-10 12:37:54 +01:00
Henrik Rydgård
0a2b20bf59 More logging and tweaking 2017-11-10 12:09:42 +01:00
Henrik Rydgård
8b42d83123 Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
Plus more logging, of course.
2017-11-09 17:25:37 +01:00
Henrik Rydgård
6eb58b1252 Keep the draw context up to date in a bunch of places. More logging. 2017-11-09 16:28:22 +01:00
Henrik Rydgård
b689e8e15f Fix some ports 2017-11-09 13:55:33 +01:00
Henrik Rydgård
4e04780adc Upgrade glslang to a fresh version (used to compile Vulkan shaders). Might help #10065 ?) 2017-11-09 13:36:18 +01:00
Henrik Rydgård
ba846fdbc5 Show textual names of Vulkan GPU vendors 2017-11-09 12:30:07 +01:00
Henrik Rydgård
ca3be1877e Vulkan: Apply simple workaround for Mali driver bug (see #10070), and minor cleanup. 2017-11-08 17:03:27 +01:00
Henrik Rydgård
4970668b99 Try harder to free up memory from the Android native font rendering system. Might help #10069 2017-11-07 12:31:03 +01:00
Henrik Rydgård
7922a2ab5c Vulkan: If acquiring a frame fails (happens sometimes during window resize), skip swapping the frame. Should help #10063 2017-11-07 09:56:41 +01:00
Unknown W. Brackets
6c1f6618b6 Vulkan: Wait for orderly thread stop on resize.
To be safer, let's just let it finish.  We don't actually sync the thread
in join(), so it could still be running a frame.
2017-11-06 23:03:14 -08:00
Unknown W. Brackets
1ab9f102ab Vulkan: Fix deadlock on resize.
Still needed to set this flag.  Didn't notice earlier because creating the
fences affected the race condition timing, I think...

Improves #10063.
2017-11-06 22:30:14 -08:00
Henrik Rydgård
70c70b1e76 Vulkan: Some error handling improvement. Might get us a clue for #10065 2017-11-07 00:08:39 +01:00
Henrik Rydgård
4f4eb6f024 Vulkan: The validation layers don't like zero-size blits. 2017-11-06 23:49:27 +01:00
Henrik Rydgård
ea2fc55217
Merge pull request #10056 from hrydgard/remove-multithreading-2
Remove the old style multithreading
2017-11-06 20:37:06 +01:00
Henrik Rydgård
b280e30a27
Merge pull request #10060 from unknownbrackets/debugger
Show texture, depth, and stencil preview in Vulkan
2017-11-06 09:39:19 +01:00
Unknown W. Brackets
3a84b63777 Vulkan: Convert depth format on readback.
Although, the GPU debugger stuff already handles more formats, it's hard
to get the current format to avoid the conversion...
2017-11-06 00:29:02 -08:00
Unknown W. Brackets
138837ac54 Vulkan: Add texture image readback.
This way we can see how it was decoded, scaled, etc.  This also helps
seeing texture cache invalidation issues.
2017-11-06 00:29:01 -08:00
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
Henrik Rydgård
f16d11a43b Turn on multithreaded vulkan 2017-11-05 23:21:54 +01: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