Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård
8e7d2109fe
VulkanQueueRunner: Fix some uninitialized struct members (not sure if it has any effect)
2020-05-31 19:35:19 +02:00
Unknown W. Brackets
2dbb7a598d
Vulkan: Label render passes in RenderDoc/etc.
2020-05-21 08:55:36 -07:00
Henrik Rydgård
fabe987c8f
Add a name tag for all render steps (GL/Vulkan). Helps with debugging and should be cheap enough (a single pointer per "step").
2020-05-21 11:24:05 +02:00
Unknown W. Brackets
396bf1d1c7
Vulkan: Expand logging of render steps a bit.
2020-05-18 21:38:36 -07:00
Henrik Rydgård
612fdb957e
Revert "Experimental commit that effectively reverts the Vulkan part of #12882."
...
This reverts commit 29d1f97dd5 .
2020-05-19 00:44:42 +02:00
Henrik Rydgård
29d1f97dd5
Experimental commit that effectively reverts the Vulkan part of #12882 .
...
For the #12927 investigation.
2020-05-19 00:42:34 +02:00
Unknown W. Brackets
059e2e5e16
Vulkan: Stop merge at clear/touched read only.
...
Before we would merge on a future render after a clear, which can't be
good. But we can safely ignore a draw to another FB that reads from a
touched FB.
2020-05-17 15:04:21 -07:00
Unknown W. Brackets
112a58cb1a
Vulkan: Make merge pass a bit easier to read.
2020-05-17 14:53:37 -07:00
Unknown W. Brackets
47bc11a682
Vulkan: Generalize dependency tracking.
...
Might as well track on all steps. We also can know if the dst was fully
written to here.
2020-05-17 11:06:39 -07:00
Unknown W. Brackets
e309712fed
Vulkan: Correct missing offsets in Draw.
...
Was silently ignoring them. Caused stretch in postshaders.
2020-05-13 18:10:09 -07:00
Henrik Rydgård
a34c773b13
Vulkan: Don't merge render passes where the second one begins with a clear.
...
God of War optimization survives this check, thankfully.
Force Unleashed doesn't, but meh, it's not as bad there anyway.
2020-05-10 23:10:57 +02:00
Henrik Rydgård
25dcf8dd8d
Warning fixes
2020-03-01 14:15:10 +01:00
Henrik Rydgård
26ab81c102
vulkan: The GPU profiler could end up writing massive amounts of text, fix some bugs around that.
2019-11-30 23:03:30 +01:00
Henrik Rydgård
fc34a93ac2
vulkan: ApplyRenderPassMerge; Add copy / blit destinations to touched buffers.
2019-11-30 23:02:08 +01:00
Henrik Rydgård
70c0a12b2b
Fix name collision on iOS build
2019-10-13 21:25:16 +02:00
Henrik Rydgård
5adb61a5f2
Move the viewport clamping back to rendermanager to avoid a struct copy in the common case.
2019-10-13 21:25:16 +02:00
Henrik Rydgård
7c0470e061
Fix misplaced break
2019-10-13 21:25:16 +02:00
Henrik Rydgård
87c1ce6fa2
Vulkan: Move viewport/scissor rotation to the QueueRunner instead of RenderManager. Add some checks.
2019-10-13 21:25:16 +02:00
Henrik Rydgård
1e3711ee66
Vulkan blend factor: Bugfix and minor optimization
2019-10-13 21:17:29 +02:00
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
7bb6febc32
Add a few more checks.
2019-08-22 09:23:02 +02:00
Henrik Rydgård
05b2e11c5c
Vulkan: Prevent some bad merging of renderpasses. Thanks Unknown for writing it up.
2019-08-21 21:30:36 +02:00
Henrik Rydgård
773cb5fa70
Stop renderpass merging at readbacks.
2019-08-21 21:13:56 +02:00
Henrik Rydgård
597b034b5c
Minor optimization
2019-08-21 20:32:23 +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
d0a3410875
Typo fix
2019-08-13 00:22:47 +02:00
Henrik Rydgård
ddb5208130
Vulkan: Reduce the amount of redundant stencil parameter sets
2019-08-12 23:19:07 +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
ebe64c60e9
Vulkan: Improve the Metal Gear Acid 2 performance hack.
2019-08-08 11:49:35 +02:00
Henrik Rydgård
3d6bd6f0df
Vulkan: Using VK_DEPENDENCY_BY_REGION on the backbuffer subpass causes tearing, let's not do it. Fixes #12202 .
2019-08-01 14:56:58 +02:00
Henrik Rydgård
ff65b813d9
Assorted warning fixes
2019-05-10 23:26:34 +02:00
Henrik Rydgård
ed1aa74827
Address feedback from #11936 (support memory types without CACHED as a backup)
2019-03-26 10:39:51 +01:00
Henrik Rydgård
60889767bf
Vulkan: Request cached memory for readbacks. First try coherent too but also support non-coherent cached memory.
...
Should speed up readbacks slightly.
This is just a common sense optimization, I haven't measured it. Writes to
coherent non-cached memory is OK due to hardware write combining, but for
reads you really want cached to avoid a memory transaction for every
single read (instead reading full cache lines).
2019-03-25 21:40:25 +01:00
Henrik Rydgård
7362cccee4
Vulkan subpass dependencies: Handle VK_IMAGE_LAYOUT_UNDEFINED without debug-asserting.
2019-03-12 22:34:41 +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 Rydgård
d1910de166
GL: Realized we need another sanity check in the readback code
...
Added similar checks to Vulkan, just because.
2018-11-24 17:20:56 +01:00
Unknown W. Brackets
caf5bb2789
Vulkan: Allow pre-transition from undefined.
...
This seems like it can happen when download/upload operations break up a
render, and happens now with dumps using the display at the right timing.
2018-11-17 10:01:38 -08: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
1cfb21931d
Vulkan: Properly transition stencil/depth for read.
...
Need to transition the entire texture, so both aspects must be set.
2018-06-09 18:27:29 -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
Henrik Rydgård
04fefa2417
Vulkan image readback: Fix a couple scary cases of wrong argument order in image transitions, leading to transitioning 0 mips
2018-06-01 22:16:20 +02:00
Henrik Rydgård and GitHub
87beddc393
Merge pull request #11084 from hrydgard/crash-fix-attempts-1.6
...
Various fixes for 1.6.1
2018-05-27 23:27:57 +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
b730d187e8
Add some paranoid checks guided by stack traces from Google Play
2018-05-27 22:12:59 +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