From 5c81c7111697d1216f3d704e7c19f3930071c4b8 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 9 Dec 2025 09:51:53 +0100 Subject: [PATCH] Move constant buffer init for instanced draws only, others do it in all paths --- Source/Engine/Renderer/RenderList.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Engine/Renderer/RenderList.cpp b/Source/Engine/Renderer/RenderList.cpp index ace6f9342..544438bb5 100644 --- a/Source/Engine/Renderer/RenderList.cpp +++ b/Source/Engine/Renderer/RenderList.cpp @@ -917,10 +917,10 @@ void RenderList::ExecuteDrawCalls(const RenderContext& renderContext, DrawCallsL perDraw.DrawPadding = Float3::Zero; GPUConstantBuffer* perDrawCB = IMaterial::BindParameters::PerDrawConstants; context->BindCB(2, perDrawCB); // TODO: use rootSignature/pushConstants on D3D12/Vulkan - context->UpdateCB(perDrawCB, &perDraw); constexpr int32 vbMax = ARRAY_COUNT(DrawCall::Geometry.VertexBuffers); if (useInstancing) { + context->UpdateCB(perDrawCB, &perDraw); GPUBuffer* vb[vbMax + 1]; uint32 vbOffsets[vbMax + 1]; vb[3] = _instanceBuffer.GetBuffer(); // Pass object index in a vertex stream at slot 3 (used by VS in Surface.shader)