|
vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
|
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 713 of file openglosd.h.
| cOglThread::cOglThread | ( | cCondWait * | startWait, |
| int | maxCacheSize, | ||
| cSoftHdDevice * | device | ||
| ) |
Definition at line 1655 of file openglosd.cpp.
References sOglImage::height, m_imageCache, OGL_MAX_OSDIMAGES, sOglImage::texture, sOglImage::used, and sOglImage::width.
Definition at line 716 of file openglosd.h.
Definition at line 1818 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 1971 of file openglosd.cpp.
References cOglFont::Cleanup(), DeleteShaders(), DeleteVertexBuffers(), L_OPENGL, LOGDEBUG2, and cOglOsd::OutputFramebuffer.
Definition at line 1671 of file openglosd.cpp.
References DropImageData(), m_imageCache, and OGL_MAX_OSDIMAGES.
Referenced by RequestStop(), and Stop().
Definition at line 1784 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 1945 of file openglosd.cpp.
References Shaders, and stCount.
Referenced by Cleanup().
Definition at line 1964 of file openglosd.cpp.
References vbCount, and VertexBuffers.
Referenced by Cleanup().
Definition at line 1694 of file openglosd.cpp.
References m_commands, m_stalled, m_wait, and OGL_CMDQUEUE_SIZE.
Referenced by DropImageData(), and StoreImage().
Definition at line 1805 of file openglosd.cpp.
References ClearSlot(), DoCmd(), GetImageRef(), and m_memCached.
Referenced by CleanupImageCache(), and StoreImage().
Definition at line 1899 of file openglosd.cpp.
References EGL_CHECK, cVideoRender::EglContext(), cVideoRender::EglDisplay(), cVideoRender::EglSurface(), and m_pRender.
Referenced by InitOpenGL().
Definition at line 1770 of file openglosd.cpp.
References m_imageCache, OGL_MAX_OSDIMAGES, and sOglImage::used.
Referenced by StoreImage().
Definition at line 1797 of file openglosd.cpp.
References m_imageCache, and OGL_MAX_OSDIMAGES.
Referenced by DropImageData(), and StoreImage().
Definition at line 1908 of file openglosd.cpp.
References eglAcquireContext(), GL_CHECK, cVideoRender::GlInitiated(), L_OPENGL, LOGDEBUG2, m_pRender, vbText, and VertexBuffers.
Referenced by Action().
Definition at line 1951 of file openglosd.cpp.
References L_OPENGL, LOGDEBUG2, vbCount, and VertexBuffers.
Referenced by Action().
Definition at line 725 of file openglosd.h.
References m_mutex.
Definition at line 724 of file openglosd.h.
References m_maxTextureSize.
Definition at line 1680 of file openglosd.cpp.
References CleanupImageCache().
Definition at line 1686 of file openglosd.cpp.
References Cleanup(), CleanupImageCache(), and m_stalled.
Definition at line 1714 of file openglosd.cpp.
References ClearSlot(), DoCmd(), DropImageData(), GetFreeSlot(), GetImageRef(), LOGERROR, m_maxCacheSize, m_maxTextureSize, and m_memCached.
Definition at line 726 of file openglosd.h.
References m_mutex.
|
private |
Definition at line 733 of file openglosd.h.
|
private |
Definition at line 735 of file openglosd.h.
Referenced by CleanupImageCache(), ClearSlot(), cOglThread(), GetFreeSlot(), and GetImageRef().
|
private |
Definition at line 737 of file openglosd.h.
Referenced by StoreImage().
|
private |
Definition at line 734 of file openglosd.h.
Referenced by Action(), MaxTextureSize(), and StoreImage().
|
private |
Definition at line 736 of file openglosd.h.
Referenced by DropImageData(), and StoreImage().
|
private |
Definition at line 739 of file openglosd.h.
Referenced by Action(), LockOutputFb(), and UnlockOutputFb().
|
private |
Definition at line 738 of file openglosd.h.
Referenced by eglAcquireContext(), and InitOpenGL().
Definition at line 732 of file openglosd.h.
|
private |
Definition at line 730 of file openglosd.h.
Referenced by Action().
|
private |
Definition at line 731 of file openglosd.h.