summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/rhi/qrhi.cpp13
-rw-r--r--src/gui/rhi/qrhi_p.h3
2 files changed, 14 insertions, 2 deletions
diff --git a/src/gui/rhi/qrhi.cpp b/src/gui/rhi/qrhi.cpp
index b29e9bc8f5..786479fccd 100644
--- a/src/gui/rhi/qrhi.cpp
+++ b/src/gui/rhi/qrhi.cpp
@@ -1610,6 +1610,16 @@ QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription
}
/*!
+ Constructs a mip level description with the image data specified by \a data. This is suitable
+ for floating point and compressed formats as well.
+ */
+QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription(
+ const QByteArray &data)
+ : m_data(data)
+{
+}
+
+/*!
\class QRhiTextureUploadEntry
\internal
\inmodule QtGui
@@ -5002,7 +5012,8 @@ void QRhiResourceUpdateBatch::uploadTexture(QRhiTexture *tex, const QRhiTextureU
*/
void QRhiResourceUpdateBatch::uploadTexture(QRhiTexture *tex, const QImage &image)
{
- uploadTexture(tex, QRhiTextureUploadEntry(0, 0, image));
+ uploadTexture(tex,
+ QRhiTextureUploadEntry(0, 0, QRhiTextureSubresourceUploadDescription(image)));
}
/*!
diff --git a/src/gui/rhi/qrhi_p.h b/src/gui/rhi/qrhi_p.h
index fc3034c984..14ea81abec 100644
--- a/src/gui/rhi/qrhi_p.h
+++ b/src/gui/rhi/qrhi_p.h
@@ -505,8 +505,9 @@ class Q_GUI_EXPORT QRhiTextureSubresourceUploadDescription
{
public:
QRhiTextureSubresourceUploadDescription() = default;
- QRhiTextureSubresourceUploadDescription(const QImage &image);
+ explicit QRhiTextureSubresourceUploadDescription(const QImage &image);
QRhiTextureSubresourceUploadDescription(const void *data, int size);
+ explicit QRhiTextureSubresourceUploadDescription(const QByteArray &data);
QImage image() const { return m_image; }
void setImage(const QImage &image) { m_image = image; }