2 * Copyright (C) 2017-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
9 #include "RenderBufferPoolDMA.h"
11 #include "RenderBufferDMA.h"
12 #include "cores/RetroPlayer/rendering/RenderVideoSettings.h"
13 #include "cores/RetroPlayer/rendering/VideoRenderers/RPRendererDMAUtils.h"
15 #include <drm_fourcc.h>
18 using namespace RETRO
;
20 CRenderBufferPoolDMA::CRenderBufferPoolDMA(CRenderContext
& context
) : m_context(context
)
24 bool CRenderBufferPoolDMA::IsCompatible(const CRenderVideoSettings
& renderSettings
) const
26 if (!CRPRendererDMAUtils::SupportsScalingMethod(renderSettings
.GetScalingMethod()))
32 IRenderBuffer
* CRenderBufferPoolDMA::CreateRenderBuffer(void* header
/* = nullptr */)
34 return new CRenderBufferDMA(m_context
, m_fourcc
);
37 bool CRenderBufferPoolDMA::ConfigureInternal()
41 case AV_PIX_FMT_0RGB32
:
43 m_fourcc
= DRM_FORMAT_ARGB8888
;
46 case AV_PIX_FMT_RGB555
:
48 m_fourcc
= DRM_FORMAT_ARGB1555
;
51 case AV_PIX_FMT_RGB565
:
53 m_fourcc
= DRM_FORMAT_RGB565
;
57 break; // we shouldn't even get this far if we are given an unsupported pixel format