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