Henrik Rydgård
2467fddc01
Vulkan GPU profiler: Measure the CPU time spent on the render thread recording command buffers.
2019-09-18 00:16:08 +02:00
Henrik Rydgård
93412aff3b
Vulkan: Automatically merge render passes to the same target when possible.
...
Should speed things up a bit on mobile in some games that do stupid
things like GoW. Currently only enabled in GoW, but plan to enable this
globally as it should be quite cheap when nothing is detected.
2019-08-21 20:32:23 +02:00
Henrik Rydgård
e3f1e563f2
Improve renderpass profiling descriptions a little
2019-08-21 18:31:01 +02:00
Henrik Rydgård
66609b395f
Vulkan: Profile individual render passes/steps.
2019-08-21 16:47:46 +02:00
Henrik Rydgård
06a71fdf49
Get rid of numQueries
2019-08-21 10:30:57 +02:00
Henrik Rydgård
5fcac1a9e2
Vulkan: Disable some bad validation. Things are right and work fine.
2019-08-21 10:23:36 +02:00
Henrik Rydgård
19a443819b
Bugfixes to VK gpu profiling. Properly get the valid bits.
2019-08-21 09:02:40 +02:00
Henrik Rydgård
653afeb7ab
Vulkan: Implement basic integrated GPU profiling.
...
Currently simply measures the total GPU time of the frame. Will later be
extended to get the execution time of individual render passes.
2019-08-21 00:03:00 +02:00
Henrik Rydgård
49e64f10d4
Minor code cleanup
2019-08-12 23:36:35 +02:00
Henrik Rydgård
cf06b4a947
Vulkan: Image views: The driver is probably smart enough to recognize a no-swizzle, but let's use the proper method.
2019-08-12 23:09:47 +02:00
Henrik Rydgård
213e2ccefc
Vulkan: Add missing barrier when rendering to a target that's already in COLOR_OPTIMAL layout.
...
Fixes #12215
2019-08-08 15:38:09 +02:00
Henrik Rydgård
3b0624ff9f
Some changes and asserts.
2019-08-08 14:07:53 +02:00
Henrik Rydgård
75e2366a6d
Vulkan: Actually fix #12202 , an array was out of scope where it was used, causing garbage flags.
2019-08-01 17:46:46 +02:00
Henrik Rydgård
eb3faf5370
Fix some further static analysis warnings
2019-06-18 01:08:25 +02:00
Henrik Rydgård
58c240045e
Make window resize work with Vulkan. Seems more stable now.
2019-02-23 15:53:05 +01:00
Henrik Rydgard
f38a6650b1
VK code cleanup: Just a little helper for handling dedicated allocation for images.
2019-02-07 14:56:29 +01:00
Henrik Rydgard
32f37723f9
Properly use VK_KHR_dedicated_allocation to make some drivers extra happy
2019-02-05 18:07:18 +01:00
Henrik Rydgard
8e1a5ef3d6
Minor refactor of physical device property/feature detection, to allow for more extension use.
2019-02-05 18:07:17 +01:00
Henrik Rydgard
f339a0c15b
VK: Minor cleanup, turn off unfinished and probably wrong use of dedicated allocation feature
2019-01-31 14:09:21 +01:00
Henrik Rydgård
bb4d91c958
If we lose the Vulkan device, recommend the user to switch to Direct3D11.
...
:-(
2019-01-30 17:57:20 +01:00
Henrik Rydgård
f2244f789e
VK: Add extra safety checks around font texture creation. Motivated by some Play crashes.
2018-11-21 17:34:54 +01:00
Henrik Rydgård
9b7061b383
Vulkan: Apply Themaister's patch, removing illegal pre-transitions of swapchain images. Fixes #11417
2018-10-03 21:39:16 +02:00
Unknown W. Brackets
81f74e4287
Vulkan: Assert on some creates failing.
...
Before was only checking in debug builds.
2018-06-24 07:35:19 -07:00
Unknown W. Brackets
5028486630
thin3d: Cleanup some unused/uninitialized warnings.
2018-06-24 07:34:07 -07:00
Unknown W. Brackets
469d8a6a41
GPU: Screenshot output in BGRA if that's native.
...
This is a decent chunk faster.
2018-06-16 13:48:50 -07:00
Henrik Rydgård
b037efdb55
If there are multiple Vulkan devices, show a setting to allow the user to choose.
2018-06-06 10:20:12 +02:00
Unknown W. Brackets
423309da50
Vulkan: Don't merge render passes if read from.
...
In the future, we might actually track dependencies so we can smartly
sort the render passes instead.
See #11079 - screen got brighter because a cleared framebuffer was used as
a texture.
2018-05-27 14:15:54 -07:00
Henrik Rydgård
3f7602227c
Windows: If neither OpenGL nor D3D9 is available, offer an escape route into D3D11.
...
This does happen on some fresh Win10 installations.
We really should do something much nicer and more automatic, but that's for later.
2018-05-03 22:19:07 +02:00
Unknown W. Brackets
ec5d1a8722
Vulkan: Leave removed commands in render passes.
...
We'll just need to not check commands.empty(), which we do in a couple
places but not in important ways so far.
2018-05-03 08:04:57 -07:00
Unknown W. Brackets
954f93046f
Vulkan: Keep state on Clear cmds when used later.
...
This also removes duplicate state - for example our UI has some duplicate
Scissor commands.
2018-05-03 07:18:40 -07:00
Unknown W. Brackets and GitHub
844015b7f8
Vulkan: Discard draws immediately before clear.
...
Fixes #10163 , a crash on Adreno when a clear is the last thing in a render pass.
2018-05-02 19:23:49 -07:00
Henrik Rydgård
ca0fb77080
Assorted cleanups. Don't assert on no clear mask.
2018-04-06 23:29:44 +02:00
Henrik Rydgård
1dabccb453
Vulkan: Minor logic fixes in the transition elimination
2018-03-18 13:14:20 +01:00
Henrik Rydgård
3e7723ea6d
Vulkan: Use finalLayout to optimize away barriers before framebuffer copies.
2018-03-18 12:09:02 +01:00
Henrik Rydgård
375fa3fb5b
Improve a bunch of Vulkan copy-rect asserts by adding more debug info
2018-02-26 14:23:52 +01:00
Henrik Rydgård
8ad5b499a9
Improve assert messages in VulkanRenderManager (minor)
2018-02-10 08:58:33 +01:00
Unknown W. Brackets and Henrik Rydgård
3eb6d38d75
Vulkan: Fix stencil-only clear for stencil upload.
...
Fixes stencil issues in Star Ocean.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b9726245ac
Vulkan: Use VK_KHR_DEDICATED_ALLOCATION for frame buffers for minor speedup on some GPUs. Check for the debug report extension before enabling it.
2017-12-30 21:31:43 +01:00
Henrik Rydgård
2031b2a4cd
And yet another case of the same problem as the previous commit.
2017-12-10 14:50:34 +01:00
Henrik Rydgård
bd40479224
Vulkan: Add facility to auto-generate mipmap levels. Not yet used.
...
Intended for replacement textures and optional quality improvements
later.
2017-12-07 09:28:18 +01:00
Henrik Rydgård and GitHub
ab95dcae91
Merge pull request #10249 from unknownbrackets/minor
...
More minor cleanups
2017-12-04 09:49:44 +01:00
Unknown W. Brackets
5846016247
Vulkan: Allow shutdown with init commands.
...
On startup, when immediately shutting down, there will be init commands
from creating the backbuffers. Rather than fight this, just free them.
This fixes hangs when locking/unlocking Android.
2017-12-03 20:32:17 -08:00
Unknown W. Brackets
a5998e6dc7
Vulkan: Swap in more forceful asserts.
...
Just in case of unexpected format issues.
2017-12-03 19:22:03 -08:00
Henrik Rydgård
b52285287d
Vulkan: Avoid duplicate image pre-transitions (actually eliminated later anyway, but a small saving)
2017-11-30 00:40:55 +01:00
Henrik Rydgård
bfec850933
Revert "Temporary hack (see #10163 ): Ignore the VK_ERROR_INITIALIZATION_FAILED from vkQueueSubmit."
...
This reverts commit 50cd4a56cb .
2017-11-24 10:36:50 +01:00
Henrik Rydgård
50cd4a56cb
Temporary hack (see #10163 ): Ignore the VK_ERROR_INITIALIZATION_FAILED from vkQueueSubmit.
2017-11-24 09:20:22 +01:00
Henrik Rydgård
b6911d2764
Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163 . Also improve some asserts.
2017-11-22 10:47:04 +01:00
Henrik Rydgård
27a60f5e58
Fix message asserts on Android. Add more of them to check things in Vulkan code.
2017-11-20 12:11:47 +01:00
Henrik Rydgård
766ddf9148
Temporarily turn off Vulkan threading on AMD, see issue #10097 .
2017-11-16 21:40:00 +01:00
Henrik Rydgård
96d6f1cae5
Make sure the device supports transfers from swapchain images when taking screenshots.
2017-11-15 13:57:22 +01:00