1
mirror of https://github.com/mpv-player/mpv synced 2024-10-30 04:46:41 +01:00
mpv/video
Niklas Haas fb1c7bde42 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.
2017-12-25 00:47:53 +01:00
..
decode Restore Libav support 2017-12-21 19:45:32 +01:00
filter msg: reinterpret a bunch of message levels 2017-12-15 22:28:47 -08:00
out vo_gpu: vulkan: properly track image dependencies 2017-12-25 00:47:53 +01:00
csputils.c csputils: Add support for Display P3 primaries 2017-12-14 23:31:09 +02:00
csputils.h csputils: Add support for Display P3 primaries 2017-12-14 23:31:09 +02:00
d3d.c video: move d3d.c out of decode sub directory 2017-12-01 17:58:56 +01:00
d3d.h video: move d3d.c out of decode sub directory 2017-12-01 17:58:56 +01:00
fmt-conversion.c Add DRM_PRIME Format Handling and Display for RockChip MPP decoders 2017-10-23 21:07:24 +02:00
fmt-conversion.h video/fmt-conversion, img_format: change license to LGPL 2017-06-18 15:15:07 +02:00
hwdec.c video: remove some more hwdec legacy stuff 2017-12-02 04:53:55 +01:00
hwdec.h hwdec: remove unused fields 2017-12-21 19:31:36 +01:00
image_loader.c x11: load icon differently 2017-07-01 15:56:12 +02:00
image_loader.h x11: load icon differently 2017-07-01 15:56:12 +02:00
image_writer.c Replace remaining avcodec_close() calls 2017-07-16 12:51:48 +02:00
image_writer.h image_writer, vo_image: change license to LGPL 2017-06-18 15:45:24 +02:00
img_format.c img_format: remove some guards against old ffmpeg API 2017-11-06 17:14:01 +01:00
img_format.h Add DRM_PRIME Format Handling and Display for RockChip MPP decoders 2017-10-23 21:07:24 +02:00
mp_image_pool.c video: fix memory leaks with hwdec copy modes 2017-12-01 08:01:41 +01:00
mp_image_pool.h vf_vavpp: use libavutil hw frames API for frame pool and upload 2017-09-29 18:17:51 +02:00
mp_image.c vd_lavc, mp_image: remove weird mpv specific palette constant 2017-12-01 22:03:38 +01:00
mp_image.h vd_lavc, mp_image: remove weird mpv specific palette constant 2017-12-01 22:03:38 +01:00
sws_utils.c build: add preliminary LGPL mode 2017-09-21 13:56:27 +02:00
sws_utils.h video: redo video equalizer option handling 2017-08-22 17:01:35 +02:00
vaapi.c hwdec: remove unused fields 2017-12-21 19:31:36 +01:00
vaapi.h video: refactor hw device creation for hwdec copy modes 2017-12-01 08:05:16 +01:00
vdpau_functions.inc vo_vdpau: directly get surface size from surface for screenshots 2015-06-05 22:34:16 +02:00
vdpau_mixer.c video: redo video equalizer option handling 2017-08-22 17:01:35 +02:00
vdpau_mixer.h video: redo video equalizer option handling 2017-08-22 17:01:35 +02:00
vdpau.c hwdec: remove unused fields 2017-12-21 19:31:36 +01:00
vdpau.h vd_lavc, vdpau, vaapi: restore emulated API avoidance 2017-12-02 04:53:51 +01:00