|
vdr-plugin-softhddevice-drm-gles 1.6.7
|
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 1652 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 1815 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 1968 of file openglosd.cpp.
References cOglFont::Cleanup(), DeleteShaders(), DeleteVertexBuffers(), L_OPENGL, LOGDEBUG2, and cOglOsd::OutputFramebuffer.
Definition at line 1668 of file openglosd.cpp.
References DropImageData(), m_imageCache, and OGL_MAX_OSDIMAGES.
Referenced by RequestStop(), and Stop().
Definition at line 1781 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 1942 of file openglosd.cpp.
References Shaders, and stCount.
Referenced by Cleanup().
Definition at line 1961 of file openglosd.cpp.
References vbCount, and VertexBuffers.
Referenced by Cleanup().
Definition at line 1691 of file openglosd.cpp.
References m_commands, m_stalled, m_wait, and OGL_CMDQUEUE_SIZE.
Referenced by DropImageData(), and StoreImage().
Definition at line 1802 of file openglosd.cpp.
References ClearSlot(), DoCmd(), GetImageRef(), and m_memCached.
Referenced by CleanupImageCache(), and StoreImage().
Definition at line 1896 of file openglosd.cpp.
References EGL_CHECK, cVideoRender::EglContext(), cVideoRender::EglDisplay(), cVideoRender::EglSurface(), and m_pRender.
Referenced by InitOpenGL().
Definition at line 1767 of file openglosd.cpp.
References m_imageCache, OGL_MAX_OSDIMAGES, and sOglImage::used.
Referenced by StoreImage().
Definition at line 1794 of file openglosd.cpp.
References m_imageCache, and OGL_MAX_OSDIMAGES.
Referenced by DropImageData(), and StoreImage().
Definition at line 1905 of file openglosd.cpp.
References eglAcquireContext(), GL_CHECK, cVideoRender::GlInitiated(), L_OPENGL, LOGDEBUG2, m_pRender, vbText, and VertexBuffers.
Referenced by Action().
Definition at line 1948 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 1677 of file openglosd.cpp.
References CleanupImageCache().
Definition at line 1683 of file openglosd.cpp.
References Cleanup(), CleanupImageCache(), and m_stalled.
Definition at line 1711 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.