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 r, int g, int b, int a)
 
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, GLenum InternalFormat=0)
 
MythGLTextureCreateFramebufferTexture (QOpenGLFramebufferObject *Framebuffer)
 
void DeleteFramebuffer (QOpenGLFramebufferObject *Framebuffer)
 
void BindFramebuffer (QOpenGLFramebufferObject *Framebuffer)
 
void ClearFramebuffer (void)
 
QOpenGLShaderProgram * CreateShaderProgram (const QString &Vertex, const QString &Fragment)
 
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)
 
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 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)
 

Protected Attributes

bool m_ready { false }
 
GLuint m_activeFramebuffer { 0 }
 
GLuint m_fence { 0 }
 
QOpenGLShaderProgram * m_defaultPrograms [kShaderCount] {}
 
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 }
 
bool m_coreProfile { false }
 
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 131 of file mythrenderopengl.cpp.

Referenced by Create().

◆ ~MythRenderOpenGL()

MythRenderOpenGL::~MythRenderOpenGL ( )
overrideprotected

Definition at line 147 of file mythrenderopengl.cpp.

Member Function Documentation

◆ GetOpenGLRender()

MythRenderOpenGL * MythRenderOpenGL::GetOpenGLRender ( void  )
static

◆ Create()

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

Definition at line 80 of file mythrenderopengl.cpp.

Referenced by MythPainterWindowGL::MythPainterWindowGL().

◆ ReleaseResources()

void MythRenderOpenGL::ReleaseResources ( void  )
overridevirtual

Reimplemented from MythRender.

Definition at line 1225 of file mythrenderopengl.cpp.

Referenced by ~MythRenderOpenGL().

◆ GetDescription()

QStringList MythRenderOpenGL::GetDescription ( void  )
overridevirtual

Reimplemented from MythRender.

Definition at line 1252 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  )

Definition at line 221 of file mythrenderopengl.cpp.

Referenced by MythPainterWindowGL::MythPainterWindowGL().

◆ 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  )

Definition at line 474 of file mythrenderopengl.cpp.

Referenced by MythPainterWindowGL::MythPainterWindowGL().

◆ 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 1490 of file mythrenderopengl.cpp.

Referenced by MythOpenGLPainter::PushTransformation().

◆ PopTransformation()

void MythRenderOpenGL::PopTransformation ( void  )

Definition at line 1503 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  r,
int  g,
int  b,
int  a 
)

◆ GetProcAddress()

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

Definition at line 1193 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 
)

Definition at line 650 of file mythrenderopengl.cpp.

Referenced by CreateTextureFromQImage().

◆ GetTextureDataSize()

int MythRenderOpenGL::GetTextureDataSize ( MythGLTexture Texture)
static

◆ SetTextureFilters()

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

Definition at line 671 of file mythrenderopengl.cpp.

Referenced by MythOpenGLVideo::PrepareFrame().

◆ ActiveTexture()

void MythRenderOpenGL::ActiveTexture ( GLuint  ActiveTex)

Definition at line 694 of file mythrenderopengl.cpp.

Referenced by DrawBitmap().

◆ 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,
GLenum  InternalFormat = 0 
)

Definition at line 723 of file mythrenderopengl.cpp.

Referenced by 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 
)

◆ 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 
)

◆ 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 949 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 922 of file mythrenderopengl.cpp.

Referenced by MythVideoOutputOpenGL::PrepareFrame().

◆ GetGPUMemory()

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

Definition at line 1645 of file mythrenderopengl.cpp.

Referenced by StatusBox::doDisplayStatus().

◆ messageLogged

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

Definition at line 157 of file mythrenderopengl.cpp.

Referenced by Init().

◆ logDebugMarker

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

◆ contextToBeDestroyed

void MythRenderOpenGL::contextToBeDestroyed ( void  )
slot

Definition at line 216 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 1178 of file mythrenderopengl.cpp.

Referenced by Init().

◆ SetMatrixView()

void MythRenderOpenGL::SetMatrixView ( void  )
protected

Definition at line 1639 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 
)
staticprotected

Definition at line 1263 of file mythrenderopengl.cpp.

Referenced by DrawBitmap().

◆ GetCachedVertices()

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

Definition at line 1348 of file mythrenderopengl.cpp.

Referenced by GetCachedVBO().

◆ ExpireVertices()

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

Definition at line 1383 of file mythrenderopengl.cpp.

Referenced by GetCachedVertices(), and ReleaseResources().

◆ GetCachedVBO()

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

Definition at line 1397 of file mythrenderopengl.cpp.

Referenced by ClearRect(), and DrawRoundRect().

◆ ExpireVBOS()

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

Definition at line 1432 of file mythrenderopengl.cpp.

Referenced by GetCachedVBO(), and ReleaseResources().

◆ CreateDefaultShaders()

bool MythRenderOpenGL::CreateDefaultShaders ( void  )
protected

Definition at line 1617 of file mythrenderopengl.cpp.

Referenced by Init().

◆ DeleteDefaultShaders()

void MythRenderOpenGL::DeleteDefaultShaders ( void  )
protected

Definition at line 1630 of file mythrenderopengl.cpp.

Referenced by ReleaseResources().

◆ glVertexAttribPointerI()

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

Definition at line 1169 of file mythrenderopengl.cpp.

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

◆ DebugFeatures()

void MythRenderOpenGL::DebugFeatures ( void  )
private

Definition at line 406 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 187 of file mythrenderopengl.h.

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

◆ m_activeFramebuffer

GLuint MythRenderOpenGL::m_activeFramebuffer { 0 }
protected

Definition at line 190 of file mythrenderopengl.h.

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

◆ m_fence

GLuint MythRenderOpenGL::m_fence { 0 }
protected

Definition at line 193 of file mythrenderopengl.h.

◆ m_defaultPrograms

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

◆ m_activeProgram

QOpenGLShaderProgram* MythRenderOpenGL::m_activeProgram { nullptr }
protected

Definition at line 197 of file mythrenderopengl.h.

Referenced by DeleteShaderProgram(), and EnableShaderProgram().

◆ m_cachedVertices

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

Definition at line 200 of file mythrenderopengl.h.

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

◆ m_vertexExpiry

QList<uint64_t> MythRenderOpenGL::m_vertexExpiry
protected

Definition at line 201 of file mythrenderopengl.h.

Referenced by ExpireVertices(), and GetCachedVertices().

◆ m_cachedVBOS

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

Definition at line 202 of file mythrenderopengl.h.

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

◆ m_vboExpiry

QList<uint64_t> MythRenderOpenGL::m_vboExpiry
protected

Definition at line 203 of file mythrenderopengl.h.

Referenced by ExpireVBOS(), and GetCachedVBO().

◆ m_lock

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

Definition at line 206 of file mythrenderopengl.h.

Referenced by doneCurrent(), and makeCurrent().

◆ m_lockLevel

int MythRenderOpenGL::m_lockLevel { 0 }
protected

Definition at line 207 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 211 of file mythrenderopengl.h.

Referenced by DebugFeatures(), and Init().

◆ m_extraFeaturesUsed

int MythRenderOpenGL::m_extraFeaturesUsed { kGLFeatNone }
protected

Definition at line 212 of file mythrenderopengl.h.

Referenced by DrawBitmap(), GetCachedVBO(), GetExtraFeatures(), GetGPUMemory(), and Init().

◆ m_maxTextureSize

int MythRenderOpenGL::m_maxTextureSize { 0 }
protected

Definition at line 213 of file mythrenderopengl.h.

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

◆ m_maxTextureUnits

int MythRenderOpenGL::m_maxTextureUnits { 0 }
protected

Definition at line 214 of file mythrenderopengl.h.

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

◆ m_colorDepth

int MythRenderOpenGL::m_colorDepth { 0 }
protected

Definition at line 215 of file mythrenderopengl.h.

Referenced by GetColorDepth(), and Init().

◆ m_coreProfile

bool MythRenderOpenGL::m_coreProfile { false }
protected

Definition at line 216 of file mythrenderopengl.h.

Referenced by Init(), and ReleaseResources().

◆ m_viewport

QRect MythRenderOpenGL::m_viewport
protected

Definition at line 219 of file mythrenderopengl.h.

Referenced by SetMatrixView(), and SetViewPort().

◆ m_activeTexture

GLuint MythRenderOpenGL::m_activeTexture { 0 }
protected

Definition at line 220 of file mythrenderopengl.h.

Referenced by ActiveTexture().

◆ m_blend

bool MythRenderOpenGL::m_blend { false }
protected

Definition at line 221 of file mythrenderopengl.h.

Referenced by SetBlend().

◆ m_background

int32_t MythRenderOpenGL::m_background { 0x00000000 }
protected

Definition at line 222 of file mythrenderopengl.h.

Referenced by SetBackground().

◆ m_fullRange

bool MythRenderOpenGL::m_fullRange { true }
protected

Definition at line 223 of file mythrenderopengl.h.

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

◆ m_projection

QMatrix4x4 MythRenderOpenGL::m_projection
protected

Definition at line 224 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 226 of file mythrenderopengl.h.

Referenced by DrawRoundRect(), and MythRenderOpenGL().

◆ m_cachedMatrixUniforms

QHash<QString,QMatrix4x4> MythRenderOpenGL::m_cachedMatrixUniforms
protected

Definition at line 227 of file mythrenderopengl.h.

Referenced by DeleteShaderProgram(), and SetShaderProgramParams().

◆ m_cachedUniformLocations

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

Definition at line 228 of file mythrenderopengl.h.

Referenced by DeleteShaderProgram(), and SetShaderProgramParams().

◆ m_vao

GLuint MythRenderOpenGL::m_vao { 0 }
protected

Definition at line 229 of file mythrenderopengl.h.

Referenced by Init(), and ReleaseResources().

◆ m_flushEnabled

bool MythRenderOpenGL::m_flushEnabled { true }
protected

Definition at line 233 of file mythrenderopengl.h.

Referenced by Flush().

◆ m_openglDebugger

QOpenGLDebugLogger* MythRenderOpenGL::m_openglDebugger { nullptr }
private

Definition at line 238 of file mythrenderopengl.h.

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

◆ m_openGLDebuggerFilter

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

Definition at line 239 of file mythrenderopengl.h.

Referenced by Init(), and messageLogged().

◆ m_window

QWindow* MythRenderOpenGL::m_window { nullptr }
private

Definition at line 240 of file mythrenderopengl.h.

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


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