5#ifndef QOPENGLTIMERQUERY_H
6#define QOPENGLTIMERQUERY_H
8#include <QtOpenGL/qtopenglglobal.h>
10#if !defined(QT_NO_OPENGL) && !QT_CONFIG(opengles2)
12#include <QtCore/QObject>
13#include <QtGui/qopengl.h>
17class QOpenGLTimerQueryPrivate;
19class Q_OPENGL_EXPORT QOpenGLTimerQuery :
public QObject
24 explicit QOpenGLTimerQuery(QObject *parent =
nullptr);
29 bool isCreated()
const;
30 GLuint objectId()
const;
34 GLuint64 waitForTimestamp()
const;
35 void recordTimestamp();
36 bool isResultAvailable()
const;
37 GLuint64 waitForResult()
const;
40 Q_DECLARE_PRIVATE(QOpenGLTimerQuery)
41 Q_DISABLE_COPY(QOpenGLTimerQuery)
45class QOpenGLTimeMonitorPrivate;
47class Q_OPENGL_EXPORT QOpenGLTimeMonitor :
public QObject
52 explicit QOpenGLTimeMonitor(QObject *parent =
nullptr);
53 ~QOpenGLTimeMonitor();
55 void setSampleCount(
int sampleCount);
56 int sampleCount()
const;
60 bool isCreated()
const;
61 QList<GLuint> objectIds()
const;
65 bool isResultAvailable()
const;
67 QList<GLuint64> waitForSamples()
const;
68 QList<GLuint64> waitForIntervals()
const;
73 Q_DECLARE_PRIVATE(QOpenGLTimeMonitor)
74 Q_DISABLE_COPY(QOpenGLTimeMonitor)
QOpenGLTimeMonitorPrivate()
QList< GLuint64 > intervals() const
QList< GLuint64 > timeSamples
bool isResultAvailable() const
QOpenGLQueryHelper * core
~QOpenGLTimeMonitorPrivate()
QExtTimerQueryHelper * ext
QList< GLuint64 > samples() const
QOpenGLTimerQueryPrivate()
bool isResultAvailable() const
~QOpenGLTimerQueryPrivate()
GLuint64 waitForTimeStamp() const
QOpenGLQueryHelper * core
QExtTimerQueryHelper * ext
#define GL_TIME_ELAPSED_EXT