diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-04-25 11:06:47 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-04-26 08:44:28 +0000 |
commit | 5197a01b9f0a451d60f20b9db4d88afb2c8d44c7 (patch) | |
tree | dcbcac5dab1a87c7c1e362b58fff4711ac8a7fbc /src/render/materialsystem/qtechnique.cpp | |
parent | 6d6c5702ad6a027dd26c1e47245c5952c50e1b66 (diff) |
Technique/Renderer: use GraphicsShaderData
Instead of creating QGraphicsApiFilter objects...
Change-Id: Idc723bdea9b97fef547170bd7dca386e5ca4f519
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/materialsystem/qtechnique.cpp')
-rw-r--r-- | src/render/materialsystem/qtechnique.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/render/materialsystem/qtechnique.cpp b/src/render/materialsystem/qtechnique.cpp index 9f1ed61d0..1c13bf66b 100644 --- a/src/render/materialsystem/qtechnique.cpp +++ b/src/render/materialsystem/qtechnique.cpp @@ -92,10 +92,8 @@ void QTechniquePrivate::_q_graphicsApiFilterChanged() { if (m_changeArbiter != Q_NULLPTR) { QNodePropertyChangePtr change(new QNodePropertyChange(NodeUpdated, QSceneChange::Node, m_id)); - change->setPropertyName("graphicsApiFilter"); - QGraphicsApiFilter *clone = new QGraphicsApiFilter(); - clone->copy(m_graphicsApiFilter); - change->setValue(QVariant::fromValue(clone)); + change->setPropertyName("graphicsApiFilterData"); + change->setValue(QVariant::fromValue(QGraphicsApiFilterPrivate::get(const_cast<QGraphicsApiFilter *>(&m_graphicsApiFilter))->m_data)); notifyObservers(change); } } @@ -243,17 +241,10 @@ QGraphicsApiFilter *QTechnique::graphicsApiFilter() Qt3DCore::QNodeCreatedChangeBasePtr QTechnique::createNodeCreationChange() const { auto creationChange = Qt3DCore::QNodeCreatedChangePtr<QTechniqueData>::create(this); - auto &data = creationChange->data; + QTechniqueData &data = creationChange->data; Q_D(const QTechnique); - const QGraphicsApiFilter &filter = d->m_graphicsApiFilter; - data.api = filter.api(); - data.profile = filter.profile(); - data.majorVersion = filter.majorVersion(); - data.minorVersion = filter.minorVersion(); - data.extensions = filter.extensions(); - data.vendor = filter.vendor(); - + data.graphicsApiFilterData = QGraphicsApiFilterPrivate::get(const_cast<QGraphicsApiFilter *>(&d->m_graphicsApiFilter))->m_data; data.filterKeyIds = qIdsForNodes(d->m_filterKeys); data.parameterIds = qIdsForNodes(d->m_parameters); data.renderPassIds = qIdsForNodes(d->m_renderPasses); |