Go to the documentation of this file.
12 #define LOC QString("VidOutVulkan: ")
21 for (
auto & decoder : *Options.
decoders)
22 if (decoder.endsWith(
"-dec"))
66 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Failed to create valid Vulkan video");
73 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Failed to initialise Vulkan video output");
77 float Aspect,
const QRect DisplayVisibleRect,
MythCodecID CodecId)
81 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Fatal error");
87 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Cannot initialise from this thread");
MythVideoOutputVulkan(MythMainWindow *MainWindow, MythRenderVulkan *Render, MythPainterVulkan *Painter, MythDisplay *Display, const MythVideoProfilePtr &VideoProfile, QString &Profile)
static MythRenderVulkan * GetVulkanRender(void)
static bool VERBOSE_LEVEL_CHECK(uint64_t mask, LogLevel_t level)
bool Init(QSize VideoDim, QSize VideoDispDim, float Aspect, QRect DisplayVisibleRect, MythCodecID CodecId) override
void PrepareFrame(MythVideoFrame *Frame, FrameScanType Scan) override
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
static bool codec_sw_copy(MythCodecID id)
bool Init(QSize VideoDim, QSize VideoDispDim, float Aspect, QRect DisplayVisibleRect, MythCodecID CodecId) override
virtual void StartFrame()=0
void BeginDebugRegion(VkCommandBuffer CommandBuffer, const char *Name, MythVulkan4F Color)
MythRenderVulkan * m_vulkanRender
std::vector< VideoFrameType > VideoFrameTypes
MythVideoProfilePtr m_videoProfile
QMap< QString, QStringList > * safe_renderers
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
virtual void EndFrame()=0
static const MythVulkan4F kDebugBlue
static QStringList GetAllowedRenderers(MythCodecID CodecId)
void PrepareFrame(MythVideoFrame *Frame, FrameScanType Scan) override
static void GetRenderOptions(RenderOptions &Options)
void RenderFrame(MythVideoFrame *Frame, FrameScanType Scan) override
void EndDebugRegion(VkCommandBuffer CommandBuffer)
const VideoFrameTypes * m_renderFormats
void RenderFrame(MythVideoFrame *Frame, FrameScanType Scan) override
MythWindowVulkan * m_vulkanWindow
bool IsValidVulkan() const
Common code shared between GPU accelerated sub-classes (e.g. OpenGL)
void RenderEnd() override
std::shared_ptr< MythVideoProfile > MythVideoProfilePtr
MythPainterGPU * m_painter
MythVideoColourSpace m_videoColourSpace
QMap< QString, uint > * priorities