From a1a6d4738ffdbb94fce0d778ce8098b59d479138 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 5 Aug 2025 12:28:29 +0200 Subject: [PATCH] Fix async draw wait labels type --- Source/Engine/Foliage/Foliage.cpp | 2 +- Source/Engine/Graphics/RenderTask.h | 2 +- Source/Engine/Level/Scene/SceneRendering.cpp | 2 +- Source/Engine/Renderer/Renderer.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Engine/Foliage/Foliage.cpp b/Source/Engine/Foliage/Foliage.cpp index f51f4ece0..8a0e75a6e 100644 --- a/Source/Engine/Foliage/Foliage.cpp +++ b/Source/Engine/Foliage/Foliage.cpp @@ -1233,7 +1233,7 @@ void Foliage::Draw(RenderContextBatch& renderContextBatch) _renderContextBatch = &renderContextBatch; Function func; func.Bind(this); - const uint64 waitLabel = JobSystem::Dispatch(func, FoliageTypes.Count()); + const int64 waitLabel = JobSystem::Dispatch(func, FoliageTypes.Count()); renderContextBatch.WaitLabels.Add(waitLabel); return; } diff --git a/Source/Engine/Graphics/RenderTask.h b/Source/Engine/Graphics/RenderTask.h index 18a34fe80..07926fd64 100644 --- a/Source/Engine/Graphics/RenderTask.h +++ b/Source/Engine/Graphics/RenderTask.h @@ -513,7 +513,7 @@ API_STRUCT(NoDefault) struct RenderContextBatch /// /// The Job System labels to wait on, after draw calls collecting. /// - API_FIELD() Array> WaitLabels; + API_FIELD() Array> WaitLabels; /// /// Enables using async tasks via Job System when performing drawing. diff --git a/Source/Engine/Level/Scene/SceneRendering.cpp b/Source/Engine/Level/Scene/SceneRendering.cpp index d7225036c..18f631833 100644 --- a/Source/Engine/Level/Scene/SceneRendering.cpp +++ b/Source/Engine/Level/Scene/SceneRendering.cpp @@ -91,7 +91,7 @@ void SceneRendering::Draw(RenderContextBatch& renderContextBatch, DrawCategory c // Run in async via Job System Function func; func.Bind(this); - const uint64 waitLabel = JobSystem::Dispatch(func, JobSystem::GetThreadsCount()); + const int64 waitLabel = JobSystem::Dispatch(func, JobSystem::GetThreadsCount()); renderContextBatch.WaitLabels.Add(waitLabel); } else diff --git a/Source/Engine/Renderer/Renderer.cpp b/Source/Engine/Renderer/Renderer.cpp index 9f11323e8..7c7a53a09 100644 --- a/Source/Engine/Renderer/Renderer.cpp +++ b/Source/Engine/Renderer/Renderer.cpp @@ -454,7 +454,7 @@ void RenderInner(SceneRenderTask* task, RenderContext& renderContext, RenderCont // Wait for async jobs to finish JobSystem::SetJobStartingOnDispatch(true); - for (const uint64 label : renderContextBatch.WaitLabels) + for (const int64 label : renderContextBatch.WaitLabels) JobSystem::Wait(label); renderContextBatch.WaitLabels.Clear();