MythTV  master
Public Slots | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
MythRenderOpenGL Class Reference

#include <mythrenderopengl.h>

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

Public Slots

void messageLogged (const QOpenGLDebugMessage &Message)
 
void logDebugMarker (const QString &Message)
 
void contextToBeDestroyed (void)
 

Public Member Functions

void ReleaseResources (void) override
 
QStringList GetDescription (void) override
 
bool IsReady (void)
 
void makeCurrent ()
 
void doneCurrent ()
 
void swapBuffers ()
 
bool Init (void)
 
int GetColorDepth (void) const
 
int GetMaxTextureSize (void) const
 
int GetMaxTextureUnits (void) const
 
int GetExtraFeatures (void) const
 
QOpenGLFunctions::OpenGLFeatures GetFeatures (void) const
 
bool IsRecommendedRenderer (void)
 
void SetViewPort (const QRect &Rect, bool ViewportOnly=false)
 
QRect GetViewPort (void)
 
void PushTransformation (const UIEffects &Fx, QPointF &Center)
 
void PopTransformation (void)
 
void Flush (void)
 
void SetBlend (bool Enable)
 
void SetBackground (int Red, int Green, int Blue, int Alpha)
 
QFunctionPointer GetProcAddress (const QString &Proc) const
 
QOpenGLBuffer * CreateVBO (int Size, bool Release=true)
 
MythGLTextureCreateTextureFromQImage (QImage *Image)
 
QSize GetTextureSize (const QSize &Size, bool Normalised)
 
void SetTextureFilters (MythGLTexture *Texture, QOpenGLTexture::Filter Filter, QOpenGLTexture::WrapMode Wrap=QOpenGLTexture::ClampToEdge)
 
void ActiveTexture (GLuint ActiveTex)
 
void DeleteTexture (MythGLTexture *Texture)
 
QOpenGLFramebufferObject * CreateFramebuffer (QSize &Size, bool SixteenBit=false)
 
MythGLTextureCreateFramebufferTexture (QOpenGLFramebufferObject *Framebuffer)
 
void DeleteFramebuffer (QOpenGLFramebufferObject *Framebuffer)
 
void BindFramebuffer (QOpenGLFramebufferObject *Framebuffer)
 
void ClearFramebuffer (void)
 
QOpenGLShaderProgram * CreateShaderProgram (const QString &Vertex, const QString &Fragment)
 
QOpenGLShaderProgram * CreateComputeShader (const QString &Source)
 
void DeleteShaderProgram (QOpenGLShaderProgram *Program)
 
bool EnableShaderProgram (QOpenGLShaderProgram *Program)
 
void SetShaderProgramParams (QOpenGLShaderProgram *Program, const QMatrix4x4 &Value, const char *Uniform)
 
void SetShaderProjection (QOpenGLShaderProgram *Program)
 
void DrawBitmap (MythGLTexture *Texture, QOpenGLFramebufferObject *Target, const QRect &Source, const QRect &Destination, QOpenGLShaderProgram *Program, int Alpha=255, qreal Scale=1.0)
 
void DrawBitmap (MythGLTexture **Textures, uint TextureCount, QOpenGLFramebufferObject *Target, const QRect &Source, const QRect &Destination, QOpenGLShaderProgram *Program, int Rotation)
 
void DrawRect (QOpenGLFramebufferObject *Target, const QRect &Area, const QBrush &FillBrush, const QPen &LinePen, int Alpha)
 
void DrawRoundRect (QOpenGLFramebufferObject *Target, const QRect &Area, int CornerRadius, const QBrush &FillBrush, const QPen &LinePen, int Alpha)
 
void ClearRect (QOpenGLFramebufferObject *Target, const QRect &Area, int Color)
 An optimised method to clear a QRect to the given color. More...
 
bool GetGPUMemory (int &Available, int &Total)
 
- Public Member Functions inherited from MythEGL
 MythEGL (MythRenderOpenGL *Context)
 
 ~MythEGL ()=default
 
bool IsEGL (void)
 
bool HasEGLExtension (QString Extension)
 
void * GetEGLDisplay (void)
 
void eglImageTargetTexture2DOES (GLenum Target, void *Image)
 
void * eglCreateImageKHR (void *Disp, void *Context, unsigned int Target, void *Buffer, const int32_t *Attributes)
 
void eglDestroyImageKHR (void *Disp, void *Image)
 
- 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...
 

Static Public Member Functions

static MythRenderOpenGLGetOpenGLRender (void)
 
static MythRenderOpenGLCreate (QWidget *Widget)
 
static int GetTextureDataSize (MythGLTexture *Texture)
 
static int GetBufferSize (QSize Size, QOpenGLTexture::PixelFormat Format, QOpenGLTexture::PixelType Type)
 
- Static Public Member Functions inherited from MythEGL
static qint32 GetEGLError (void)
 
static QString GetEGLVendor (void)
 
- Static Public Member Functions inherited from ReferenceCounter
static void PrintDebug (void)
 Print out any leaks if that level of debugging is enabled. More...
 

Static Public Attributes

static const GLuint kVertexSize = 16 * sizeof(GLfloat)
 

Protected Member Functions

 MythRenderOpenGL (const QSurfaceFormat &Format, QWidget *Widget)
 
 ~MythRenderOpenGL () override
 
void SetWidget (QWidget *Widget)
 
void Init2DState (void)
 
void SetMatrixView (void)
 
void DeleteFramebuffers (void)
 
GLfloat * GetCachedVertices (GLuint Type, const QRect &Area)
 
void ExpireVertices (int Max=0)
 
void GetCachedVBO (GLuint Type, const QRect &Area)
 
void ExpireVBOS (int Max=0)
 
bool CreateDefaultShaders (void)
 
void DeleteDefaultShaders (void)
 
void Check16BitFBO (void)
 Check for 16bit framebufferobject support. More...
 
void glVertexAttribPointerI (GLuint Index, GLint Size, GLenum Type, GLboolean Normalize, GLsizei Stride, GLuint Value)
 
- Protected Member Functions inherited from MythRender
 ~MythRender () override=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

static bool UpdateTextureVertices (MythGLTexture *Texture, const QRect &Source, const QRect &Destination, int Rotation, qreal Scale=1.0)
 

Protected Attributes

bool m_ready { false }
 
GLuint m_activeFramebuffer { 0 }
 
GLuint m_fence { 0 }
 
QOpenGLShaderProgram * m_defaultPrograms [kShaderCount] { nullptr }
 
QOpenGLShaderProgram * m_activeProgram { nullptr }
 
QMap< uint64_t, GLfloat * > m_cachedVertices
 
QList< uint64_t > m_vertexExpiry
 
QMap< uint64_t, QOpenGLBuffer * > m_cachedVBOS
 
QList< uint64_t > m_vboExpiry
 
QMutex m_lock { QMutex::Recursive }
 
int m_lockLevel { 0 }
 
QOpenGLFunctions::OpenGLFeatures m_features { Multitexture }
 
int m_extraFeatures { kGLFeatNone }
 
int m_extraFeaturesUsed { kGLFeatNone }
 
int m_maxTextureSize { 0 }
 
int m_maxTextureUnits { 0 }
 
int m_colorDepth { 0 }
 
QRect m_viewport
 
GLuint m_activeTexture { 0 }
 
bool m_blend { false }
 
int32_t m_background { 0x00000000 }
 
bool m_fullRange { true }
 
QMatrix4x4 m_projection
 
QStack< QMatrix4x4 > m_transforms
 
QMatrix4x4 m_parameters
 
QHash< QString, QMatrix4x4 > m_cachedMatrixUniforms
 
QHash< QOpenGLShaderProgram *, QHash< QByteArray, GLint > > m_cachedUniformLocations
 
GLuint m_vao { 0 }
 
bool m_flushEnabled { true }
 
- 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}
 

Private Member Functions

void DebugFeatures (void)
 

Private Attributes

QOpenGLDebugLogger * m_openglDebugger { nullptr }
 
QOpenGLDebugMessage::Types m_openGLDebuggerFilter { QOpenGLDebugMessage::InvalidType }
 
QWindow * m_window { nullptr }
 

Detailed Description

Definition at line 86 of file mythrenderopengl.h.

Constructor & Destructor Documentation

◆ MythRenderOpenGL()

MythRenderOpenGL::MythRenderOpenGL ( const QSurfaceFormat &  Format,
QWidget *  Widget 
)
protected

Definition at line 130 of file mythrenderopengl.cpp.

Referenced by Create().

◆ ~MythRenderOpenGL()

MythRenderOpenGL::~MythRenderOpenGL ( )
overrideprotected

Definition at line 143 of file mythrenderopengl.cpp.

Member Function Documentation

◆ GetOpenGLRender()

MythRenderOpenGL * MythRenderOpenGL::GetOpenGLRender ( void  )
static

◆ Create()

MythRenderOpenGL * MythRenderOpenGL::Create ( QWidget *  Widget)
static

◆ ReleaseResources()

void MythRenderOpenGL::ReleaseResources ( void  )
overridevirtual

Reimplemented from MythRender.

Definition at line 1224 of file mythrenderopengl.cpp.

Referenced by ~MythRenderOpenGL().

◆ GetDescription()

QStringList MythRenderOpenGL::GetDescription ( void  )
overridevirtual

Reimplemented from MythRender.

Definition at line 1251 of file mythrenderopengl.cpp.

◆ IsReady()

bool MythRenderOpenGL::IsReady ( void  )

◆ makeCurrent()

void MythRenderOpenGL::makeCurrent ( )

◆ doneCurrent()

void MythRenderOpenGL::doneCurrent ( )

◆ swapBuffers()

void MythRenderOpenGL::swapBuffers ( )

Definition at line 520 of file mythrenderopengl.cpp.

Referenced by MythOpenGLPainter::End(), and MythVideoOutputOpenGL::Show().

◆ Init()

bool MythRenderOpenGL::Init ( void  )

◆ GetColorDepth()

int MythRenderOpenGL::GetColorDepth ( void  ) const

Definition at line 449 of file mythrenderopengl.cpp.

Referenced by GetDescription().

◆ GetMaxTextureSize()

int MythRenderOpenGL::GetMaxTextureSize ( void  ) const

Definition at line 454 of file mythrenderopengl.cpp.

◆ GetMaxTextureUnits()

int MythRenderOpenGL::GetMaxTextureUnits ( void  ) const

Definition at line 459 of file mythrenderopengl.cpp.

Referenced by MythOpenGLVideo::AddDeinterlacer().

◆ GetExtraFeatures()

int MythRenderOpenGL::GetExtraFeatures ( void  ) const

◆ GetFeatures()

QOpenGLFunctions::OpenGLFeatures MythRenderOpenGL::GetFeatures ( void  ) const

Definition at line 469 of file mythrenderopengl.cpp.

Referenced by MythOpenGLVideo::MythOpenGLVideo().

◆ IsRecommendedRenderer()

bool MythRenderOpenGL::IsRecommendedRenderer ( void  )

◆ SetViewPort()

void MythRenderOpenGL::SetViewPort ( const QRect &  Rect,
bool  ViewportOnly = false 
)

◆ GetViewPort()

QRect MythRenderOpenGL::GetViewPort ( void  )
inline

Definition at line 111 of file mythrenderopengl.h.

Referenced by MythVideoOutputOpenGL::PrepareFrame().

◆ PushTransformation()

void MythRenderOpenGL::PushTransformation ( const UIEffects Fx,
QPointF &  Center 
)

Definition at line 1489 of file mythrenderopengl.cpp.

Referenced by MythOpenGLPainter::PushTransformation().

◆ PopTransformation()

void MythRenderOpenGL::PopTransformation ( void  )

Definition at line 1502 of file mythrenderopengl.cpp.

Referenced by MythOpenGLPainter::PopTransformation().

◆ Flush()

void MythRenderOpenGL::Flush ( void  )

◆ SetBlend()

void MythRenderOpenGL::SetBlend ( bool  Enable)

Definition at line 599 of file mythrenderopengl.cpp.

Referenced by Init2DState().

◆ SetBackground()

void MythRenderOpenGL::SetBackground ( int  Red,
int  Green,
int  Blue,
int  Alpha 
)

◆ GetProcAddress()

QFunctionPointer MythRenderOpenGL::GetProcAddress ( const QString &  Proc) const

Definition at line 1192 of file mythrenderopengl.cpp.

Referenced by Init(), and MythVDPAUInterop::InitNV().

◆ CreateVBO()

QOpenGLBuffer * MythRenderOpenGL::CreateVBO ( int  Size,
bool  Release = true 
)

◆ CreateTextureFromQImage()

MythGLTexture * MythRenderOpenGL::CreateTextureFromQImage ( QImage *  Image)

Definition at line 622 of file mythrenderopengl.cpp.

Referenced by MythOpenGLPainter::GetTextureFromCache().

◆ GetTextureSize()

QSize MythRenderOpenGL::GetTextureSize ( const QSize &  Size,
bool  Normalised 
)

◆ GetTextureDataSize()

int MythRenderOpenGL::GetTextureDataSize ( MythGLTexture Texture)
static

◆ SetTextureFilters()

void MythRenderOpenGL::SetTextureFilters ( MythGLTexture Texture,
QOpenGLTexture::Filter  Filter,
QOpenGLTexture::WrapMode  Wrap = QOpenGLTexture::ClampToEdge 
)

◆ ActiveTexture()

void MythRenderOpenGL::ActiveTexture ( GLuint  ActiveTex)

Definition at line 694 of file mythrenderopengl.cpp.

Referenced by DrawBitmap(), and MythOpenGLTonemap::Map().

◆ DeleteTexture()

void MythRenderOpenGL::DeleteTexture ( MythGLTexture Texture)

◆ GetBufferSize()

int MythRenderOpenGL::GetBufferSize ( QSize  Size,
QOpenGLTexture::PixelFormat  Format,
QOpenGLTexture::PixelType  Type 
)
static

◆ CreateFramebuffer()

QOpenGLFramebufferObject * MythRenderOpenGL::CreateFramebuffer ( QSize &  Size,
bool  SixteenBit = false 
)

Definition at line 723 of file mythrenderopengl.cpp.

Referenced by Check16BitFBO(), and MythOpenGLVideo::CreateVideoFrameBuffer().

◆ CreateFramebufferTexture()

MythGLTexture * MythRenderOpenGL::CreateFramebufferTexture ( QOpenGLFramebufferObject *  Framebuffer)

Definition at line 754 of file mythrenderopengl.cpp.

Referenced by MythOpenGLVideo::PrepareFrame().

◆ DeleteFramebuffer()

void MythRenderOpenGL::DeleteFramebuffer ( QOpenGLFramebufferObject *  Framebuffer)

◆ BindFramebuffer()

void MythRenderOpenGL::BindFramebuffer ( QOpenGLFramebufferObject *  Framebuffer)

◆ ClearFramebuffer()

void MythRenderOpenGL::ClearFramebuffer ( void  )

◆ CreateShaderProgram()

QOpenGLShaderProgram * MythRenderOpenGL::CreateShaderProgram ( const QString &  Vertex,
const QString &  Fragment 
)

◆ CreateComputeShader()

QOpenGLShaderProgram * MythRenderOpenGL::CreateComputeShader ( const QString &  Source)

Definition at line 1549 of file mythrenderopengl.cpp.

Referenced by MythOpenGLTonemap::CreateShader().

◆ DeleteShaderProgram()

void MythRenderOpenGL::DeleteShaderProgram ( QOpenGLShaderProgram *  Program)

◆ EnableShaderProgram()

bool MythRenderOpenGL::EnableShaderProgram ( QOpenGLShaderProgram *  Program)

◆ SetShaderProgramParams()

void MythRenderOpenGL::SetShaderProgramParams ( QOpenGLShaderProgram *  Program,
const QMatrix4x4 &  Value,
const char *  Uniform 
)

◆ SetShaderProjection()

void MythRenderOpenGL::SetShaderProjection ( QOpenGLShaderProgram *  Program)

◆ DrawBitmap() [1/2]

void MythRenderOpenGL::DrawBitmap ( MythGLTexture Texture,
QOpenGLFramebufferObject *  Target,
const QRect &  Source,
const QRect &  Destination,
QOpenGLShaderProgram *  Program,
int  Alpha = 255,
qreal  Scale = 1.0 
)

◆ DrawBitmap() [2/2]

void MythRenderOpenGL::DrawBitmap ( MythGLTexture **  Textures,
uint  TextureCount,
QOpenGLFramebufferObject *  Target,
const QRect &  Source,
const QRect &  Destination,
QOpenGLShaderProgram *  Program,
int  Rotation 
)

Definition at line 855 of file mythrenderopengl.cpp.

◆ DrawRect()

void MythRenderOpenGL::DrawRect ( QOpenGLFramebufferObject *  Target,
const QRect &  Area,
const QBrush &  FillBrush,
const QPen &  LinePen,
int  Alpha 
)

◆ DrawRoundRect()

void MythRenderOpenGL::DrawRoundRect ( QOpenGLFramebufferObject *  Target,
const QRect &  Area,
int  CornerRadius,
const QBrush &  FillBrush,
const QPen &  LinePen,
int  Alpha 
)

Definition at line 948 of file mythrenderopengl.cpp.

Referenced by DrawRect(), and MythOpenGLPainter::DrawRoundRect().

◆ ClearRect()

void MythRenderOpenGL::ClearRect ( QOpenGLFramebufferObject *  Target,
const QRect &  Area,
int  Color 
)

An optimised method to clear a QRect to the given color.

Definition at line 921 of file mythrenderopengl.cpp.

Referenced by MythVideoOutputOpenGL::PrepareFrame().

◆ GetGPUMemory()

bool MythRenderOpenGL::GetGPUMemory ( int &  Available,
int &  Total 
)

Definition at line 1666 of file mythrenderopengl.cpp.

Referenced by StatusBox::doDisplayStatus().

◆ messageLogged

void MythRenderOpenGL::messageLogged ( const QOpenGLDebugMessage &  Message)
slot

Definition at line 153 of file mythrenderopengl.cpp.

Referenced by Init().

◆ logDebugMarker

void MythRenderOpenGL::logDebugMarker ( const QString &  Message)
slot

◆ contextToBeDestroyed

void MythRenderOpenGL::contextToBeDestroyed ( void  )
slot

Definition at line 212 of file mythrenderopengl.cpp.

Referenced by MythRenderOpenGL(), and ~MythRenderOpenGL().

◆ SetWidget()

void MythRenderOpenGL::SetWidget ( QWidget *  Widget)
protected

Definition at line 525 of file mythrenderopengl.cpp.

Referenced by MythRenderOpenGL().

◆ Init2DState()

void MythRenderOpenGL::Init2DState ( void  )
protected

Definition at line 1177 of file mythrenderopengl.cpp.

Referenced by Init().

◆ SetMatrixView()

void MythRenderOpenGL::SetMatrixView ( void  )
protected

Definition at line 1660 of file mythrenderopengl.cpp.

Referenced by SetViewPort().

◆ DeleteFramebuffers()

void MythRenderOpenGL::DeleteFramebuffers ( void  )
protected

◆ UpdateTextureVertices()

bool MythRenderOpenGL::UpdateTextureVertices ( MythGLTexture Texture,
const QRect &  Source,
const QRect &  Destination,
int  Rotation,
qreal  Scale = 1.0 
)
staticprotected

Definition at line 1262 of file mythrenderopengl.cpp.

Referenced by DrawBitmap().

◆ GetCachedVertices()

GLfloat * MythRenderOpenGL::GetCachedVertices ( GLuint  Type,
const QRect &  Area 
)
protected

Definition at line 1347 of file mythrenderopengl.cpp.

Referenced by GetCachedVBO().

◆ ExpireVertices()

void MythRenderOpenGL::ExpireVertices ( int  Max = 0)
protected

Definition at line 1382 of file mythrenderopengl.cpp.

Referenced by GetCachedVertices(), and ReleaseResources().

◆ GetCachedVBO()

void MythRenderOpenGL::GetCachedVBO ( GLuint  Type,
const QRect &  Area 
)
protected

Definition at line 1396 of file mythrenderopengl.cpp.

Referenced by ClearRect(), and DrawRoundRect().

◆ ExpireVBOS()

void MythRenderOpenGL::ExpireVBOS ( int  Max = 0)
protected

Definition at line 1431 of file mythrenderopengl.cpp.

Referenced by GetCachedVBO(), and ReleaseResources().

◆ CreateDefaultShaders()

bool MythRenderOpenGL::CreateDefaultShaders ( void  )
protected

Definition at line 1638 of file mythrenderopengl.cpp.

Referenced by Init().

◆ DeleteDefaultShaders()

void MythRenderOpenGL::DeleteDefaultShaders ( void  )
protected

Definition at line 1651 of file mythrenderopengl.cpp.

Referenced by ReleaseResources().

◆ Check16BitFBO()

void MythRenderOpenGL::Check16BitFBO ( void  )
protected

Check for 16bit framebufferobject support.

We don't restrict this test based on OpenGL type or version to try and give as much support as possible. It will likely fail on all GL/ES 2.X versions.

Note
Qt support for 16bit framebuffers is broken until Qt5.12 on OpenGL ES3.X.
Qt only supports GL_RGBA16, GL_RGB16, GL_RGB10_A2 and GL_RGB10 but we only test for RGBA16 as it should be widely supported and will not restrict the use of alpha blending.

Definition at line 1691 of file mythrenderopengl.cpp.

Referenced by Init().

◆ glVertexAttribPointerI()

void MythRenderOpenGL::glVertexAttribPointerI ( GLuint  Index,
GLint  Size,
GLenum  Type,
GLboolean  Normalize,
GLsizei  Stride,
GLuint  Value 
)
inlineprotected

Definition at line 1168 of file mythrenderopengl.cpp.

Referenced by ClearRect(), DrawBitmap(), and DrawRoundRect().

◆ DebugFeatures()

void MythRenderOpenGL::DebugFeatures ( void  )
private

Definition at line 405 of file mythrenderopengl.cpp.

Referenced by Init().

Member Data Documentation

◆ kVertexSize

const GLuint MythRenderOpenGL::kVertexSize = 16 * sizeof(GLfloat)
static

◆ m_ready

bool MythRenderOpenGL::m_ready { false }
protected

Definition at line 189 of file mythrenderopengl.h.

Referenced by Init(), IsReady(), and ~MythRenderOpenGL().

◆ m_activeFramebuffer

GLuint MythRenderOpenGL::m_activeFramebuffer { 0 }
protected

Definition at line 192 of file mythrenderopengl.h.

Referenced by BindFramebuffer(), CreateFramebuffer(), and Init2DState().

◆ m_fence

GLuint MythRenderOpenGL::m_fence { 0 }
protected

Definition at line 195 of file mythrenderopengl.h.

◆ m_defaultPrograms

QOpenGLShaderProgram* MythRenderOpenGL::m_defaultPrograms[kShaderCount] { nullptr }
protected

◆ m_activeProgram

QOpenGLShaderProgram* MythRenderOpenGL::m_activeProgram { nullptr }
protected

Definition at line 199 of file mythrenderopengl.h.

Referenced by DeleteShaderProgram(), and EnableShaderProgram().

◆ m_cachedVertices

QMap<uint64_t,GLfloat*> MythRenderOpenGL::m_cachedVertices
protected

Definition at line 202 of file mythrenderopengl.h.

Referenced by ExpireVertices(), GetCachedVertices(), and ReleaseResources().

◆ m_vertexExpiry

QList<uint64_t> MythRenderOpenGL::m_vertexExpiry
protected

Definition at line 203 of file mythrenderopengl.h.

Referenced by ExpireVertices(), and GetCachedVertices().

◆ m_cachedVBOS

QMap<uint64_t,QOpenGLBuffer*> MythRenderOpenGL::m_cachedVBOS
protected

Definition at line 204 of file mythrenderopengl.h.

Referenced by ExpireVBOS(), GetCachedVBO(), and ReleaseResources().

◆ m_vboExpiry

QList<uint64_t> MythRenderOpenGL::m_vboExpiry
protected

Definition at line 205 of file mythrenderopengl.h.

Referenced by ExpireVBOS(), and GetCachedVBO().

◆ m_lock

QMutex MythRenderOpenGL::m_lock { QMutex::Recursive }
protected

Definition at line 208 of file mythrenderopengl.h.

Referenced by doneCurrent(), and makeCurrent().

◆ m_lockLevel

int MythRenderOpenGL::m_lockLevel { 0 }
protected

Definition at line 209 of file mythrenderopengl.h.

Referenced by doneCurrent(), and makeCurrent().

◆ m_features

QOpenGLFunctions::OpenGLFeatures MythRenderOpenGL::m_features { Multitexture }
protected

◆ m_extraFeatures

int MythRenderOpenGL::m_extraFeatures { kGLFeatNone }
protected

Definition at line 213 of file mythrenderopengl.h.

Referenced by Check16BitFBO(), DebugFeatures(), and Init().

◆ m_extraFeaturesUsed

int MythRenderOpenGL::m_extraFeaturesUsed { kGLFeatNone }
protected

◆ m_maxTextureSize

int MythRenderOpenGL::m_maxTextureSize { 0 }
protected

Definition at line 215 of file mythrenderopengl.h.

Referenced by DebugFeatures(), GetMaxTextureSize(), and Init().

◆ m_maxTextureUnits

int MythRenderOpenGL::m_maxTextureUnits { 0 }
protected

Definition at line 216 of file mythrenderopengl.h.

Referenced by DebugFeatures(), GetMaxTextureUnits(), and Init().

◆ m_colorDepth

int MythRenderOpenGL::m_colorDepth { 0 }
protected

Definition at line 217 of file mythrenderopengl.h.

Referenced by GetColorDepth(), and Init().

◆ m_viewport

QRect MythRenderOpenGL::m_viewport
protected

Definition at line 220 of file mythrenderopengl.h.

Referenced by SetMatrixView(), and SetViewPort().

◆ m_activeTexture

GLuint MythRenderOpenGL::m_activeTexture { 0 }
protected

Definition at line 221 of file mythrenderopengl.h.

Referenced by ActiveTexture().

◆ m_blend

bool MythRenderOpenGL::m_blend { false }
protected

Definition at line 222 of file mythrenderopengl.h.

Referenced by SetBlend().

◆ m_background

int32_t MythRenderOpenGL::m_background { 0x00000000 }
protected

Definition at line 223 of file mythrenderopengl.h.

Referenced by SetBackground().

◆ m_fullRange

bool MythRenderOpenGL::m_fullRange { true }
protected

Definition at line 224 of file mythrenderopengl.h.

Referenced by ClearRect(), CreateDefaultShaders(), DrawRoundRect(), and Init().

◆ m_projection

QMatrix4x4 MythRenderOpenGL::m_projection
protected

Definition at line 225 of file mythrenderopengl.h.

Referenced by MythRenderOpenGL(), SetMatrixView(), and SetShaderProjection().

◆ m_transforms

QStack<QMatrix4x4> MythRenderOpenGL::m_transforms
protected

◆ m_parameters

QMatrix4x4 MythRenderOpenGL::m_parameters
protected

Definition at line 227 of file mythrenderopengl.h.

Referenced by DrawRoundRect(), and MythRenderOpenGL().

◆ m_cachedMatrixUniforms

QHash<QString,QMatrix4x4> MythRenderOpenGL::m_cachedMatrixUniforms
protected

Definition at line 228 of file mythrenderopengl.h.

Referenced by DeleteShaderProgram(), and SetShaderProgramParams().

◆ m_cachedUniformLocations

QHash<QOpenGLShaderProgram*, QHash<QByteArray, GLint> > MythRenderOpenGL::m_cachedUniformLocations
protected

Definition at line 229 of file mythrenderopengl.h.

Referenced by DeleteShaderProgram(), and SetShaderProgramParams().

◆ m_vao

GLuint MythRenderOpenGL::m_vao { 0 }
protected

Definition at line 230 of file mythrenderopengl.h.

Referenced by Init(), and ReleaseResources().

◆ m_flushEnabled

bool MythRenderOpenGL::m_flushEnabled { true }
protected

Definition at line 234 of file mythrenderopengl.h.

Referenced by Flush().

◆ m_openglDebugger

QOpenGLDebugLogger* MythRenderOpenGL::m_openglDebugger { nullptr }
private

Definition at line 239 of file mythrenderopengl.h.

Referenced by Init(), logDebugMarker(), and ReleaseResources().

◆ m_openGLDebuggerFilter

QOpenGLDebugMessage::Types MythRenderOpenGL::m_openGLDebuggerFilter { QOpenGLDebugMessage::InvalidType }
private

Definition at line 240 of file mythrenderopengl.h.

Referenced by Init(), and messageLogged().

◆ m_window

QWindow* MythRenderOpenGL::m_window { nullptr }
private

Definition at line 241 of file mythrenderopengl.h.

Referenced by makeCurrent(), SetWidget(), and swapBuffers().


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