xbmc
Public Member Functions | Protected Attributes | List of all members
KODI::RETRO::CRenderBufferDMA Class Reference

Special IRenderBuffer implementation for use with CBufferObject. More...

#include <RenderBufferDMA.h>

Inheritance diagram for KODI::RETRO::CRenderBufferDMA:
Inheritance graph
[legend]
Collaboration diagram for KODI::RETRO::CRenderBufferDMA:
Collaboration graph
[legend]

Public Member Functions

 CRenderBufferDMA (CRenderContext &context, int fourcc)
 
bool Allocate (AVPixelFormat format, unsigned int width, unsigned int height) override
 
size_t GetFrameSize () const override
 
uint8_t * GetMemory () override
 
DataAccess GetMemoryAccess () const override
 
void ReleaseMemory () override
 
bool UploadTexture () override
 
GLuint TextureID () const
 
- Public Member Functions inherited from KODI::RETRO::CBaseRenderBuffer
void Acquire () override
 
void Acquire (std::shared_ptr< IRenderBufferPool > pool) override
 
void Release () override
 
IRenderBufferPoolGetPool () override
 
- Public Member Functions inherited from KODI::RETRO::IRenderBuffer
virtual void Update ()
 
virtual DataAlignment GetMemoryAlignment () const
 
virtual void BindToUnit (unsigned int unit)
 
virtual void SetHeader (void *header)
 
AVPixelFormat GetFormat () const
 
unsigned int GetWidth () const
 
unsigned int GetHeight () const
 
bool IsLoaded () const
 
void SetLoaded (bool bLoaded)
 
bool IsRendered () const
 
void SetRendered (bool bRendered)
 
unsigned int GetRotation () const
 
void SetRotation (unsigned int rotationDegCCW)
 

Protected Attributes

CRenderContextm_context
 
const int m_fourcc = 0
 
const GLenum m_textureTarget = GL_TEXTURE_2D
 
GLuint m_textureId = 0
 
- Protected Attributes inherited from KODI::RETRO::CBaseRenderBuffer
std::atomic_int m_refCount
 
std::shared_ptr< IRenderBufferPoolm_pool
 
- Protected Attributes inherited from KODI::RETRO::IRenderBuffer
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
unsigned int m_width = 0
 
unsigned int m_height = 0
 
bool m_bLoaded = false
 
bool m_bRendered = false
 
unsigned int m_rotationDegCCW = 0
 

Detailed Description

Special IRenderBuffer implementation for use with CBufferObject.

This buffer type uses Direct Memory Access (DMA) sharing via file descriptors (fds). The file descriptor is then used to create an EGL image.

Member Function Documentation

◆ GetFrameSize()

size_t CRenderBufferDMA::GetFrameSize ( ) const
overridevirtual
Todo:
Remove me

Implements KODI::RETRO::IRenderBuffer.


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