Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::GPUSync Class Referenceabstract

Abstract GPU synchronization object implementing a memory fence operation. More...

#include <mitsuba/hw/gpusync.h>

+ Inheritance diagram for mitsuba::GPUSync:

Public Member Functions

 GPUSync ()
 Allocate memory for a new synchronization object. More...
 
virtual void init ()=0
 Create the synchronization object on the GPU. More...
 
virtual void wait ()=0
 Wait on the fence (blocking) More...
 
virtual void enqueueWait ()=0
 Enqueue a wait command, but do not block. More...
 
virtual void cleanup ()=0
 Remove the synchronization object. More...
 
std::string toString () const
 Return a string representation of this class. More...
 
virtual const ClassgetClass () const
 Retrieve this object's class. More...
 
- Public Member Functions inherited from Object
 Object ()
 Construct a new object. More...
 
int getRefCount () const
 Return the current reference count. More...
 
void incRef () const
 Increase the reference count of the object by one. More...
 
void decRef (bool autoDeallocate=true) const
 Decrease the reference count of the object and possibly deallocate it. More...
 

Static Public Attributes

static Classm_theClass
 
- Static Public Attributes inherited from Object
static Classm_theClass
 Pointer to the object's class descriptor. More...
 

Protected Member Functions

virtual ~GPUSync ()
 Virtual destructor. More...
 
- Protected Member Functions inherited from Object
virtual ~Object ()
 Virtual private deconstructor. (Will only be called by ref) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static void staticInitialization ()
 Initializes the built-in reference count debugger (if enabled) More...
 
static void staticShutdown ()
 Free the memory taken by staticInitialization() More...
 

Detailed Description

Abstract GPU synchronization object implementing a memory fence operation.

Constructor & Destructor Documentation

mitsuba::GPUSync::GPUSync ( )

Allocate memory for a new synchronization object.

virtual mitsuba::GPUSync::~GPUSync ( )
protectedvirtual

Virtual destructor.

Member Function Documentation

virtual void mitsuba::GPUSync::cleanup ( )
pure virtual

Remove the synchronization object.

Implemented in mitsuba::GLSync.

virtual void mitsuba::GPUSync::enqueueWait ( )
pure virtual

Enqueue a wait command, but do not block.

Implemented in mitsuba::GLSync.

virtual const Class* mitsuba::GPUSync::getClass ( ) const
virtual

Retrieve this object's class.

Reimplemented from Object.

Reimplemented in mitsuba::GLSync.

virtual void mitsuba::GPUSync::init ( )
pure virtual

Create the synchronization object on the GPU.

Implemented in mitsuba::GLSync.

std::string mitsuba::GPUSync::toString ( ) const
virtual

Return a string representation of this class.

Reimplemented from Object.

virtual void mitsuba::GPUSync::wait ( )
pure virtual

Wait on the fence (blocking)

Implemented in mitsuba::GLSync.

Member Data Documentation

Class* mitsuba::GPUSync::m_theClass
static

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