diff options
author | Paul Lemire <paul.lemire350@gmail.com> | 2016-05-14 15:37:51 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-07-02 19:41:34 +0000 |
commit | 72b193068e2671f744fab0fd092b4c0243f9556c (patch) | |
tree | d33da48dde7fff98f420f4ca705558f07e6e9efb /src/render/jobs/renderviewjobutils.cpp | |
parent | 2c436fc2619621c2d2548020c9a2533ec93a7216 (diff) |
RenderViewJobUtils: small cleanup
Change-Id: I981903c6263735b33c53cfc92423e5463fe3de21
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/jobs/renderviewjobutils.cpp')
-rw-r--r-- | src/render/jobs/renderviewjobutils.cpp | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/src/render/jobs/renderviewjobutils.cpp b/src/render/jobs/renderviewjobutils.cpp index 834490699..d411f4de7 100644 --- a/src/render/jobs/renderviewjobutils.cpp +++ b/src/render/jobs/renderviewjobutils.cpp @@ -238,7 +238,7 @@ void setRenderViewConfigFromFrameGraphLeafNode(RenderView *rv, const FrameGraphN \a effect specified by the \a renderView. */ Technique *findTechniqueForEffect(Renderer *renderer, - RenderView *renderView, + const TechniqueFilter *techniqueFilter, Effect *effect) { if (!effect) @@ -259,7 +259,6 @@ Technique *findTechniqueForEffect(Renderer *renderer, if (renderer->isRunning() && *renderer->contextInfo() == *technique->graphicsApiFilter()) { // If no techniqueFilter is present, we return the technique as it satisfies OpenGL version - const TechniqueFilter *techniqueFilter = renderView->techniqueFilter(); bool foundMatch = (techniqueFilter == nullptr || techniqueFilter->filters().isEmpty()); if (foundMatch) { matchingTechniques.append(technique); @@ -319,20 +318,19 @@ Technique *findTechniqueForEffect(Renderer *renderer, } -RenderRenderPassList findRenderPassesForTechnique(NodeManagers *manager, - RenderView *renderView, - Technique *technique) +RenderPassList findRenderPassesForTechnique(NodeManagers *manager, + const RenderPassFilter *passFilter, + Technique *technique) { Q_ASSERT(manager); Q_ASSERT(technique); - RenderRenderPassList passes; + RenderPassList passes; const auto passIds = technique->renderPasses(); for (const QNodeId passId : passIds) { RenderPass *renderPass = manager->renderPassManager()->lookupResource(passId); if (renderPass && renderPass->isEnabled()) { - const RenderPassFilter *passFilter = renderView->renderPassFilter(); bool foundMatch = (!passFilter || passFilter->filters().size() == 0); // A pass filter is present so we need to check for matching criteria @@ -379,12 +377,10 @@ ParameterInfoList::const_iterator findParamInfo(ParameterInfoList *params, const } void addParametersForIds(ParameterInfoList *params, ParameterManager *manager, - const QVector<Qt3DCore::QNodeId> ¶meterIds) + const Qt3DCore::QNodeIdVector ¶meterIds) { for (const QNodeId paramId : parameterIds) { Parameter *param = manager->lookupResource(paramId); - if (Q_UNLIKELY(!param)) - continue; ParameterInfoList::iterator it = std::lower_bound(params->begin(), params->end(), param->nameId()); if (it == params->end() || it->nameId != param->nameId()) params->insert(it, ParameterInfo(param->nameId(), param->value())); @@ -488,6 +484,21 @@ void UniformBlockValueBuilder::buildActiveUniformNameValueMapStructHelper(Shader } } +ParameterInfo::ParameterInfo(const int nameId, const QVariant &value) + : nameId(nameId) + , value(value) +{} + +bool ParameterInfo::operator<(const ParameterInfo &other) const Q_DECL_NOEXCEPT +{ + return nameId < other.nameId; +} + +bool ParameterInfo::operator<(const int otherNameId) const Q_DECL_NOEXCEPT +{ + return nameId < otherNameId; +} + } // namespace Render } // namespace Qt3DRender |