# Conflicts: # Content/Shaders/GI/DDGI.flax # Content/Shaders/GI/GlobalSurfaceAtlas.flax # Content/Shaders/TAA.flax # Content/Shaders/VolumetricFog.flax # Source/Editor/CustomEditors/Editors/ActorTagEditor.cs # Source/Engine/Core/Config/GraphicsSettings.cpp # Source/Engine/Engine/PostProcessEffect.cs # Source/Engine/Graphics/GPUResourcesCollection.cpp # Source/Engine/Graphics/GPUResourcesCollection.h # Source/Engine/Graphics/PostProcessBase.h # Source/FlaxEngine.Gen.cs
28 lines
729 B
C++
28 lines
729 B
C++
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
|
|
|
|
#include "GPUTasksExecutor.h"
|
|
#include "Engine/Core/Log.h"
|
|
#include "Engine/Graphics/GPUDevice.h"
|
|
|
|
GPUTasksExecutor::~GPUTasksExecutor()
|
|
{
|
|
// Stats
|
|
int32 totalJobsDone = 0;
|
|
for (int32 i = 0; i < _contextList.Count(); i++)
|
|
totalJobsDone += _contextList[i]->GetTotalTasksDoneCount();
|
|
LOG(Info, "Total GPU tasks done: {0}", totalJobsDone);
|
|
|
|
_contextList.ClearDelete();
|
|
}
|
|
|
|
GPUTasksContext* GPUTasksExecutor::createContext()
|
|
{
|
|
auto context = GPUDevice::Instance->CreateTasksContext();
|
|
if (context == nullptr)
|
|
{
|
|
LOG(Error, "Cannot create new GPU Tasks Context");
|
|
}
|
|
_contextList.Add(context);
|
|
return context;
|
|
}
|