diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-29 13:27:02 +0200 |
---|---|---|
committer | Andy Nichols <andy.nichols@qt.io> | 2016-04-30 20:22:20 +0000 |
commit | dc5b2fd31ccf36f5f6e0ec3a7222bda023c6b1eb (patch) | |
tree | 72900fdd6fc301a72ec7cc527d64cf456212acc3 /src/plugins/scenegraph/d3d12/qsgd3d12shadereffectnode_p.h | |
parent | 5568a79fdd742761bae660137b3e6d4795100ff0 (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.h | 7 |
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(); |