aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items')
-rw-r--r--src/quick/items/qquickwindow.cpp5
-rw-r--r--src/quick/items/qquickwindow_p.h9
2 files changed, 11 insertions, 3 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 37525d99d8..6a57553b21 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -4689,14 +4689,15 @@ QSGTexture *QQuickWindow::createTextureFromImage(const QImage &image, CreateText
QSGTexture *QQuickWindowPrivate::createTextureFromNativeTexture(quint64 nativeObjectHandle,
int nativeLayout,
const QSize &size,
- QQuickWindow::CreateTextureOptions options) const
+ QQuickWindow::CreateTextureOptions options,
+ TextureFromNativeTextureFlags flags) const
{
if (!rhi)
return nullptr;
QSGPlainTexture *texture = new QSGPlainTexture;
texture->setTextureFromNativeTexture(rhi, nativeObjectHandle, nativeLayout,
- size, options.testFlag(QQuickWindow::TextureHasMipmaps));
+ size, options, flags);
texture->setHasAlphaChannel(options & QQuickWindow::TextureHasAlphaChannel);
// note that the QRhiTexture does not (and cannot) own the native object
texture->setOwnsTexture(true); // texture meaning the QRhiTexture here, not the native object
diff --git a/src/quick/items/qquickwindow_p.h b/src/quick/items/qquickwindow_p.h
index 67bce9f02c..869324c317 100644
--- a/src/quick/items/qquickwindow_p.h
+++ b/src/quick/items/qquickwindow_p.h
@@ -255,10 +255,16 @@ public:
bool emitError(QQuickWindow::SceneGraphError error, const QString &msg);
+ enum TextureFromNativeTextureFlag {
+ NativeTextureIsExternalOES = 0x01
+ };
+ Q_DECLARE_FLAGS(TextureFromNativeTextureFlags, TextureFromNativeTextureFlag)
+
QSGTexture *createTextureFromNativeTexture(quint64 nativeObjectHandle,
int nativeLayout,
const QSize &size,
- QQuickWindow::CreateTextureOptions options) const;
+ QQuickWindow::CreateTextureOptions options,
+ TextureFromNativeTextureFlags flags = {}) const;
QQuickItem::UpdatePaintNodeData updatePaintNodeData;
@@ -388,6 +394,7 @@ public:
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QQuickWindowPrivate::FocusOptions)
+Q_DECLARE_OPERATORS_FOR_FLAGS(QQuickWindowPrivate::TextureFromNativeTextureFlags)
QT_END_NAMESPACE