MythTV  master
Public Member Functions | List of all members
MythRenderOpenGL2ES Class Reference

#include <mythrender_opengl2es.h>

Inheritance diagram for MythRenderOpenGL2ES:
Inheritance graph
Collaboration diagram for MythRenderOpenGL2ES:
Collaboration graph

Public Member Functions

 MythRenderOpenGL2ES (const MythRenderFormat &format, QPaintDevice *device)
 MythRenderOpenGL2ES (const MythRenderFormat &format)
void InitProcs (void) override
bool InitFeatures (void) override
- Public Member Functions inherited from MythRenderOpenGL2
 MythRenderOpenGL2 (const MythRenderFormat &format, QPaintDevice *device, RenderType type=kRenderOpenGL2)
 MythRenderOpenGL2 (const MythRenderFormat &format, RenderType type=kRenderOpenGL2)
uint CreateShaderObject (const QString &vert, const QString &frag) override
void DeleteShaderObject (uint obj) override
void EnableShaderObject (uint obj) override
void SetShaderParams (uint obj, const QMatrix4x4 &m, const char *uniform) override
bool RectanglesAreAccelerated (void) override
void PushTransformation (const UIEffects &fx, QPointF &center) override
void PopTransformation (void) override
- Public Member Functions inherited from MythRenderOpenGL
 MythRenderOpenGL (const MythRenderFormat &format, QPaintDevice *device, RenderType type=kRenderUnknown)
 MythRenderOpenGL (const MythRenderFormat &format, RenderType type=kRenderUnknown)
void makeCurrent () override
void doneCurrent () override
void Release (void) override
void setWidget (QGLWidget *w)
bool IsDirectRendering () const
void Init (void)
int GetMaxTextureSize (void)
uint GetFeatures (void)
bool IsRecommendedRenderer (void)
void MoveResizeWindow (const QRect &rect)
void SetViewPort (const QRect &rect, bool viewportonly=false)
QRect GetViewPort (void)
void Flush (bool use_fence)
void SetBlend (bool enable)
virtual void SetColor (int, int, int, int)
void SetBackground (int r, int g, int b, int a)
void SetFence (void)
void * GetTextureBuffer (uint tex, bool create_buffer=true)
void UpdateTexture (uint tex, void *buf)
int GetTextureType (bool &rect)
bool IsRectTexture (uint type)
uint CreateHelperTexture (void)
uint CreateTexture (QSize act_size, bool use_pbo, uint type, uint data_type=GL_UNSIGNED_BYTE, uint data_fmt=GL_RGBA, uint internal_fmt=GL_RGBA8, uint filter=GL_LINEAR, uint wrap=GL_CLAMP_TO_EDGE)
QSize GetTextureSize (uint type, const QSize &size)
QSize GetTextureSize (uint tex)
int GetTextureDataSize (uint tex)
void SetTextureFilters (uint tex, uint filt, uint wrap)
void ActiveTexture (int active_tex)
void EnableTextures (uint tex, uint tex_type=0)
void DisableTextures (void)
void DeleteTexture (uint tex)
bool CreateFrameBuffer (uint &fb, uint tex)
void DeleteFrameBuffer (uint fb)
void BindFramebuffer (uint fb)
void ClearFramebuffer (void)
void DrawBitmap (uint tex, uint target, const QRect *src, const QRect *dst, uint prog, int alpha=255, int red=255, int green=255, int blue=255)
void DrawBitmap (uint *textures, uint texture_count, uint target, const QRectF *src, const QRectF *dst, uint prog)
void DrawRect (const QRect &area, const QBrush &fillBrush, const QPen &linePen, int alpha)
void DrawRoundRect (const QRect &area, int cornerRadius, const QBrush &fillBrush, const QPen &linePen, int alpha)
- Public Member Functions inherited from MythRender
 MythRender (RenderType type)
bool IsShared (void) const
 Warning: The reference count can be decremented between the call to this function and the use of it's value. More...
RenderType Type (void) const
bool IsErrored (void) const
QSize GetSize (void) const
- Public Member Functions inherited from ReferenceCounter
 ReferenceCounter (const QString &debugName, bool logDebug=true)
 Creates reference counter with an initial value of 1. More...
virtual int IncrRef (void)
 Increments reference count. More...
virtual int DecrRef (void)
 Decrements reference count and deletes on 0. More...

Additional Inherited Members

- Static Public Member Functions inherited from MythRenderOpenGL
static MythRenderOpenGLCreate (const QString &painter, QPaintDevice *device=nullptr)
- Static Public Member Functions inherited from ReferenceCounter
static void PrintDebug (void)
 Print out any leaks if that level of debugging is enabled. More...
- Protected Types inherited from MythRenderOpenGL2
typedef QHash< QString, QMatrix4x4 > map_t
- Protected Member Functions inherited from MythRenderOpenGL2
virtual ~MythRenderOpenGL2 ()
void DrawBitmapPriv (uint tex, const QRect *src, const QRect *dst, uint prog, int alpha, int red, int green, int blue) override
void DrawBitmapPriv (uint *textures, uint texture_count, const QRectF *src, const QRectF *dst, uint prog) override
void DrawRectPriv (const QRect &area, const QBrush &fillBrush, const QPen &linePen, int alpha) override
void DrawRoundRectPriv (const QRect &area, int cornerRadius, const QBrush &fillBrush, const QPen &linePen, int alpha) override
void Init2DState (void) override
void DeleteShaders (void) override
void ResetVars (void) override
void ResetProcs (void) override
void DeleteOpenGLResources (void) override
void SetMatrixView (void) override
void CreateDefaultShaders (void)
void DeleteDefaultShaders (void)
uint CreateShader (int type, const QString &source)
bool ValidateShaderObject (uint obj)
bool CheckObjectStatus (uint obj)
void OptimiseShaderSource (QString &source)
void m_glVertexAttribPointerI (GLuint index, GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLuint value)
- Protected Member Functions inherited from MythRenderOpenGL
virtual ~MythRenderOpenGL ()=default
void * GetProcAddress (const QString &proc) const
uint CreatePBO (uint tex)
uint CreateVBO (void)
void DeleteTextures (void)
void DeleteFrameBuffers (void)
bool UpdateTextureVertices (uint tex, const QRect *src, const QRect *dst)
bool UpdateTextureVertices (uint tex, const QRectF *src, const QRectF *dst)
GLfloat * GetCachedVertices (GLuint type, const QRect &area)
void ExpireVertices (uint max=0)
void GetCachedVBO (GLuint type, const QRect &area)
void ExpireVBOS (uint max=0)
bool ClearTexture (uint tex)
uint GetBufferSize (QSize size, uint fmt, uint type)
- Protected Member Functions inherited from MythRender
virtual ~MythRender ()=default
- Protected Member Functions inherited from ReferenceCounter
virtual ~ReferenceCounter (void)
 Called on destruction, will warn if object deleted with references in place. More...
- Static Protected Member Functions inherited from MythRenderOpenGL
static void StoreBicubicWeights (float x, float *dst)
- Protected Attributes inherited from MythRenderOpenGL2
QHash< GLuint, MythGLShaderObjectm_shader_objects
uint m_shaders [kShaderCount]
uint m_active_obj {0}
QMatrix4x4 m_projection
QStack< QMatrix4x4 > m_transforms
QMatrix4x4 m_parameters
QString m_qualifiers
QString m_GLSLVersion
map_t m_map
MYTH_GLGETSHADERIVPROC m_glGetShaderiv {nullptr}
MYTH_GLCREATESHADERPROC m_glCreateShader {nullptr}
MYTH_GLSHADERSOURCEPROC m_glShaderSource {nullptr}
MYTH_GLCOMPILESHADERPROC m_glCompileShader {nullptr}
MYTH_GLATTACHSHADERPROC m_glAttachShader {nullptr}
MYTH_GLDETACHSHADERPROC m_glDetachShader {nullptr}
MYTH_GLDELETESHADERPROC m_glDeleteShader {nullptr}
MYTH_GLCREATEPROGRAMPROC m_glCreateProgram {nullptr}
MYTH_GLLINKPROGRAMPROC m_glLinkProgram {nullptr}
MYTH_GLUSEPROGRAMPROC m_glUseProgram {nullptr}
MYTH_GLDELETEPROGRAMPROC m_glDeleteProgram {nullptr}
MYTH_GLGETPROGRAMIVPROC m_glGetProgramiv {nullptr}
MYTH_GLGETUNIFORMLOCATIONPROC m_glGetUniformLocation {nullptr}
MYTH_GLUNIFORM1IPROC m_glUniform1i {nullptr}
MYTH_GLUNIFORMMATRIX4FVPROC m_glUniformMatrix4fv {nullptr}
MYTH_GLVERTEXATTRIBPOINTERPROC m_glVertexAttribPointer {nullptr}
MYTH_GLBINDATTRIBLOCATIONPROC m_glBindAttribLocation {nullptr}
MYTH_GLVERTEXATTRIB4FPROC m_glVertexAttrib4f {nullptr}
- Protected Attributes inherited from MythRenderOpenGL
QHash< GLuint, MythGLTexturem_textures
QVector< GLuint > m_framebuffers
GLuint m_fence {0}
QMutex m_lock
int m_lock_level {0}
QString m_extensions
uint m_exts_supported {kGLFeatNone}
uint m_exts_used {kGLFeatNone}
int m_max_tex_size {0}
int m_max_units {0}
int m_default_texture_type {GL_TEXTURE_2D}
QRect m_viewport
int m_active_tex {0}
int m_active_tex_type {0}
int m_active_fb {0}
bool m_blend {false}
uint32_t m_background {0x00000000}
QMap< uint64_t, GLfloat * > m_cachedVertices
QList< uint64_t > m_vertexExpiry
QMap< uint64_t, GLuint > m_cachedVBOS
QList< uint64_t > m_vboExpiry
bool m_flushEnabled {true}
MYTH_GLACTIVETEXTUREPROC m_glActiveTexture {nullptr}
MYTH_GLMAPBUFFERPROC m_glMapBuffer {nullptr}
MYTH_GLBINDBUFFERPROC m_glBindBuffer {nullptr}
MYTH_GLGENBUFFERSPROC m_glGenBuffers {nullptr}
MYTH_GLBUFFERDATAPROC m_glBufferData {nullptr}
MYTH_GLUNMAPBUFFERPROC m_glUnmapBuffer {nullptr}
MYTH_GLDELETEBUFFERSPROC m_glDeleteBuffers {nullptr}
MYTH_GLGENFRAMEBUFFERSPROC m_glGenFramebuffers {nullptr}
MYTH_GLBINDFRAMEBUFFERPROC m_glBindFramebuffer {nullptr}
MYTH_GLFRAMEBUFFERTEXTURE2DPROC m_glFramebufferTexture2D {nullptr}
MYTH_GLCHECKFRAMEBUFFERSTATUSPROC m_glCheckFramebufferStatus {nullptr}
MYTH_GLDELETEFRAMEBUFFERSPROC m_glDeleteFramebuffers {nullptr}
- Protected Attributes inherited from MythRender
RenderType m_type
QSize m_size
bool m_errored
- Protected Attributes inherited from ReferenceCounter
bool m_logDebug
 This is used to suppress creating LoggingItem classes for LoggingItem reference count changes. More...
QAtomicInt m_referenceCount {1}

Detailed Description

Definition at line 6 of file mythrender_opengl2es.h.

Constructor & Destructor Documentation

◆ MythRenderOpenGL2ES() [1/2]

MythRenderOpenGL2ES::MythRenderOpenGL2ES ( const MythRenderFormat format,
QPaintDevice *  device 

Definition at line 6 of file mythrender_opengl2es.cpp.

◆ MythRenderOpenGL2ES() [2/2]

MythRenderOpenGL2ES::MythRenderOpenGL2ES ( const MythRenderFormat format)

Definition at line 11 of file mythrender_opengl2es.cpp.

Member Function Documentation

◆ InitProcs()

void MythRenderOpenGL2ES::InitProcs ( void  )

Reimplemented from MythRenderOpenGL2.

Definition at line 16 of file mythrender_opengl2es.cpp.

◆ InitFeatures()

bool MythRenderOpenGL2ES::InitFeatures ( void  )

Reimplemented from MythRenderOpenGL2.

Definition at line 106 of file mythrender_opengl2es.cpp.

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