aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-04-29 13:27:02 +0200
committerAndy Nichols <andy.nichols@qt.io>2016-04-30 20:22:20 +0000
commitdc5b2fd31ccf36f5f6e0ec3a7222bda023c6b1eb (patch)
tree72900fdd6fc301a72ec7cc527d64cf456212acc3 /src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h
parent5568a79fdd742761bae660137b3e6d4795100ff0 (diff)
D3D12: qt_SubRect_<name> support
Change-Id: I2b5d1211ed97909a03d92d115eb057ce9e710d12 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h')
-rw-r--r--src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h b/src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h
index d3e51e5dce..c8994a78dd 100644
--- a/src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h
+++ b/src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h
@@ -70,6 +70,7 @@ public:
void feedConstants(const QSGShaderEffectNode::ShaderData &shader, const QSet<int> *dirtyIndices = nullptr);
void feedSamplers(const QSGShaderEffectNode::ShaderData &shader);
void feedTextures(const QSGShaderEffectNode::ShaderData &shader, const QSet<int> *dirtyIndices = nullptr);
+ void linkTextureSubRects();
void dump();
@@ -90,6 +91,7 @@ public:
QHash<uint, Constant> constants; // offset -> Constant
QSet<int> samplers; // bindpoint
QHash<int, QVariant> textures; // bindpoint -> value (source ref)
+ QHash<QByteArray, int> textureNameMap; // name -> bindpoint
};
QDebug operator<<(QDebug debug, const QSGD3D12ShaderLinker::Constant &c);
@@ -121,6 +123,7 @@ public:
QSGMaterialType *mtype = nullptr;
QVector<QSGTextureProvider *> textureProviders;
QSGD3D12Texture *dummy = nullptr;
+ bool geometryUsesTextureSubRect = false;
};
class QSGD3D12ShaderEffectNode : public QObject, public QSGShaderEffectNode
@@ -130,8 +133,8 @@ class QSGD3D12ShaderEffectNode : public QObject, public QSGShaderEffectNode
public:
QSGD3D12ShaderEffectNode(QSGD3D12RenderContext *rc, QSGD3D12GuiThreadShaderEffectManager *mgr);
- QRectF normalizedTextureSubRect() const override;
- void sync(SyncData *syncData) override;
+ QRectF updateNormalizedTextureSubRect(bool supportsAtlasTextures) override;
+ void syncMaterial(SyncData *syncData) override;
static void cleanupMaterialTypeCache();