aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-04-26 12:47:59 +0200
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-04-29 09:36:36 +0000
commit96cdc5be2aa0cf87033591cfd76661291b3f6933 (patch)
treefeac67a35952fcaf9b64db0a4b227957852b66d0 /src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp
parente88e2940598086b57e6c844afa2eca4153d0f528 (diff)
D3D12: Long Live Wobble!
D3D12 shader effect node. Cull mode, atlas (qt_SubRect_*) support, and some nice-to-haves are currently missing. The built-in shaders won't yet work due to not sending 'source' down the stack so both have to be application-supplied. Nonetheless..the wobble test works! Change-Id: If4cd0143fa5794a8d5f89b576ffcfb084efeb343 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp')
-rw-r--r--src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp b/src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp
index 2c05ce01c6..83ba443800 100644
--- a/src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp
+++ b/src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp
@@ -41,6 +41,7 @@
#include "qsgd3d12engine_p.h"
#include "qsgd3d12context_p.h"
#include "qsgd3d12rendercontext_p.h"
+#include "qsgd3d12shadereffectnode_p.h"
#include <private/qsgrenderer_p.h>
#include <private/qquickwindow_p.h>
#include <private/qquickprofiler_p.h>
@@ -336,6 +337,7 @@ bool QSGD3D12RenderThread::event(QEvent *e)
engine->waitGPU();
// Bye bye nodes...
wd->cleanupNodesOnShutdown();
+ QSGD3D12ShaderEffectNode::cleanupMaterialTypeCache();
}
rc->invalidate();
QCoreApplication::processEvents();
@@ -486,6 +488,7 @@ void QSGD3D12RenderThread::sync(bool inExpose)
if (Q_UNLIKELY(debug_loop()))
qDebug("RT - sync - device was lost, resetting scenegraph");
QQuickWindowPrivate::get(exposedWindow)->cleanupNodesOnShutdown();
+ QSGD3D12ShaderEffectNode::cleanupMaterialTypeCache();
rc->invalidate();
}