diff options
Diffstat (limited to 'src/gui/rhi/qrhid3d11.cpp')
-rw-r--r-- | src/gui/rhi/qrhid3d11.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/rhi/qrhid3d11.cpp b/src/gui/rhi/qrhid3d11.cpp index bdbb6f538b..b2bc631569 100644 --- a/src/gui/rhi/qrhid3d11.cpp +++ b/src/gui/rhi/qrhid3d11.cpp @@ -3622,6 +3622,21 @@ bool QD3D11ShaderResourceBindings::create() return true; } +void QD3D11ShaderResourceBindings::updateResources(UpdateFlags flags) +{ + sortedBindings.clear(); + std::copy(m_bindings.cbegin(), m_bindings.cend(), std::back_inserter(sortedBindings)); + if (!flags.testFlag(BindingsAreSorted)) { + std::sort(sortedBindings.begin(), sortedBindings.end(), + [](const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b) + { + return a.data()->binding < b.data()->binding; + }); + } + + generation += 1; +} + QD3D11GraphicsPipeline::QD3D11GraphicsPipeline(QRhiImplementation *rhi) : QRhiGraphicsPipeline(rhi) { |