diff --git a/include/Nazara/Graphics/ForwardFramePipeline.hpp b/include/Nazara/Graphics/ForwardFramePipeline.hpp index b2be1470f..d861eb1d3 100644 --- a/include/Nazara/Graphics/ForwardFramePipeline.hpp +++ b/include/Nazara/Graphics/ForwardFramePipeline.hpp @@ -80,7 +80,7 @@ namespace Nz ForwardFramePipeline& operator=(ForwardFramePipeline&&) = delete; private: - BakedFrameGraph BuildFrameGraph(); + BakedFrameGraph BuildFrameGraph(RenderFrame& renderFrame); void RegisterMaterialInstance(MaterialInstance* materialPass); void UnregisterMaterialInstance(MaterialInstance* material); diff --git a/include/Nazara/Graphics/Systems/RenderSystem.inl b/include/Nazara/Graphics/Systems/RenderSystem.inl index 9b34d8140..8bcf6378c 100644 --- a/include/Nazara/Graphics/Systems/RenderSystem.inl +++ b/include/Nazara/Graphics/Systems/RenderSystem.inl @@ -9,7 +9,7 @@ namespace Nz { inline void RenderSystem::AttachExternalSwapchain(WindowSwapchain& swapchain) { - m_windowSwapchains.emplace_back(&swapchain); + m_externalSwapchains.emplace_back(swapchain); } inline void RenderSystem::DetachExternalSwapchain(WindowSwapchain& swapchain) diff --git a/include/Nazara/VulkanRenderer/VulkanRenderImage.hpp b/include/Nazara/VulkanRenderer/VulkanRenderImage.hpp index 00a3242a9..2a0a2555c 100644 --- a/include/Nazara/VulkanRenderer/VulkanRenderImage.hpp +++ b/include/Nazara/VulkanRenderer/VulkanRenderImage.hpp @@ -47,7 +47,7 @@ namespace Nz private: std::size_t m_freeCommandBufferIndex; - std::vector m_allocatedCommandBuffers;; + std::vector m_allocatedCommandBuffers; std::vector m_graphicalCommandBuffers; VulkanSwapchain& m_owner; Vk::CommandPool m_commandPool; diff --git a/src/Nazara/Graphics/ForwardFramePipeline.cpp b/src/Nazara/Graphics/ForwardFramePipeline.cpp index 49eea9c0e..c00ab2313 100644 --- a/src/Nazara/Graphics/ForwardFramePipeline.cpp +++ b/src/Nazara/Graphics/ForwardFramePipeline.cpp @@ -372,7 +372,7 @@ namespace Nz if (m_rebuildFrameGraph) { renderFrame.PushForRelease(std::move(m_bakedFrameGraph)); - m_bakedFrameGraph = BuildFrameGraph(); + m_bakedFrameGraph = BuildFrameGraph(renderFrame); m_bakedFrameGraph.Resize(renderFrame); frameGraphInvalidated = true; } @@ -689,7 +689,7 @@ namespace Nz } } - BakedFrameGraph ForwardFramePipeline::BuildFrameGraph() + BakedFrameGraph ForwardFramePipeline::BuildFrameGraph(RenderFrame& renderFrame) { FrameGraph frameGraph; @@ -748,7 +748,13 @@ namespace Nz return lhs.second->renderOrder < rhs.second->renderOrder; }); + for (auto&& [_, renderTargetData] : m_renderTargets) + { + if (renderTargetData.blitShaderBinding) + renderFrame.PushForRelease(std::move(renderTargetData.blitShaderBinding)); + } m_renderTargets.clear(); + for (auto&& [renderTarget, viewerData] : viewers) { auto& renderTargetData = m_renderTargets[renderTarget]; diff --git a/src/Nazara/Graphics/ForwardPipelinePass.cpp b/src/Nazara/Graphics/ForwardPipelinePass.cpp index 0abcb48a8..b7a6cf7ea 100644 --- a/src/Nazara/Graphics/ForwardPipelinePass.cpp +++ b/src/Nazara/Graphics/ForwardPipelinePass.cpp @@ -159,11 +159,12 @@ namespace Nz forwardPass.AddOutput(inputOuputs.outputAttachments[0]); if (inputOuputs.depthStencilInput != FramePipelinePass::InvalidAttachmentIndex) forwardPass.SetDepthStencilInput(inputOuputs.depthStencilInput); + else + forwardPass.SetDepthStencilClear(1.f, 0); forwardPass.SetDepthStencilOutput(inputOuputs.depthStencilOutput); forwardPass.SetClearColor(0, m_viewer->GetClearColor()); - forwardPass.SetDepthStencilClear(1.f, 0); forwardPass.SetExecutionCallback([&]() { diff --git a/src/Nazara/Utility/Image.cpp b/src/Nazara/Utility/Image.cpp index 344b0b0fe..0670ee3fe 100644 --- a/src/Nazara/Utility/Image.cpp +++ b/src/Nazara/Utility/Image.cpp @@ -1135,7 +1135,7 @@ namespace Nz return false; } - return LoadFaceFromImage(face, *image);; + return LoadFaceFromImage(face, *image); } bool Image::SaveToFile(const std::filesystem::path& filePath, const ImageParams& params) diff --git a/tests/Std140Debug/main.cpp b/tests/Std140Debug/main.cpp index b1aafe9e6..20c240f99 100644 --- a/tests/Std140Debug/main.cpp +++ b/tests/Std140Debug/main.cpp @@ -152,7 +152,7 @@ int main() program.GetActiveUniformBlock(blockIndex, GL_UNIFORM_BLOCK_DATA_SIZE, &dataSize); if (fieldOffsets.GetAlignedSize() != std::size_t(dataSize)) - std::cout << "size mismatch (computed " << fieldOffsets.GetAlignedSize() << ", reference has " << dataSize << ")" << std::endl;; + std::cout << "size mismatch (computed " << fieldOffsets.GetAlignedSize() << ", reference has " << dataSize << ")" << std::endl; if (computedOffsets.size() != uniformIndices.size()) {