[mythtv-commits] [MythTV/mythtv] ed857f: Vulkan: Re-work UI painting pipeline
Mark Kendall
noreply at github.com
Fri May 29 09:40:17 UTC 2020
Branch: refs/heads/master
Home: https://github.com/MythTV/mythtv
Commit: ed857f56a3c47f67982bfe1bba1dc1f26f663704
https://github.com/MythTV/mythtv/commit/ed857f56a3c47f67982bfe1bba1dc1f26f663704
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-05-29 (Fri, 29 May 2020)
Changed paths:
M mythtv/libs/libmythui/libmythui.pro
A mythtv/libs/libmythui/vulkan/mythcombobuffervulkan.cpp
A mythtv/libs/libmythui/vulkan/mythcombobuffervulkan.h
A mythtv/libs/libmythui/vulkan/mythdebugvulkan.cpp
A mythtv/libs/libmythui/vulkan/mythdebugvulkan.h
M mythtv/libs/libmythui/vulkan/mythpaintervulkan.cpp
M mythtv/libs/libmythui/vulkan/mythpaintervulkan.h
M mythtv/libs/libmythui/vulkan/mythpainterwindowvulkan.cpp
M mythtv/libs/libmythui/vulkan/mythrendervulkan.cpp
M mythtv/libs/libmythui/vulkan/mythrendervulkan.h
M mythtv/libs/libmythui/vulkan/mythshadersvulkan.h
M mythtv/libs/libmythui/vulkan/mythshadervulkan.cpp
M mythtv/libs/libmythui/vulkan/mythshadervulkan.h
M mythtv/libs/libmythui/vulkan/mythtexturevulkan.cpp
M mythtv/libs/libmythui/vulkan/mythtexturevulkan.h
M mythtv/libs/libmythui/vulkan/mythwindowvulkan.cpp
Log Message:
-----------
Vulkan: Re-work UI painting pipeline
- don't use an index buffer but create triangle strip vertices within
the vertex shader
- pack the transform, texture coordinates, screen coordinates and some
colour data into a 112byte buffer that is within the limits for Vulkan
push constants
- the UI render pass now requires a single uniform for the projection,
images/image views/descriptors for each texture and dynamic data is
passed via push constants - which greatly simplifies (and perhaps speeds
up) rendering.
- both MythIndexBufferVulkan and MythVertexBufferVulkan are now
redundant but are retained for the time being.
- also add debug marker support (currently of limited use).
- while simplifying the render pass, this does not appear to fix the
known rendering oddities...
Commit: e592c61dc478fb5580dc00196a675cadb904994c
https://github.com/MythTV/mythtv/commit/e592c61dc478fb5580dc00196a675cadb904994c
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-05-29 (Fri, 29 May 2020)
Changed paths:
M mythtv/libs/libmythui/vulkan/mythpaintervulkan.cpp
M mythtv/libs/libmythui/vulkan/mythpaintervulkan.h
Log Message:
-----------
Vulkan: Pre-allocate all texture descriptor sets
Commit: 6438e9e00d6b58e09ac3112faa5d55e792cdfea9
https://github.com/MythTV/mythtv/commit/6438e9e00d6b58e09ac3112faa5d55e792cdfea9
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-05-29 (Fri, 29 May 2020)
Changed paths:
M mythtv/libs/libmythui/vulkan/mythrendervulkan.cpp
M mythtv/libs/libmythui/vulkan/mythrendervulkan.h
M mythtv/libs/libmythui/vulkan/mythtexturevulkan.cpp
M mythtv/libs/libmythui/vulkan/mythtexturevulkan.h
Log Message:
-----------
Vulkan: Enable pipelining of texture uploads
- by passing in a command buffer
Commit: 428b519532d143211a75942df5c8b59f002c6e43
https://github.com/MythTV/mythtv/commit/428b519532d143211a75942df5c8b59f002c6e43
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-05-29 (Fri, 29 May 2020)
Changed paths:
M mythtv/libs/libmythui/vulkan/mythpaintervulkan.cpp
M mythtv/libs/libmythui/vulkan/mythpaintervulkan.h
Log Message:
-----------
MythPainterVulkan: Pipeline texture uploads
- this still needs some love but all uploads are pipelined into a single
command buffer that is completed before the render pass (N.B. We cannot
upload textures during the render pass)
- the use of vkQueueWaitIdle seems excessive...
Commit: 398c0e3ef6f9cc840d642b48555d7e00c6a3f3f0
https://github.com/MythTV/mythtv/commit/398c0e3ef6f9cc840d642b48555d7e00c6a3f3f0
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-05-29 (Fri, 29 May 2020)
Changed paths:
M mythtv/libs/libmythui/vulkan/mythdebugvulkan.cpp
M mythtv/libs/libmythui/vulkan/mythdebugvulkan.h
M mythtv/libs/libmythui/vulkan/mythtexturevulkan.h
Log Message:
-----------
MythDebugVulkan: Add support for naming objects
- as for region markers, only usefull when run through a Vulkan debugger
Commit: 747ffc7dbc8a59443b7141f3b7f7b50ab9419939
https://github.com/MythTV/mythtv/commit/747ffc7dbc8a59443b7141f3b7f7b50ab9419939
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-05-29 (Fri, 29 May 2020)
Changed paths:
M mythtv/libs/libmythui/vulkan/mythpaintervulkan.cpp
Log Message:
-----------
MythPainterVulkan: Squash some validation warnings
- the validation layers occasionally warn about deleting images and
image views that are still in use (from the previous frame).
- so wait if necessary to ensure the frame is complete
- not entirely sure why this is necessary at this point - though may be
due to our custom UI refresh timer and the async nature of the Vulkan
rendering (i.e. we get a refresh request before the last frame has been
presented, even with vsync enabled etc)
Compare: https://github.com/MythTV/mythtv/compare/f6cf85e9d974...747ffc7dbc8a
More information about the mythtv-commits
mailing list