Use QList instead of QVector in opengl

Task-number: QTBUG-84469
Change-Id: I26c1cfab7f2d9aa5c71847ae02bfe0cf15c04a1b
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
This commit is contained in:
Jarek Kobus 2020-06-22 12:36:03 +02:00
parent f529f94132
commit b043871d2b
13 changed files with 62 additions and 74 deletions

View File

@ -1079,10 +1079,8 @@ public:
void handleMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *rawMessage); void handleMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *rawMessage);
void controlDebugMessages(QOpenGLDebugMessage::Sources sources, void controlDebugMessages(QOpenGLDebugMessage::Sources sources,
QOpenGLDebugMessage::Types types, QOpenGLDebugMessage::Types types,
QOpenGLDebugMessage::Severities severities, QOpenGLDebugMessage::Severities severities, const QList<GLuint> &ids,
const QVector<GLuint> &ids, const QByteArray &callerName, bool enable);
const QByteArray &callerName,
bool enable);
void _q_contextAboutToBeDestroyed(); void _q_contextAboutToBeDestroyed();
qt_glDebugMessageControl_t glDebugMessageControl; qt_glDebugMessageControl_t glDebugMessageControl;
@ -1159,9 +1157,8 @@ void QOpenGLDebugLoggerPrivate::handleMessage(GLenum source,
void QOpenGLDebugLoggerPrivate::controlDebugMessages(QOpenGLDebugMessage::Sources sources, void QOpenGLDebugLoggerPrivate::controlDebugMessages(QOpenGLDebugMessage::Sources sources,
QOpenGLDebugMessage::Types types, QOpenGLDebugMessage::Types types,
QOpenGLDebugMessage::Severities severities, QOpenGLDebugMessage::Severities severities,
const QVector<GLuint> &ids, const QList<GLuint> &ids,
const QByteArray &callerName, const QByteArray &callerName, bool enable)
bool enable)
{ {
if (!initialized) { if (!initialized) {
qWarning("QOpenGLDebugLogger::%s(): object must be initialized before enabling/disabling messages", callerName.constData()); qWarning("QOpenGLDebugLogger::%s(): object must be initialized before enabling/disabling messages", callerName.constData());
@ -1644,12 +1641,8 @@ void QOpenGLDebugLogger::enableMessages(QOpenGLDebugMessage::Sources sources,
QOpenGLDebugMessage::Severities severities) QOpenGLDebugMessage::Severities severities)
{ {
Q_D(QOpenGLDebugLogger); Q_D(QOpenGLDebugLogger);
d->controlDebugMessages(sources, d->controlDebugMessages(sources, types, severities, QList<GLuint>(),
types, QByteArrayLiteral("enableMessages"), true);
severities,
QVector<GLuint>(),
QByteArrayLiteral("enableMessages"),
true);
} }
/*! /*!
@ -1660,7 +1653,7 @@ void QOpenGLDebugLogger::enableMessages(QOpenGLDebugMessage::Sources sources,
\sa disableMessages(), pushGroup(), popGroup() \sa disableMessages(), pushGroup(), popGroup()
*/ */
void QOpenGLDebugLogger::enableMessages(const QVector<GLuint> &ids, void QOpenGLDebugLogger::enableMessages(const QList<GLuint> &ids,
QOpenGLDebugMessage::Sources sources, QOpenGLDebugMessage::Sources sources,
QOpenGLDebugMessage::Types types) QOpenGLDebugMessage::Types types)
{ {
@ -1686,12 +1679,8 @@ void QOpenGLDebugLogger::disableMessages(QOpenGLDebugMessage::Sources sources,
QOpenGLDebugMessage::Severities severities) QOpenGLDebugMessage::Severities severities)
{ {
Q_D(QOpenGLDebugLogger); Q_D(QOpenGLDebugLogger);
d->controlDebugMessages(sources, d->controlDebugMessages(sources, types, severities, QList<GLuint>(),
types, QByteArrayLiteral("disableMessages"), false);
severities,
QVector<GLuint>(),
QByteArrayLiteral("disableMessages"),
false);
} }
/*! /*!
@ -1702,7 +1691,7 @@ void QOpenGLDebugLogger::disableMessages(QOpenGLDebugMessage::Sources sources,
\sa enableMessages(), pushGroup(), popGroup() \sa enableMessages(), pushGroup(), popGroup()
*/ */
void QOpenGLDebugLogger::disableMessages(const QVector<GLuint> &ids, void QOpenGLDebugLogger::disableMessages(const QList<GLuint> &ids,
QOpenGLDebugMessage::Sources sources, QOpenGLDebugMessage::Sources sources,
QOpenGLDebugMessage::Types types) QOpenGLDebugMessage::Types types)
{ {

View File

@ -47,7 +47,6 @@
#include <QtCore/qshareddata.h> #include <QtCore/qshareddata.h>
#include <QtCore/qflags.h> #include <QtCore/qflags.h>
#include <QtCore/qlist.h> #include <QtCore/qlist.h>
#include <QtCore/qvector.h>
#include <QtCore/qmetatype.h> #include <QtCore/qmetatype.h>
#include <QtCore/qdebug.h> #include <QtCore/qdebug.h>
#include <QtGui/qopenglcontext.h> #include <QtGui/qopenglcontext.h>
@ -184,7 +183,7 @@ public:
QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType, QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType,
QOpenGLDebugMessage::Severities severities = QOpenGLDebugMessage::AnySeverity); QOpenGLDebugMessage::Severities severities = QOpenGLDebugMessage::AnySeverity);
void enableMessages(const QVector<GLuint> &ids, void enableMessages(const QList<GLuint> &ids,
QOpenGLDebugMessage::Sources sources = QOpenGLDebugMessage::AnySource, QOpenGLDebugMessage::Sources sources = QOpenGLDebugMessage::AnySource,
QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType); QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType);
@ -192,7 +191,7 @@ public:
QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType, QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType,
QOpenGLDebugMessage::Severities severities = QOpenGLDebugMessage::AnySeverity); QOpenGLDebugMessage::Severities severities = QOpenGLDebugMessage::AnySeverity);
void disableMessages(const QVector<GLuint> &ids, void disableMessages(const QList<GLuint> &ids,
QOpenGLDebugMessage::Sources sources = QOpenGLDebugMessage::AnySource, QOpenGLDebugMessage::Sources sources = QOpenGLDebugMessage::AnySource,
QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType); QOpenGLDebugMessage::Types types = QOpenGLDebugMessage::AnyType);

View File

@ -524,7 +524,7 @@ GLuint QOpenGLEngineShaderManager::getUniformLocation(Uniform id)
if (!currentShaderProg) if (!currentShaderProg)
return 0; return 0;
QVector<uint> &uniformLocations = currentShaderProg->uniformLocations; QList<uint> &uniformLocations = currentShaderProg->uniformLocations;
if (uniformLocations.isEmpty()) if (uniformLocations.isEmpty())
uniformLocations.fill(GLuint(-1), NumUniforms); uniformLocations.fill(GLuint(-1), NumUniforms);

View File

@ -386,7 +386,7 @@ public:
QByteArray customStageSource; //TODO: Decent cache key for custom stages QByteArray customStageSource; //TODO: Decent cache key for custom stages
QOpenGLShaderProgram* program; QOpenGLShaderProgram* program;
QVector<uint> uniformLocations; QList<uint> uniformLocations;
bool useTextureCoords; bool useTextureCoords;
bool useOpacityAttribute; bool useOpacityAttribute;

View File

@ -1223,10 +1223,10 @@ GLuint QOpenGLFramebufferObject::texture() const
\sa takeTexture(), texture() \sa takeTexture(), texture()
*/ */
QVector<GLuint> QOpenGLFramebufferObject::textures() const QList<GLuint> QOpenGLFramebufferObject::textures() const
{ {
Q_D(const QOpenGLFramebufferObject); Q_D(const QOpenGLFramebufferObject);
QVector<GLuint> ids; QList<GLuint> ids;
if (d->format.samples() != 0) if (d->format.samples() != 0)
return ids; return ids;
ids.reserve(d->colorAttachments.count()); ids.reserve(d->colorAttachments.count());
@ -1310,10 +1310,10 @@ QSize QOpenGLFramebufferObject::size() const
\since 5.6 \since 5.6
*/ */
QVector<QSize> QOpenGLFramebufferObject::sizes() const QList<QSize> QOpenGLFramebufferObject::sizes() const
{ {
Q_D(const QOpenGLFramebufferObject); Q_D(const QOpenGLFramebufferObject);
QVector<QSize> sz; QList<QSize> sz;
sz.reserve(d->colorAttachments.size()); sz.reserve(d->colorAttachments.size());
for (const auto &color : d->colorAttachments) for (const auto &color : d->colorAttachments)
sz.append(color.size); sz.append(color.size);

View File

@ -100,13 +100,13 @@ public:
int height() const { return size().height(); } int height() const { return size().height(); }
GLuint texture() const; GLuint texture() const;
QVector<GLuint> textures() const; QList<GLuint> textures() const;
GLuint takeTexture(); GLuint takeTexture();
GLuint takeTexture(int colorAttachmentIndex); GLuint takeTexture(int colorAttachmentIndex);
QSize size() const; QSize size() const;
QVector<QSize> sizes() const; QList<QSize> sizes() const;
QImage toImage() const; QImage toImage() const;
QImage toImage(bool flipped) const; QImage toImage(bool flipped) const;

View File

@ -141,7 +141,7 @@ public:
GLenum internalFormat; GLenum internalFormat;
QOpenGLSharedResourceGuard *guard; QOpenGLSharedResourceGuard *guard;
}; };
QVector<ColorAttachment> colorAttachments; QList<ColorAttachment> colorAttachments;
inline GLuint fbo() const { return fbo_guard ? fbo_guard->id() : 0; } inline GLuint fbo() const { return fbo_guard ? fbo_guard->id() : 0; }
}; };

View File

@ -306,7 +306,7 @@ public:
QOpenGL2PEXVertexArray vertexCoordinateArray; QOpenGL2PEXVertexArray vertexCoordinateArray;
QOpenGL2PEXVertexArray textureCoordinateArray; QOpenGL2PEXVertexArray textureCoordinateArray;
QVector<GLushort> elementIndices; QList<GLushort> elementIndices;
GLuint elementIndicesVBOId; GLuint elementIndicesVBOId;
QDataBuffer<GLfloat> opacityArray; QDataBuffer<GLfloat> opacityArray;
GLfloat staticVertexCoordinateArray[8]; GLfloat staticVertexCoordinateArray[8];
@ -332,8 +332,8 @@ public:
QTriangulatingStroker stroker; QTriangulatingStroker stroker;
QDashedStrokeProcessor dasher; QDashedStrokeProcessor dasher;
QVector<GLuint> unusedVBOSToClean; QList<GLuint> unusedVBOSToClean;
QVector<GLuint> unusedIBOSToClean; QList<GLuint> unusedIBOSToClean;
const GLfloat *vertexAttribPointers[3]; const GLfloat *vertexAttribPointers[3];
}; };

View File

@ -44,9 +44,9 @@
#include <QtCore/private/qobject_p.h> #include <QtCore/private/qobject_p.h>
#include <QtCore/qdebug.h> #include <QtCore/qdebug.h>
#include <QtCore/qfile.h> #include <QtCore/qfile.h>
#include <QtCore/qvarlengtharray.h> #include <QtCore/qlist.h>
#include <QtCore/qvector.h>
#include <QtCore/qloggingcategory.h> #include <QtCore/qloggingcategory.h>
#include <QtCore/qvarlengtharray.h>
#include <QtGui/private/qopenglprogrambinarycache_p.h> #include <QtGui/private/qopenglprogrambinarycache_p.h>
#include <QtGui/qtransform.h> #include <QtGui/qtransform.h>
#include <QtGui/QColor> #include <QtGui/QColor>
@ -3552,7 +3552,7 @@ int QOpenGLShaderProgram::patchVertexCount() const
does not output them to \a levels. For more details on OpenGL and Tessellation does not output them to \a levels. For more details on OpenGL and Tessellation
shaders see \l{OpenGL Tessellation Shaders}. shaders see \l{OpenGL Tessellation Shaders}.
The \a levels argument should be a QVector consisting of 4 floats. Not all The \a levels argument should be a QList consisting of 4 floats. Not all
of the values make sense for all tessellation modes. If you specify a vector with of the values make sense for all tessellation modes. If you specify a vector with
fewer than 4 elements, the remaining elements will be given a default value of 1. fewer than 4 elements, the remaining elements will be given a default value of 1.
@ -3566,12 +3566,12 @@ int QOpenGLShaderProgram::patchVertexCount() const
\sa defaultOuterTessellationLevels(), setDefaultInnerTessellationLevels() \sa defaultOuterTessellationLevels(), setDefaultInnerTessellationLevels()
*/ */
void QOpenGLShaderProgram::setDefaultOuterTessellationLevels(const QVector<float> &levels) void QOpenGLShaderProgram::setDefaultOuterTessellationLevels(const QList<float> &levels)
{ {
#if !QT_CONFIG(opengles2) #if !QT_CONFIG(opengles2)
Q_D(QOpenGLShaderProgram); Q_D(QOpenGLShaderProgram);
if (d->tessellationFuncs) { if (d->tessellationFuncs) {
QVector<float> tessLevels = levels; QList<float> tessLevels = levels;
// Ensure we have the required 4 outer tessellation levels // Ensure we have the required 4 outer tessellation levels
// Use default of 1 for missing entries (same as spec) // Use default of 1 for missing entries (same as spec)
@ -3594,7 +3594,7 @@ void QOpenGLShaderProgram::setDefaultOuterTessellationLevels(const QVector<float
does not output them. For more details on OpenGL and Tessellation shaders see does not output them. For more details on OpenGL and Tessellation shaders see
\l{OpenGL Tessellation Shaders}. \l{OpenGL Tessellation Shaders}.
Returns a QVector of floats describing the outer tessellation levels. The vector Returns a QList of floats describing the outer tessellation levels. The vector
will always have four elements but not all of them make sense for every mode will always have four elements but not all of them make sense for every mode
of tessellation. of tessellation.
@ -3606,16 +3606,16 @@ void QOpenGLShaderProgram::setDefaultOuterTessellationLevels(const QVector<float
\sa setDefaultOuterTessellationLevels(), defaultInnerTessellationLevels() \sa setDefaultOuterTessellationLevels(), defaultInnerTessellationLevels()
*/ */
QVector<float> QOpenGLShaderProgram::defaultOuterTessellationLevels() const QList<float> QOpenGLShaderProgram::defaultOuterTessellationLevels() const
{ {
#if !QT_CONFIG(opengles2) #if !QT_CONFIG(opengles2)
QVector<float> tessLevels(4, 1.0f); QList<float> tessLevels(4, 1.0f);
Q_D(const QOpenGLShaderProgram); Q_D(const QOpenGLShaderProgram);
if (d->tessellationFuncs) if (d->tessellationFuncs)
d->tessellationFuncs->glGetFloatv(GL_PATCH_DEFAULT_OUTER_LEVEL, tessLevels.data()); d->tessellationFuncs->glGetFloatv(GL_PATCH_DEFAULT_OUTER_LEVEL, tessLevels.data());
return tessLevels; return tessLevels;
#else #else
return QVector<float>(); return QList<float>();
#endif #endif
} }
@ -3625,7 +3625,7 @@ QVector<float> QOpenGLShaderProgram::defaultOuterTessellationLevels() const
does not output them to \a levels. For more details on OpenGL and Tessellation shaders see does not output them to \a levels. For more details on OpenGL and Tessellation shaders see
\l{OpenGL Tessellation Shaders}. \l{OpenGL Tessellation Shaders}.
The \a levels argument should be a QVector consisting of 2 floats. Not all The \a levels argument should be a QList consisting of 2 floats. Not all
of the values make sense for all tessellation modes. If you specify a vector with of the values make sense for all tessellation modes. If you specify a vector with
fewer than 2 elements, the remaining elements will be given a default value of 1. fewer than 2 elements, the remaining elements will be given a default value of 1.
@ -3639,12 +3639,12 @@ QVector<float> QOpenGLShaderProgram::defaultOuterTessellationLevels() const
\sa defaultInnerTessellationLevels(), setDefaultOuterTessellationLevels() \sa defaultInnerTessellationLevels(), setDefaultOuterTessellationLevels()
*/ */
void QOpenGLShaderProgram::setDefaultInnerTessellationLevels(const QVector<float> &levels) void QOpenGLShaderProgram::setDefaultInnerTessellationLevels(const QList<float> &levels)
{ {
#if !QT_CONFIG(opengles2) #if !QT_CONFIG(opengles2)
Q_D(QOpenGLShaderProgram); Q_D(QOpenGLShaderProgram);
if (d->tessellationFuncs) { if (d->tessellationFuncs) {
QVector<float> tessLevels = levels; QList<float> tessLevels = levels;
// Ensure we have the required 2 inner tessellation levels // Ensure we have the required 2 inner tessellation levels
// Use default of 1 for missing entries (same as spec) // Use default of 1 for missing entries (same as spec)
@ -3667,7 +3667,7 @@ void QOpenGLShaderProgram::setDefaultInnerTessellationLevels(const QVector<float
does not output them. For more details on OpenGL and Tessellation shaders see does not output them. For more details on OpenGL and Tessellation shaders see
\l{OpenGL Tessellation Shaders}. \l{OpenGL Tessellation Shaders}.
Returns a QVector of floats describing the inner tessellation levels. The vector Returns a QList of floats describing the inner tessellation levels. The vector
will always have two elements but not all of them make sense for every mode will always have two elements but not all of them make sense for every mode
of tessellation. of tessellation.
@ -3679,16 +3679,16 @@ void QOpenGLShaderProgram::setDefaultInnerTessellationLevels(const QVector<float
\sa setDefaultInnerTessellationLevels(), defaultOuterTessellationLevels() \sa setDefaultInnerTessellationLevels(), defaultOuterTessellationLevels()
*/ */
QVector<float> QOpenGLShaderProgram::defaultInnerTessellationLevels() const QList<float> QOpenGLShaderProgram::defaultInnerTessellationLevels() const
{ {
#if !QT_CONFIG(opengles2) #if !QT_CONFIG(opengles2)
QVector<float> tessLevels(2, 1.0f); QList<float> tessLevels(2, 1.0f);
Q_D(const QOpenGLShaderProgram); Q_D(const QOpenGLShaderProgram);
if (d->tessellationFuncs) if (d->tessellationFuncs)
d->tessellationFuncs->glGetFloatv(GL_PATCH_DEFAULT_INNER_LEVEL, tessLevels.data()); d->tessellationFuncs->glGetFloatv(GL_PATCH_DEFAULT_INNER_LEVEL, tessLevels.data());
return tessLevels; return tessLevels;
#else #else
return QVector<float>(); return QList<float>();
#endif #endif
} }

View File

@ -140,11 +140,11 @@ public:
void setPatchVertexCount(int count); void setPatchVertexCount(int count);
int patchVertexCount() const; int patchVertexCount() const;
void setDefaultOuterTessellationLevels(const QVector<float> &levels); void setDefaultOuterTessellationLevels(const QList<float> &levels);
QVector<float> defaultOuterTessellationLevels() const; QList<float> defaultOuterTessellationLevels() const;
void setDefaultInnerTessellationLevels(const QVector<float> &levels); void setDefaultInnerTessellationLevels(const QList<float> &levels);
QVector<float> defaultInnerTessellationLevels() const; QList<float> defaultInnerTessellationLevels() const;
void bindAttributeLocation(const char *name, int location); void bindAttributeLocation(const char *name, int location);
void bindAttributeLocation(const QByteArray& name, int location); void bindAttributeLocation(const QByteArray& name, int location);

View File

@ -487,12 +487,12 @@ public:
void destroy(); void destroy();
void recordSample(); void recordSample();
bool isResultAvailable() const; bool isResultAvailable() const;
QVector<GLuint64> samples() const; QList<GLuint64> samples() const;
QVector<GLuint64> intervals() const; QList<GLuint64> intervals() const;
void reset(); void reset();
QVector<GLuint> timers; QList<GLuint> timers;
mutable QVector<GLuint64> timeSamples; mutable QList<GLuint64> timeSamples;
QOpenGLContext *context; QOpenGLContext *context;
QOpenGLQueryHelper *core; QOpenGLQueryHelper *core;
@ -596,7 +596,7 @@ bool QOpenGLTimeMonitorPrivate::isResultAvailable() const
return available; return available;
} }
QVector<GLuint64> QOpenGLTimeMonitorPrivate::samples() const QList<GLuint64> QOpenGLTimeMonitorPrivate::samples() const
{ {
// For the Core and ARB options just ask for the timestamp for each timer query. // For the Core and ARB options just ask for the timestamp for each timer query.
// For the EXT implementation we cannot obtain timestamps so we defer any result // For the EXT implementation we cannot obtain timestamps so we defer any result
@ -611,12 +611,12 @@ QVector<GLuint64> QOpenGLTimeMonitorPrivate::samples() const
return timeSamples; return timeSamples;
} }
QVector<GLuint64> QOpenGLTimeMonitorPrivate::intervals() const QList<GLuint64> QOpenGLTimeMonitorPrivate::intervals() const
{ {
QVector<GLuint64> intervals(timers.size() - 1); QList<GLuint64> intervals(timers.size() - 1);
if (!ext) { if (!ext) {
// Obtain the timestamp samples and calculate the interval durations // Obtain the timestamp samples and calculate the interval durations
const QVector<GLuint64> timeStamps = samples(); const QList<GLuint64> timeStamps = samples();
for (int i = 0; i < intervals.size(); ++i) for (int i = 0; i < intervals.size(); ++i)
intervals[i] = timeStamps[i+1] - timeStamps[i]; intervals[i] = timeStamps[i+1] - timeStamps[i];
} else { } else {
@ -794,9 +794,9 @@ bool QOpenGLTimeMonitor::isCreated() const
} }
/*! /*!
Returns a QVector containing the object Ids of the OpenGL timer query objects. Returns a QList containing the object Ids of the OpenGL timer query objects.
*/ */
QVector<GLuint> QOpenGLTimeMonitor::objectIds() const QList<GLuint> QOpenGLTimeMonitor::objectIds() const
{ {
Q_D(const QOpenGLTimeMonitor); Q_D(const QOpenGLTimeMonitor);
return d->timers; return d->timers;
@ -829,7 +829,7 @@ bool QOpenGLTimeMonitor::isResultAvailable() const
} }
/*! /*!
Returns a QVector containing the GPU timestamps taken with recordSample(). Returns a QList containing the GPU timestamps taken with recordSample().
This function will block until OpenGL indicates the results are available. It This function will block until OpenGL indicates the results are available. It
is recommended to check the availability of the result prior to calling this is recommended to check the availability of the result prior to calling this
@ -840,14 +840,14 @@ bool QOpenGLTimeMonitor::isResultAvailable() const
\sa waitForIntervals(), isResultAvailable() \sa waitForIntervals(), isResultAvailable()
*/ */
QVector<GLuint64> QOpenGLTimeMonitor::waitForSamples() const QList<GLuint64> QOpenGLTimeMonitor::waitForSamples() const
{ {
Q_D(const QOpenGLTimeMonitor); Q_D(const QOpenGLTimeMonitor);
return d->samples(); return d->samples();
} }
/*! /*!
Returns a QVector containing the time intervals delimited by the calls to Returns a QList containing the time intervals delimited by the calls to
recordSample(). The resulting vector will contain one fewer element as recordSample(). The resulting vector will contain one fewer element as
this represents the intervening intervals rather than the actual timestamp this represents the intervening intervals rather than the actual timestamp
samples. samples.
@ -858,7 +858,7 @@ QVector<GLuint64> QOpenGLTimeMonitor::waitForSamples() const
\sa waitForSamples(), isResultAvailable() \sa waitForSamples(), isResultAvailable()
*/ */
QVector<GLuint64> QOpenGLTimeMonitor::waitForIntervals() const QList<GLuint64> QOpenGLTimeMonitor::waitForIntervals() const
{ {
Q_D(const QOpenGLTimeMonitor); Q_D(const QOpenGLTimeMonitor);
return d->intervals(); return d->intervals();

View File

@ -93,14 +93,14 @@ public:
bool create(); bool create();
void destroy(); void destroy();
bool isCreated() const; bool isCreated() const;
QVector<GLuint> objectIds() const; QList<GLuint> objectIds() const;
int recordSample(); int recordSample();
bool isResultAvailable() const; bool isResultAvailable() const;
QVector<GLuint64> waitForSamples() const; QList<GLuint64> waitForSamples() const;
QVector<GLuint64> waitForIntervals() const; QList<GLuint64> waitForIntervals() const;
void reset(); void reset();

View File

@ -94,7 +94,7 @@ static QRegion deviceRegion(const QRegion &region, QWindow *window, const QPoint
if (offset.isNull() && window->devicePixelRatio() <= 1) if (offset.isNull() && window->devicePixelRatio() <= 1)
return region; return region;
QVector<QRect> rects; QList<QRect> rects;
rects.reserve(region.rectCount()); rects.reserve(region.rectCount());
for (const QRect &rect : region) for (const QRect &rect : region)
rects.append(deviceRect(rect.translated(offset), window)); rects.append(deviceRect(rect.translated(offset), window));