LibreOffice Module vcl (master)  1
Public Member Functions | Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | Friends | List of all members
OpenGLZone Class Reference

We want to be able to detect if a given crash came from the OpenGL code, so use this helper to track that. More...

#include <zone.hxx>

Public Member Functions

 OpenGLZone ()
 
 ~OpenGLZone ()
 

Static Public Member Functions

static bool isInZone ()
 
static void hardDisable ()
 Called from a signal handler or watchdog thread if we get a crash or hang in some GL code. More...
 
static void relaxWatchdogTimings ()
 

Private Types

using AtomicCounter = std::atomic< std::make_unsigned_t< std::sig_atomic_t >>
 

Static Private Member Functions

static void enter ()
 
static void leave ()
 

Static Private Attributes

static AtomicCounter gnEnterCount = 0
 how many times have we entered a GL zone More...
 
static AtomicCounter gnLeaveCount = 0
 how many times have we left a new GL zone More...
 

Friends

class OpenGLWatchdogThread
 
class OpenGLSalGraphicsImpl
 

Detailed Description

We want to be able to detect if a given crash came from the OpenGL code, so use this helper to track that.

Definition at line 27 of file zone.hxx.

Member Typedef Documentation

using OpenGLZone::AtomicCounter = std::atomic<std::make_unsigned_t<std::sig_atomic_t>>
private

Definition at line 38 of file zone.hxx.

Constructor & Destructor Documentation

OpenGLZone::OpenGLZone ( )
inline

Definition at line 49 of file zone.hxx.

OpenGLZone::~OpenGLZone ( )
inline

Definition at line 50 of file zone.hxx.

Member Function Documentation

static void OpenGLZone::enter ( )
inlinestaticprivate

Definition at line 46 of file zone.hxx.

void OpenGLZone::hardDisable ( )
static

Called from a signal handler or watchdog thread if we get a crash or hang in some GL code.

Definition at line 916 of file OpenGLHelper.cxx.

References comphelper::ConfigurationChanges::create(), comphelper::getProcessComponentContext(), and OpenGLWatchdogThread::stop().

Referenced by OpenGLWatchdogThread::execute(), and VCLExceptionSignal_impl().

static bool OpenGLZone::isInZone ( )
inlinestatic

Definition at line 51 of file zone.hxx.

Referenced by OpenGLWatchdogThread::execute(), and VCLExceptionSignal_impl().

static void OpenGLZone::leave ( )
inlinestaticprivate

Definition at line 47 of file zone.hxx.

void OpenGLZone::relaxWatchdogTimings ( )
static

Definition at line 940 of file OpenGLHelper.cxx.

Referenced by OpenGLHelper::isDeviceBlacklisted().

Friends And Related Function Documentation

friend class OpenGLSalGraphicsImpl
friend

Definition at line 29 of file zone.hxx.

friend class OpenGLWatchdogThread
friend

Definition at line 28 of file zone.hxx.

Member Data Documentation

OpenGLZone::AtomicCounter OpenGLZone::gnEnterCount = 0
staticprivate

how many times have we entered a GL zone

Definition at line 39 of file zone.hxx.

Referenced by OpenGLWatchdogThread::execute().

OpenGLZone::AtomicCounter OpenGLZone::gnLeaveCount = 0
staticprivate

how many times have we left a new GL zone

Definition at line 44 of file zone.hxx.


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