From fb1c7bde42b835bfc41bc785905c050cef9f6f99 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Fri, 29 Sep 2017 03:23:14 +0200 Subject: vo_gpu: vulkan: properly track image dependencies This uses the new vk_signal mechanism to order all access to textures. This has several advantageS: 1. It allows real synchronization of image access across multiple frames when using multiple queues for parallelism. 2. It allows using events instead of pipeline barriers, which is a finer-grained synchronization primitive that allows for more efficient layout transitions over longer durations. This commit also restructures some of the implicit transition code for renderpasses to be more flexible and correct. (Note: this technically drops the ability to transition the image out of undefined layout when not blending, but that was a bug anyway and needs to be done properly) vo_gpu: vulkan: remove no-longer-true optimization The change to the output_tex format makes this no longer true, and it actually seems to hurt performance now as well. So just don't do it anymore. I also realized it hurts performance when drawing an OSD, so it's probably not a good idea anyway. --- DOCS/man/options.rst | 4 ---- 1 file changed, 4 deletions(-) (limited to 'DOCS/man/options.rst') diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 17495d64cb..a92a8df962 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -4297,10 +4297,6 @@ The following video options are currently all specific to ``--vo=gpu`` and parallelism between frames (when using a ``--swapchain-depth`` higher than 1). (Default: 1) - NOTE: Setting this to a value higher than 1 may cause graphical corruption, - as mpv's vulkan implementation currently does not try and protect textures - against concurrent access. - ``--d3d11-warp=`` Use WARP (Windows Advanced Rasterization Platform) with the D3D11 GPU backend (default: auto). This is a high performance software renderer. By -- cgit v1.2.3