4 #ifndef vtkOpenGLRenderTimerLog_h
5 #define vtkOpenGLRenderTimerLog_h
8 #include "vtkRenderingOpenGL2Module.h"
13 VTK_ABI_NAMESPACE_BEGIN
57 bool GetLoggingEnabled() VTK_FUTURE_CONST
override {
return this->DoLogging(); }
83 vtkSetMacro(MinTimerPoolSize,
size_t);
84 vtkGetMacro(MinTimerPoolSize,
size_t);
99 bool DoLogging() VTK_FUTURE_CONST;
111 void ReleaseOGLFrame(
OGLFrame& frame);
112 void ReleaseOGLEvent(
OGLEvent& event);
114 void TrimTimerPool();
116 void CheckPendingFrames();
120 void ForceCloseFrame(
OGLFrame& frame);
121 void ForceCloseEvent(
OGLEvent& event);
128 #define vtkOpenGLRenderTimerLog_OVERRIDE_ATTRIBUTES \
129 vtkOpenGLRenderTimerLog::CreateOverrideAttributes()
130 VTK_ABI_NAMESPACE_END
131 #endif // vtkOpenGLRenderTimerLog_h
std::vector< OGLEvent > Events
Attribute for vtkObjectFactory overrides.
std::queue< vtkOpenGLRenderTimer * > TimerPool
std::queue< Frame > ReadyFrames
OpenGL2 override for vtkRenderTimerLog.
std::vector< OGLEvent > Events
virtual void MarkFrame()
Call to mark the start of a new frame, or the end of an old one.
std::deque< OGLFrame > PendingFrames
static vtkRenderTimerLog * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Container for a frame's events.
virtual void MarkStartEvent(const std::string &name)
Mark the beginning or end of an event.
virtual void MarkEndEvent()
Mark the beginning or end of an event.
virtual bool IsSupported() VTK_FUTURE_CONST
Returns true if stream timings are implemented for the current graphics backend.
virtual bool FrameReady()
Returns true if there are any frames ready with complete timing info.
virtual void ReleaseGraphicsResources()
Releases any resources allocated on the graphics device.
vtkOpenGLRenderTimer * Timer
VTKACCELERATORSVTKMCORE_EXPORT vtkDataArray * Convert(const viskores::cont::Field &input)
virtual Frame PopFirstReadyFrame()
Retrieve the first available frame's timing info.
Container for a single timed event.
Asynchronously measures GPU execution time for a single event.
Asynchronously measures GPU execution times for a series of events.