Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
KODI::RETRO::CRPRendererDMAOpenGL Class Reference

Special CRPBaseRenderer implementation to handle Direct Memory Access (DMA) buffer types. For specific use with CRenderBufferPoolDMA and CRenderBufferDMA. A windowing system must register use of this renderer and register at least one CBufferObject types. More...

#include <RPRendererDMAOpenGL.h>

Inheritance diagram for KODI::RETRO::CRPRendererDMAOpenGL:
KODI::RETRO::CRPRendererOpenGL KODI::RETRO::CRPBaseRenderer

Public Member Functions

 CRPRendererDMAOpenGL (const CRenderSettings &renderSettings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool)
 
 ~CRPRendererDMAOpenGL () override=default
 
- Public Member Functions inherited from KODI::RETRO::CRPRendererOpenGL
 CRPRendererOpenGL (const CRenderSettings &renderSettings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool)
 
 ~CRPRendererOpenGL () override
 
bool Supports (RENDERFEATURE feature) const override
 
SCALINGMETHOD GetDefaultScalingMethod () const override
 
- Public Member Functions inherited from KODI::RETRO::CRPBaseRenderer
 CRPBaseRenderer (const CRenderSettings &renderSettings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool)
 
virtual ~CRPBaseRenderer ()
 
IRenderBufferPoolGetBufferPool ()
 Get the buffer pool used by this renderer.
 
bool Configure (AVPixelFormat format)
 
void FrameMove ()
 
void SetBuffer (IRenderBuffer *buffer)
 
void RenderFrame (bool clear, uint8_t alpha)
 
bool IsCompatible (const CRenderVideoSettings &settings) const
 
virtual void Flush ()
 
const CRenderSettingsGetRenderSettings () const
 
void SetScalingMethod (SCALINGMETHOD method)
 
void SetStretchMode (STRETCHMODE stretchMode)
 
void SetRenderRotation (unsigned int rotationDegCCW)
 
void SetShaderPreset (const std::string &presetPath)
 
void SetPixels (const std::string &pixelPath)
 
bool IsVisible () const
 
IRenderBufferGetRenderBuffer () const
 

Protected Member Functions

void Render (uint8_t alpha) override
 
- Protected Member Functions inherited from KODI::RETRO::CRPRendererOpenGL
void RenderInternal (bool clear, uint8_t alpha) override
 
void FlushInternal () override
 
void ClearBackBuffer ()
 Set the entire backbuffer to black.
 
void DrawBlackBars ()
 Draw black bars around the video quad.
 
- Protected Member Functions inherited from KODI::RETRO::CRPBaseRenderer
virtual bool ConfigureInternal ()
 
void Updateshaders ()
 Updates everything needed for video shaders (shader presets) Needs to be called after m_renderBuffer has been set.
 

Protected Attributes

std::map< CRenderBufferDMA *, std::unique_ptr< RenderBufferTextures > > m_RBTexturesMap
 
- Protected Attributes inherited from KODI::RETRO::CRPRendererOpenGL
std::map< CRenderBufferOpenGL *, std::unique_ptr< RenderBufferTextures > > m_RBTexturesMap
 
GLuint m_mainVAO
 
GLuint m_mainVertexVBO
 
GLuint m_mainIndexVBO
 
GLuint m_blackbarsVAO
 
GLuint m_blackbarsVertexVBO
 
GLenum m_textureTarget = GL_TEXTURE_2D
 
float m_clearColour = 0.0f
 
- Protected Attributes inherited from KODI::RETRO::CRPBaseRenderer
CRenderContextm_context
 
std::shared_ptr< IRenderBufferPoolm_bufferPool
 
bool m_bConfigured = false
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
CRenderSettings m_renderSettings
 
IRenderBufferm_renderBuffer = nullptr
 
CRect m_sourceRect
 
float m_fullDestWidth {0.0f}
 
float m_fullDestHeight {0.0f}
 
ViewportCoordinates m_rotatedDestCoords {}
 
std::unique_ptr< SHADER::IShaderPresetm_shaderPreset
 
bool m_bShadersNeedUpdate = true
 
bool m_bUseShaderPreset = false
 

Additional Inherited Members

- Static Public Member Functions inherited from KODI::RETRO::CRPRendererOpenGL
static bool SupportsScalingMethod (SCALINGMETHOD method)
 

Detailed Description

Special CRPBaseRenderer implementation to handle Direct Memory Access (DMA) buffer types. For specific use with CRenderBufferPoolDMA and CRenderBufferDMA. A windowing system must register use of this renderer and register at least one CBufferObject types.

Constructor & Destructor Documentation

◆ CRPRendererDMAOpenGL()

CRPRendererDMAOpenGL::CRPRendererDMAOpenGL ( const CRenderSettings & renderSettings,
CRenderContext & context,
std::shared_ptr< IRenderBufferPool > bufferPool )

◆ ~CRPRendererDMAOpenGL()

KODI::RETRO::CRPRendererDMAOpenGL::~CRPRendererDMAOpenGL ( )
overridedefault

Member Function Documentation

◆ Render()

void CRPRendererDMAOpenGL::Render ( uint8_t alpha)
overrideprotectedvirtual

Reimplemented from KODI::RETRO::CRPRendererOpenGL.

Member Data Documentation

◆ m_RBTexturesMap

std::map<CRenderBufferDMA*, std::unique_ptr<RenderBufferTextures> > KODI::RETRO::CRPRendererDMAOpenGL::m_RBTexturesMap
protected

The documentation for this class was generated from the following files: