From a0aafefd009f19b1d66180206507a2b3a3bbda75 Mon Sep 17 00:00:00 2001 From: Jonas Karlsson Date: Mon, 28 Dec 2020 13:38:39 +0100 Subject: Add QRhiTextureSubresourceUploadDescription QByteArray constructor Change-Id: I1be4ef1a15c4049f19d0401d6a1a62b3117180a0 Reviewed-by: Eirik Aavitsland --- src/gui/rhi/qrhi.cpp | 13 ++++++++++++- src/gui/rhi/qrhi_p.h | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src/gui') 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 @@ -1609,6 +1609,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 @@ -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; } -- cgit v1.2.3