aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@theqtcompany.com>2016-06-28 12:00:53 +0200
committerPaolo Angelelli <paolo.angelelli@theqtcompany.com>2016-06-28 21:19:27 +0000
commit285007f9687ef8aca6faed89f0c56696c2612548 (patch)
tree50f443ab12e3b04c4ab6e56c9c48e164b0ef767b /src/plugins
parentd44e75271cfccde26761ad9ed8accdd872f478d1 (diff)
Add mipmapping support to QSGImageNode
This patch adds two virtual methods to QSGImageNode to set/get the filtering mode for mipmapping, which makes it also possible to enable it, which was previously not possible Change-Id: Ie08a11aab35d8ba335841ca0eb73ef4b3d184d7e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/scenegraph/d3d12/qsgd3d12publicnodes.cpp14
-rw-r--r--src/plugins/scenegraph/d3d12/qsgd3d12publicnodes_p.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes.cpp b/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes.cpp
index de9869aee8..783caa280f 100644
--- a/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes.cpp
+++ b/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes.cpp
@@ -118,6 +118,20 @@ QSGTexture::Filtering QSGD3D12ImageNode::filtering() const
return m_material.filtering();
}
+void QSGD3D12ImageNode::setMipmapFiltering(QSGTexture::Filtering filtering)
+{
+ if (m_material.mipmapFiltering() == filtering)
+ return;
+
+ m_material.setMipmapFiltering(filtering);
+ markDirty(DirtyMaterial);
+}
+
+QSGTexture::Filtering QSGD3D12ImageNode::mipmapFiltering() const
+{
+ return m_material.mipmapFiltering();
+}
+
void QSGD3D12ImageNode::setRect(const QRectF &r)
{
if (m_rect == r)
diff --git a/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes_p.h b/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes_p.h
index 14e34bc0ac..6150083aaf 100644
--- a/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes_p.h
+++ b/src/plugins/scenegraph/d3d12/qsgd3d12publicnodes_p.h
@@ -92,6 +92,9 @@ public:
void setFiltering(QSGTexture::Filtering filtering) override;
QSGTexture::Filtering filtering() const override;
+ void setMipmapFiltering(QSGTexture::Filtering filtering) override;
+ QSGTexture::Filtering mipmapFiltering() const override;
+
void setTextureCoordinatesTransform(TextureCoordinatesTransformMode mode) override;
TextureCoordinatesTransformMode textureCoordinatesTransform() const override;