diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-26 12:47:59 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-29 09:36:36 +0000 |
commit | 96cdc5be2aa0cf87033591cfd76661291b3f6933 (patch) | |
tree | feac67a35952fcaf9b64db0a4b227957852b66d0 /src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp | |
parent | e88e2940598086b57e6c844afa2eca4153d0f528 (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.cpp | 3 |
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(); } |