5#define LOC QString("VulkanVidTex: ")
7std::vector<MythVideoTextureVulkan*>
9 VkCommandBuffer CommandBuffer,
15 return std::vector<MythVideoTextureVulkan*>{};
18 return std::vector<MythVideoTextureVulkan*>{};
34 VkCommandBuffer CommandBuffer,
35 std::vector<MythVideoTextureVulkan*>& Textures)
40 VkCommandBuffer cmdbuffer =
nullptr;
44 CommandBuffer = cmdbuffer;
47 for (
auto * texture : Textures)
57 VkCommandBuffer CommandBuffer,
60 if (!(Vulkan && Vulkan->
IsValidVulkan() && CommandBuffer && Texture))
66std::vector<MythVideoTextureVulkan*>
68 [[maybe_unused]] VkCommandBuffer CommandBuffer,
73 std::vector<MythVideoTextureVulkan*> result;
78 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Invalid software frame format");
82 for (
uint plane = 0; plane < count; ++plane)
90 size = QSize(size.width() >> 1, size.height() >> 1);
98 result.push_back(texture);
void FinishSingleUseCommandBuffer(VkCommandBuffer &Buffer)
VkCommandBuffer CreateSingleUseCommandBuffer(void)
static uint GetNumPlanes(VideoFrameType Type)
static bool HardwareFormat(VideoFrameType Type)
static void DeleteTextures(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, std::vector< MythVideoTextureVulkan * > &Textures)
static void DeleteTexture(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, MythVideoTextureVulkan *Texture)
MythVideoTextureVulkan()=default
static std::vector< MythVideoTextureVulkan * > CreateTextures(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, VideoFrameType Type, VideoFrameType Format, QSize Size)
static std::vector< MythVideoTextureVulkan * > CreateSoftwareTextures(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, VideoFrameType Type, VideoFrameType Format, QSize Size)
MythRenderVulkan * Render()
bool IsValidVulkan() const
#define LOG(_MASK_, _LEVEL_, _QSTRING_)