From 1e58fd4842ae0f5be887d9b508f8fbb92a255024 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Thu, 11 Mar 2021 16:35:28 -0800 Subject: [PATCH] minor jobsystem fixes - one version of run() ignored the flags parameter - don't immediately signal created jobs in froxelizer to avoid redundant calls to signal() --- filament/src/Froxelizer.cpp | 2 +- libs/utils/include/utils/JobSystem.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/filament/src/Froxelizer.cpp b/filament/src/Froxelizer.cpp index a5055e34dd..a44e888563 100644 --- a/filament/src/Froxelizer.cpp +++ b/filament/src/Froxelizer.cpp @@ -601,7 +601,7 @@ void Froxelizer::froxelizeLoop(FEngine& engine, auto *parent = js.createJob(); for (size_t i = 0; i < GROUP_COUNT; i++) { js.run(jobs::createJob(js, parent, std::cref(process), - lightData.size() - FScene::DIRECTIONAL_LIGHTS_COUNT, i, GROUP_COUNT)); + lightData.size() - FScene::DIRECTIONAL_LIGHTS_COUNT, i, GROUP_COUNT), JobSystem::DONT_SIGNAL); } js.runAndWait(parent); } else { diff --git a/libs/utils/include/utils/JobSystem.h b/libs/utils/include/utils/JobSystem.h index a9866cc34c..1d530638a2 100644 --- a/libs/utils/include/utils/JobSystem.h +++ b/libs/utils/include/utils/JobSystem.h @@ -256,7 +256,7 @@ public: void run(Job*& job, uint32_t flags = 0) noexcept; void run(Job*&& job, uint32_t flags = 0) noexcept { // allows run(createJob(...)); Job* p = job; - run(p); + run(p, flags); } void signal() noexcept;