summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2021-02-26 21:58:20 +0000
committerassiduous <assiduous@diligentgraphics.com>2021-03-19 00:38:12 +0000
commited3961215d0ef02ff8c78e9030ab85793d2880af (patch)
tree13dda96e8132a1081f7883403f38f545ee792b19 /Graphics/GraphicsEngine
parentAdded PSO creation failure tests for mesh & ray tracing pipelines, fixed ray ... (diff)
downloadDiligentCore-ed3961215d0ef02ff8c78e9030ab85793d2880af.tar.gz
DiligentCore-ed3961215d0ef02ff8c78e9030ab85793d2880af.zip
Few updates to PipelineStateVkImpl and PipelineStateD3D12Impl
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp b/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp
index 49be28cf..de000c98 100644
--- a/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp
+++ b/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp
@@ -220,13 +220,13 @@ public:
}
template <typename TPipelineResourceSignature>
- static void CopyResourceSignatures(PIPELINE_TYPE PipelineType,
- const Uint32 SignatureCount,
- IPipelineResourceSignature* ppResourceSignatures[],
- RefCntAutoPtr<TPipelineResourceSignature> DstSignatures[],
- const size_t MaxDstSignatureCount,
- Uint8& DstSignatureCount)
+ static Uint32 CopyResourceSignatures(PIPELINE_TYPE PipelineType,
+ const Uint32 SignatureCount,
+ IPipelineResourceSignature* ppResourceSignatures[],
+ RefCntAutoPtr<TPipelineResourceSignature> DstSignatures[],
+ const size_t MaxDstSignatureCount)
{
+ Uint32 MaxSignatureBindIndex = 0;
for (Uint32 i = 0; i < SignatureCount; ++i)
{
auto* pSignature = ValidatedCast<TPipelineResourceSignature>(ppResourceSignatures[i]);
@@ -254,9 +254,10 @@ public:
}
#endif
- DstSignatureCount = std::max<Uint8>(DstSignatureCount, Index + 1);
- DstSignatures[Index] = pSignature;
+ MaxSignatureBindIndex = std::max<Uint32>(MaxSignatureBindIndex, Index);
+ DstSignatures[Index] = pSignature;
}
+ return MaxSignatureBindIndex;
}
protected: