diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-28 15:49:26 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-29 09:36:43 +0000 |
commit | 3169744ab415268a9b6ff544d1bd49031ef3c08a (patch) | |
tree | 18362e5a8dd62ab940e82a9f055be50c75432866 /src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp | |
parent | cb1033fd603a438041a16ba55547d77133ad1e79 (diff) |
D3D12: Fix 'ShaderEffect in a ShaderEffectSource as property value'
Import (and clean up) the dropshadow from the shadereffects example.
This is very useful since it tests a lot more paths and cases than
the wobble.
To overcome the issue of not having some of functionality available before
the item is added to a window, make QQuickGenericShaderEffect smarter and
enhance the documentation.
The handling of vertical mirroring is revised. The GLSL and HLSL version of
the dropshadow shaders produce correct, identical output now.
Change-Id: I94800997bfba781140d80720eb6f340cda480747
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp')
-rw-r--r-- | src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp b/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp index 1fa443abec..62acb8d679 100644 --- a/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp +++ b/src/plugins/scenegraph/d3d12/qsgd3d12engine.cpp @@ -1538,6 +1538,10 @@ void QSGD3D12EnginePrivate::finalizePipeline(const QSGD3D12PipelineState &pipeli D3D12_ROOT_SIGNATURE_DESC desc; desc.NumParameters = rootParamCount; desc.pParameters = rootParams; + // Mixing up samplers and resource views in QSGD3D12TextureView means + // that the number of static samplers has to match the number of + // textures. This is not really ideal in general but works for Quick's use cases. + // The shaders can still choose to declare and use fewer samplers, if they want to. desc.NumStaticSamplers = pipelineState.shaders.rootSig.textureViews.count(); D3D12_STATIC_SAMPLER_DESC staticSamplers[8]; int sdIdx = 0; |