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

#include <mythrender_opengl2es.h>

Inheritance diagram for MythRenderOpenGL2ES:
Inheritance graph
[legend]
Collaboration diagram for MythRenderOpenGL2ES:
Collaboration graph
[legend]

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_GLGETSHADERINFOLOGPROC m_glGetShaderInfoLog {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_GLGETPROGRAMINFOLOGPROC m_glGetProgramInfoLog {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_GLENABLEVERTEXATTRIBARRAYPROC m_glEnableVertexAttribArray {nullptr}
 
MYTH_GLDISABLEVERTEXATTRIBARRAYPROC m_glDisableVertexAttribArray {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}
 
MYTH_GLGENFENCESNVPROC m_glGenFencesNV {nullptr}
 
MYTH_GLDELETEFENCESNVPROC m_glDeleteFencesNV {nullptr}
 
MYTH_GLSETFENCENVPROC m_glSetFenceNV {nullptr}
 
MYTH_GLFINISHFENCENVPROC m_glFinishFenceNV {nullptr}
 
MYTH_GLGENFENCESAPPLEPROC m_glGenFencesAPPLE {nullptr}
 
MYTH_GLDELETEFENCESAPPLEPROC m_glDeleteFencesAPPLE {nullptr}
 
MYTH_GLSETFENCEAPPLEPROC m_glSetFenceAPPLE {nullptr}
 
MYTH_GLFINISHFENCEAPPLEPROC m_glFinishFenceAPPLE {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)
explicit

Definition at line 11 of file mythrender_opengl2es.cpp.

Member Function Documentation

◆ InitProcs()

void MythRenderOpenGL2ES::InitProcs ( void  )
overridevirtual

Reimplemented from MythRenderOpenGL2.

Definition at line 16 of file mythrender_opengl2es.cpp.

◆ InitFeatures()

bool MythRenderOpenGL2ES::InitFeatures ( void  )
overridevirtual

Reimplemented from MythRenderOpenGL2.

Definition at line 106 of file mythrender_opengl2es.cpp.


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