4 #ifndef vtkOpenGLRenderTimerLog_h
5 #define vtkOpenGLRenderTimerLog_h
8 #include "vtkRenderingOpenGL2Module.h"
13 VTK_ABI_NAMESPACE_BEGIN
54 bool GetLoggingEnabled() VTK_FUTURE_CONST
override {
return this->DoLogging(); }
80 vtkSetMacro(MinTimerPoolSize,
size_t);
81 vtkGetMacro(MinTimerPoolSize,
size_t);
96 bool DoLogging() VTK_FUTURE_CONST;
108 void ReleaseOGLFrame(
OGLFrame& frame);
109 void ReleaseOGLEvent(
OGLEvent& event);
111 void TrimTimerPool();
113 void CheckPendingFrames();
117 void ForceCloseFrame(
OGLFrame& frame);
118 void ForceCloseEvent(
OGLEvent& event);
125 VTK_ABI_NAMESPACE_END
126 #endif // vtkOpenGLRenderTimerLog_h
std::vector< OGLEvent > Events
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
VTKACCELERATORSVTKMCORE_EXPORT vtkDataArray * Convert(const vtkm::cont::Field &input)
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
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.