Make API in QPlatformSharedGraphicsCache a little more generic

Use EGL extensions for some things to allow serialization
instead of the somewhat specialized serializeBuffer() function.

Change-Id: I8d15e85bfb80d12fa953ba094564ddfca1aa6d6a
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
This commit is contained in:
Eskil Abrahamsen Blomfeldt 2012-03-23 14:39:34 +01:00 committed by Qt by Nokia
parent 98fed68347
commit f49a266236

View File

@ -76,17 +76,18 @@ public:
const QVector<QImage> &items) = 0; const QVector<QImage> &items) = 0;
Q_INVOKABLE virtual void releaseItems(const QByteArray &cacheId, const QVector<quint32> &itemIds) = 0; Q_INVOKABLE virtual void releaseItems(const QByteArray &cacheId, const QVector<quint32> &itemIds) = 0;
virtual void serializeBuffer(void *bufferId, QByteArray *serializedData, int *fileDescriptor) const = 0;
virtual uint textureIdForBuffer(void *bufferId) = 0; virtual uint textureIdForBuffer(void *bufferId) = 0;
virtual void referenceBuffer(void *bufferId) = 0; virtual void referenceBuffer(void *bufferId) = 0;
virtual bool dereferenceBuffer(void *bufferId) = 0; virtual bool dereferenceBuffer(void *bufferId) = 0;
virtual QSize sizeOfBuffer(void *bufferId) = 0;
virtual void *eglImageForBuffer(void *bufferId) = 0;
Q_SIGNALS: Q_SIGNALS:
void itemsMissing(const QByteArray &cacheId, const QVector<quint32> &itemIds); void itemsMissing(const QByteArray &cacheId, const QVector<quint32> &itemIds);
void itemsAvailable(const QByteArray &cacheId, void *bufferId, const QSize &bufferSize, void itemsAvailable(const QByteArray &cacheId, void *bufferId,
const QVector<quint32> &itemIds, const QVector<QPoint> &positionsInBuffer); const QVector<quint32> &itemIds, const QVector<QPoint> &positionsInBuffer);
void itemsInvalidated(const QByteArray &cacheId, const QVector<quint32> &itemIds); void itemsInvalidated(const QByteArray &cacheId, const QVector<quint32> &itemIds);
void itemsUpdated(const QByteArray &cacheId, void *bufferId, const QSize &bufferSize, void itemsUpdated(const QByteArray &cacheId, void *bufferId,
const QVector<quint32> &itemIds, const QVector<QPoint> &positionsInBuffer); const QVector<quint32> &itemIds, const QVector<QPoint> &positionsInBuffer);
}; };