|
vdr-plugin-softhddevice-drm-gles 1.6.8-daba64b
|
OpenGL Commands Processing Thread. More...
#include <openglosd.h>
Public Member Functions | |
| cOglThread (cCondWait *startWait, int maxCacheSize, cSoftHdDevice *device) | |
| virtual | ~cOglThread (void) |
| void | RequestStop (void) |
| void | Stop (void) |
| void | DoCmd (cOglCmd *) |
| int | StoreImage (const cImage &) |
| void | DropImageData (int) |
| sOglImage * | GetImageRef (int) |
| int | MaxTextureSize (void) |
| void | LockOutputFb (void) |
| void | UnlockOutputFb (void) |
Protected Member Functions | |
| virtual void | Action (void) |
Private Member Functions | |
| bool | InitOpenGL (void) |
| bool | InitShaders (void) |
| void | DeleteShaders (void) |
| bool | InitVertexBuffers (void) |
| void | DeleteVertexBuffers (void) |
| void | Cleanup (void) |
| void | CleanupImageCache (void) |
| int | GetFreeSlot (void) |
| void | ClearSlot (int slot) |
| void | eglAcquireContext (void) |
Private Attributes | |
| cCondWait * | m_startWait |
| cCondWait | m_wait |
| bool | m_stalled = false |
| std::queue< cOglCmd * > | m_commands |
| GLint | m_maxTextureSize = 0 |
| sOglImage | m_imageCache [OGL_MAX_OSDIMAGES] |
| long | m_memCached = 0 |
| long | m_maxCacheSize |
| cVideoRender * | m_pRender |
| std::mutex | m_mutex |
OpenGL Commands Processing Thread.
Continuosly executes OpenGL commands
Every OSD draw or flush which is invoked by VDR is transposed into an OpenGL command. cOglThread holds a fifo-queue of these commands. It continuosly checks for commands on the queue, pops them and sends them to the hardware.
On startup it initiates all necessary OpenGL bits.
Definition at line 736 of file openglosd.h.
| cOglThread::cOglThread | ( | cCondWait * | startWait, |
| int | maxCacheSize, | ||
| cSoftHdDevice * | device | ||
| ) |
Definition at line 1706 of file openglosd.cpp.
References sOglImage::height, m_imageCache, OGL_MAX_OSDIMAGES, sOglImage::texture, sOglImage::used, and sOglImage::width.
Definition at line 739 of file openglosd.h.
Definition at line 1869 of file openglosd.cpp.
References Cleanup(), GL_CHECK, InitOpenGL(), InitShaders(), InitVertexBuffers(), L_OPENGL, L_OPENGL_TIME, L_OPENGL_TIME_ALL, LOGDEBUG2, LOGERROR, LOGINFO, m_commands, m_maxTextureSize, m_mutex, m_stalled, m_startWait, m_wait, and OGL_CMDQUEUE_SIZE.
Definition at line 2022 of file openglosd.cpp.
References cOglFont::Cleanup(), DeleteShaders(), DeleteVertexBuffers(), L_OPENGL, LOGDEBUG2, and cOglOsd::OutputFramebuffer.
Definition at line 1722 of file openglosd.cpp.
References DropImageData(), m_imageCache, and OGL_MAX_OSDIMAGES.
Referenced by RequestStop(), and Stop().
Definition at line 1835 of file openglosd.cpp.
References sOglImage::height, m_imageCache, OGL_MAX_OSDIMAGES, sOglImage::texture, sOglImage::used, and sOglImage::width.
Referenced by DropImageData(), and StoreImage().
Definition at line 1996 of file openglosd.cpp.
References Shaders, and stCount.
Referenced by Cleanup().
Definition at line 2015 of file openglosd.cpp.
References vbCount, and VertexBuffers.
Referenced by Cleanup().
Definition at line 1745 of file openglosd.cpp.
References m_commands, m_stalled, m_wait, and OGL_CMDQUEUE_SIZE.
Referenced by DropImageData(), and StoreImage().
Definition at line 1856 of file openglosd.cpp.
References ClearSlot(), DoCmd(), GetImageRef(), and m_memCached.
Referenced by CleanupImageCache(), and StoreImage().
Definition at line 1950 of file openglosd.cpp.
References EGL_CHECK, cVideoRender::EglContext(), cVideoRender::EglDisplay(), cVideoRender::EglSurface(), and m_pRender.
Referenced by InitOpenGL().
Definition at line 1821 of file openglosd.cpp.
References m_imageCache, OGL_MAX_OSDIMAGES, and sOglImage::used.
Referenced by StoreImage().
Definition at line 1848 of file openglosd.cpp.
References m_imageCache, and OGL_MAX_OSDIMAGES.
Referenced by DropImageData(), and StoreImage().
Definition at line 1959 of file openglosd.cpp.
References eglAcquireContext(), GL_CHECK, cVideoRender::GlInitiated(), L_OPENGL, LOGDEBUG2, m_pRender, vbText, and VertexBuffers.
Referenced by Action().
Definition at line 2002 of file openglosd.cpp.
References L_OPENGL, LOGDEBUG2, vbCount, and VertexBuffers.
Referenced by Action().
Definition at line 748 of file openglosd.h.
References m_mutex.
Definition at line 747 of file openglosd.h.
References m_maxTextureSize.
Definition at line 1731 of file openglosd.cpp.
References CleanupImageCache().
Definition at line 1737 of file openglosd.cpp.
References Cleanup(), CleanupImageCache(), and m_stalled.
Definition at line 1765 of file openglosd.cpp.
References ClearSlot(), DoCmd(), DropImageData(), GetFreeSlot(), GetImageRef(), LOGERROR, m_maxCacheSize, m_maxTextureSize, and m_memCached.
Definition at line 749 of file openglosd.h.
References m_mutex.
|
private |
Definition at line 756 of file openglosd.h.
|
private |
Definition at line 758 of file openglosd.h.
Referenced by CleanupImageCache(), ClearSlot(), cOglThread(), GetFreeSlot(), and GetImageRef().
|
private |
Definition at line 760 of file openglosd.h.
Referenced by StoreImage().
|
private |
Definition at line 757 of file openglosd.h.
Referenced by Action(), MaxTextureSize(), and StoreImage().
|
private |
Definition at line 759 of file openglosd.h.
Referenced by DropImageData(), and StoreImage().
|
private |
Definition at line 762 of file openglosd.h.
Referenced by Action(), LockOutputFb(), and UnlockOutputFb().
|
private |
Definition at line 761 of file openglosd.h.
Referenced by eglAcquireContext(), and InitOpenGL().
Definition at line 755 of file openglosd.h.
|
private |
Definition at line 753 of file openglosd.h.
Referenced by Action().
|
private |
Definition at line 754 of file openglosd.h.