xbmc
|
Special IRenderBuffer implementation for use with CBufferObject. More...
#include <RenderBufferDMA.h>
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 |
void | ReleaseMemory () override |
bool | UploadTexture () override |
GLuint | TextureID () const |
![]() | |
void | Acquire () override |
void | Acquire (std::shared_ptr< IRenderBufferPool > pool) override |
void | Release () override |
IRenderBufferPool * | GetPool () override |
DataAccess | GetMemoryAccess () const override |
DataAlignment | GetMemoryAlignment () const override |
![]() | |
virtual void | Update () |
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 | |
CRenderContext & | m_context |
const int | m_fourcc = 0 |
const GLenum | m_textureTarget = GL_TEXTURE_2D |
GLuint | m_textureId = 0 |
![]() | |
std::atomic_int | m_refCount |
std::shared_ptr< IRenderBufferPool > | m_pool |
![]() | |
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 |
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.
|
overridevirtual |
Implements KODI::RETRO::IRenderBuffer.