Mailing List Archive

[MythTV/mythtv] 141a23: libmythui: Initial Vulkan rendering support
Branch: refs/heads/master
Commit: 141a23c8c1d3e6d29c92b5adbee888af5a13abde
Author: Mark Kendall <>
Date: 2020-05-13 (Wed, 13 May 2020)

Changed paths:
M mythtv/configure
M mythtv/libs/libmythui/
M mythtv/libs/libmythui/mythmainwindow.h
M mythtv/libs/libmythui/mythpainterwindow.cpp
M mythtv/libs/libmythui/mythrender_base.h
M mythtv/libs/libmythui/opengl/mythrenderopengl.cpp
A mythtv/libs/libmythui/vulkan/mythindexbuffervulkan.cpp
A mythtv/libs/libmythui/vulkan/mythindexbuffervulkan.h
A mythtv/libs/libmythui/vulkan/mythpaintervulkan.cpp
A mythtv/libs/libmythui/vulkan/mythpaintervulkan.h
A mythtv/libs/libmythui/vulkan/mythpainterwindowvulkan.cpp
A mythtv/libs/libmythui/vulkan/mythpainterwindowvulkan.h
A mythtv/libs/libmythui/vulkan/mythrendervulkan.cpp
A mythtv/libs/libmythui/vulkan/mythrendervulkan.h
A mythtv/libs/libmythui/vulkan/mythshadersvulkan.h
A mythtv/libs/libmythui/vulkan/mythshadervulkan.cpp
A mythtv/libs/libmythui/vulkan/mythshadervulkan.h
A mythtv/libs/libmythui/vulkan/mythtexturevulkan.cpp
A mythtv/libs/libmythui/vulkan/mythtexturevulkan.h
A mythtv/libs/libmythui/vulkan/mythuniformbuffervulkan.cpp
A mythtv/libs/libmythui/vulkan/mythuniformbuffervulkan.h
A mythtv/libs/libmythui/vulkan/mythvertexbuffervulkan.cpp
A mythtv/libs/libmythui/vulkan/mythvertexbuffervulkan.h
A mythtv/libs/libmythui/vulkan/mythwindowvulkan.cpp
A mythtv/libs/libmythui/vulkan/mythwindowvulkan.h

Log Message:
libmythui: Initial Vulkan rendering support

- this is baseline, functional support that works - mostly:) - but it
will be changing significantly.
- no UI renderer selection yet - if you enable Vulkan (disabled in
configure by default), then it will try to use Vulkan first.
- there are a couple of rendering oddities that should be fixed with the
next iteration.
- only tested on Intel Mesa drivers.
- it appears to be stable unless video playback is attempted - looks
like the device is lost when the window is resized/hidden/shown; which
is not properly handled yet.
- the implementation makes some initial attempts at optimising for the
Vulkan 'way' but needs more work - particularily around memory
management, memory transfer optimisations and synchronisation.
- as mentioned - no video playback support.
- requires at least Qt5.10 and the Vulkan headers - Qt dynamically loads
the requisite libs.
- validation layers (and Qt Vulkan logging) are enabled with 'gpu'
logging verbosity - but the validation layers must be installed.
- validation currently shows no issues until cleaning up on exit; which
also needs further work.
- optional support for libglslang is only required if working on the
shader code, otherwise the existing SPIR-V bytecode is used.

mythtv-commits mailing list