xbmc
RPRendererDMA.h
1 /*
2  * Copyright (C) 2017-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "RPRendererOpenGLES.h"
12 
13 #include <memory>
14 
15 namespace KODI
16 {
17 namespace RETRO
18 {
19 class CRenderBufferDMA;
20 
22 {
23 public:
24  ~CRendererFactoryDMA() override = default;
25 
26  // implementation of IRendererFactory
27  std::string RenderSystemName() const override;
29  CRenderContext& context,
30  std::shared_ptr<IRenderBufferPool> bufferPool) override;
31  RenderBufferPoolVector CreateBufferPools(CRenderContext& context) override;
32 };
33 
43 {
44 public:
45  CRPRendererDMA(const CRenderSettings& renderSettings,
46  CRenderContext& context,
47  std::shared_ptr<IRenderBufferPool> bufferPool);
48  ~CRPRendererDMA() override = default;
49 
50 protected:
51  // implementation of CRPRendererOpenGLES
52  void Render(uint8_t alpha) override;
53 
54  std::map<CRenderBufferDMA*, std::unique_ptr<RenderBufferTextures>> m_RBTexturesMap;
55 };
56 } // namespace RETRO
57 } // namespace KODI
Definition: RPRendererDMA.h:21
Special CRPBaseRenderer implementation to handle Direct Memory Access (DMA) buffer types...
Definition: RPRendererDMA.h:42
Definition: RPRendererOpenGLES.h:45
RenderBufferPoolVector CreateBufferPools(CRenderContext &context) override
Create buffer pools to manager buffers.
Definition: RPRendererDMA.cpp:37
CRPBaseRenderer * CreateRenderer(const CRenderSettings &settings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool) override
Create a renderer.
Definition: RPRendererDMA.cpp:30
Definition: AudioDecoder.h:18
Rendering factory.
Definition: RPProcessInfo.h:46
Definition: RenderContext.h:43
Definition: settings.py:1
Definition: RPBaseRenderer.h:37
Definition: RenderSettings.h:17
std::string RenderSystemName() const override
Get a description name of the rendering system.
Definition: RPRendererDMA.cpp:25