4#ifndef QOPENGLTIMERQUERY_H
5#define QOPENGLTIMERQUERY_H
7#include <QtOpenGL/qtopenglglobal.h>
9#if !defined(QT_NO_OPENGL) && !QT_CONFIG(opengles2)
11#include <QtCore/QObject>
12#include <QtGui/qopengl.h>
16class QOpenGLTimerQueryPrivate;
18class Q_OPENGL_EXPORT QOpenGLTimerQuery :
public QObject
23 explicit QOpenGLTimerQuery(QObject *parent =
nullptr);
28 bool isCreated()
const;
29 GLuint objectId()
const;
33 GLuint64 waitForTimestamp()
const;
34 void recordTimestamp();
35 bool isResultAvailable()
const;
36 GLuint64 waitForResult()
const;
39 Q_DECLARE_PRIVATE(QOpenGLTimerQuery)
40 Q_DISABLE_COPY(QOpenGLTimerQuery)
44class QOpenGLTimeMonitorPrivate;
46class Q_OPENGL_EXPORT QOpenGLTimeMonitor :
public QObject
51 explicit QOpenGLTimeMonitor(QObject *parent =
nullptr);
52 ~QOpenGLTimeMonitor();
54 void setSampleCount(
int sampleCount);
55 int sampleCount()
const;
59 bool isCreated()
const;
60 QList<GLuint> objectIds()
const;
64 bool isResultAvailable()
const;
66 QList<GLuint64> waitForSamples()
const;
67 QList<GLuint64> waitForIntervals()
const;
72 Q_DECLARE_PRIVATE(QOpenGLTimeMonitor)
73 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