diff --git a/Source/Editor/Analytics/EditorAnalytics.cpp b/Source/Editor/Analytics/EditorAnalytics.cpp
index 009b0e8ca..daa01a306 100644
--- a/Source/Editor/Analytics/EditorAnalytics.cpp
+++ b/Source/Editor/Analytics/EditorAnalytics.cpp
@@ -7,6 +7,7 @@
#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Vector2.h"
#include "Engine/Core/Types/DateTime.h"
+#include "Engine/Core/Types/TimeSpan.h"
#include "Editor/Editor.h"
#include "Editor/ProjectInfo.h"
#include "Engine/Engine/EngineService.h"
diff --git a/Source/Engine/Core/Types/Guid.h b/Source/Engine/Core/Types/Guid.h
index 721d75385..cb92f7eeb 100644
--- a/Source/Engine/Core/Types/Guid.h
+++ b/Source/Engine/Core/Types/Guid.h
@@ -88,22 +88,14 @@ public:
}
public:
- // Compares two Guids for equality
- // @param left The first Guid to compare
- // @param right The second Guid to compare
- // @returns True if the Guids are equal, otherwise false
- friend bool operator==(const Guid& left, const Guid& right)
+ bool operator==(const Guid& other) const
{
- return ((left.A ^ right.A) | (left.B ^ right.B) | (left.C ^ right.C) | (left.D ^ right.D)) == 0;
+ return ((A ^ other.A) | (B ^ other.B) | (C ^ other.C) | (D ^ other.D)) == 0;
}
- // Compares two Guids for inequality
- // @param left The first Guid to compare
- // @param right The second Guid to compare
- // @returns True if the GUIDs are not equal, otherwise false
- friend bool operator!=(const Guid& left, const Guid& right)
+ bool operator!=(const Guid& other) const
{
- return ((left.A ^ right.A) | (left.B ^ right.B) | (left.C ^ right.C) | (left.D ^ right.D)) != 0;
+ return ((A ^ other.A) | (B ^ other.B) | (C ^ other.C) | (D ^ other.D)) != 0;
}
// Provides access to the GUIDs components
diff --git a/Source/Engine/Core/Types/Pair.h b/Source/Engine/Core/Types/Pair.h
index 339a8ddfe..deedf1eb5 100644
--- a/Source/Engine/Core/Types/Pair.h
+++ b/Source/Engine/Core/Types/Pair.h
@@ -81,14 +81,14 @@ public:
return *this;
}
- friend bool operator==(const Pair& a, const Pair& b)
+ bool operator==(const Pair& other) const
{
- return a.First == b.First && a.Second == b.Second;
+ return First == other.First && Second == other.Second;
}
- friend bool operator!=(const Pair& a, const Pair& b)
+ bool operator!=(const Pair& other) const
{
- return a.First != b.First || a.Second != b.Second;
+ return First != other.First || Second != other.Second;
}
};
diff --git a/Source/Engine/Foliage/Foliage.h b/Source/Engine/Foliage/Foliage.h
index 4bb770612..86c54b49d 100644
--- a/Source/Engine/Foliage/Foliage.h
+++ b/Source/Engine/Foliage/Foliage.h
@@ -154,9 +154,9 @@ private:
const Mesh* Geo;
int32 Lightmap;
- friend bool operator==(const DrawKey& lhs, const DrawKey& rhs)
+ bool operator==(const DrawKey& other) const
{
- return lhs.Mat == rhs.Mat && lhs.Geo == rhs.Geo && lhs.Lightmap == rhs.Lightmap;
+ return Mat == other.Mat && Geo == other.Geo && Lightmap == other.Lightmap;
}
friend uint32 GetHash(const DrawKey& key)
diff --git a/Source/Engine/Graphics/Async/DefaultGPUTasksExecutor.cpp b/Source/Engine/Graphics/Async/DefaultGPUTasksExecutor.cpp
index 680fb8684..dc5a30235 100644
--- a/Source/Engine/Graphics/Async/DefaultGPUTasksExecutor.cpp
+++ b/Source/Engine/Graphics/Async/DefaultGPUTasksExecutor.cpp
@@ -3,6 +3,7 @@
#include "DefaultGPUTasksExecutor.h"
#include "GPUTasksContext.h"
#include "GPUTask.h"
+#include "GPUTasksManager.h"
#include "Engine/Graphics/GPUDevice.h"
DefaultGPUTasksExecutor::DefaultGPUTasksExecutor()
@@ -30,7 +31,7 @@ void DefaultGPUTasksExecutor::FrameEnd()
// Default implementation performs async operations on end of the frame which is synchronized with a rendering thread
GPUTask* buffer[32];
- const int32 count = GPUDevice::Instance->TasksManager.RequestWork(buffer, 32);
+ const int32 count = GPUDevice::Instance->GetTasksManager()->RequestWork(buffer, 32);
for (int32 i = 0; i < count; i++)
{
_context->Run(buffer[i]);
diff --git a/Source/Engine/Graphics/Async/GPUTasksExecutor.cpp b/Source/Engine/Graphics/Async/GPUTasksExecutor.cpp
index 5c5c6164e..631310134 100644
--- a/Source/Engine/Graphics/Async/GPUTasksExecutor.cpp
+++ b/Source/Engine/Graphics/Async/GPUTasksExecutor.cpp
@@ -1,6 +1,7 @@
// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved.
#include "GPUTasksExecutor.h"
+#include "Engine/Core/Log.h"
#include "Engine/Graphics/GPUDevice.h"
GPUTasksExecutor::~GPUTasksExecutor()
diff --git a/Source/Engine/Graphics/Async/GPUTasksExecutor.h b/Source/Engine/Graphics/Async/GPUTasksExecutor.h
index 63c2e3af1..71fce2052 100644
--- a/Source/Engine/Graphics/Async/GPUTasksExecutor.h
+++ b/Source/Engine/Graphics/Async/GPUTasksExecutor.h
@@ -37,7 +37,6 @@ public:
///
/// Gets the context list.
///
- /// GPU contexts
FORCE_INLINE const Array* GetContextList() const
{
return &_contextList;
diff --git a/Source/Engine/Graphics/Async/GPUTasksManager.cpp b/Source/Engine/Graphics/Async/GPUTasksManager.cpp
index bbd5bff7f..2cbe31f47 100644
--- a/Source/Engine/Graphics/Async/GPUTasksManager.cpp
+++ b/Source/Engine/Graphics/Async/GPUTasksManager.cpp
@@ -7,26 +7,13 @@
void GPUTask::Enqueue()
{
- GPUDevice::Instance->TasksManager._tasks.Add(this);
+ GPUDevice::Instance->GetTasksManager()->_tasks.Add(this);
}
-GPUTasksManager::GPUTasksManager(GPUDevice* device)
- : _device(device)
- , _executor(nullptr)
- , _bufferIndex(0)
+GPUTasksManager::GPUTasksManager()
{
_buffers[0].EnsureCapacity(64);
_buffers[1].EnsureCapacity(64);
-
- // Setup executor
- SetExecutor(device->CreateTasksExecutor());
- ASSERT(_executor != nullptr);
-}
-
-GPUTasksManager::~GPUTasksManager()
-{
- // Ensure that Dispose has been called
- ASSERT(_executor == nullptr);
}
void GPUTasksManager::SetExecutor(GPUTasksExecutor* value)
@@ -114,3 +101,8 @@ int32 GPUTasksManager::RequestWork(GPUTask** buffer, int32 maxCount)
return count;
}
+
+String GPUTasksManager::ToString() const
+{
+ return TEXT("GPU Tasks Manager");
+}
diff --git a/Source/Engine/Graphics/Async/GPUTasksManager.h b/Source/Engine/Graphics/Async/GPUTasksManager.h
index 25639a6fb..e9f2eb18b 100644
--- a/Source/Engine/Graphics/Async/GPUTasksManager.h
+++ b/Source/Engine/Graphics/Async/GPUTasksManager.h
@@ -22,30 +22,17 @@ class GPUTasksManager : public Object, public NonCopyable
friend GPUTask;
private:
- GPUDevice* _device;
- GPUTasksExecutor* _executor;
+ GPUTasksExecutor* _executor = nullptr;
ConcurrentTaskQueue _tasks;
Array _buffers[2];
- int32 _bufferIndex;
-
-private:
- GPUTasksManager(GPUDevice* device);
- ~GPUTasksManager();
+ int32 _bufferIndex = 0;
public:
- ///
- /// Gets the parent Graphics Device.
- ///
- /// The device.
- FORCE_INLINE GPUDevice* GetDevice() const
- {
- return _device;
- }
+ GPUTasksManager();
///
/// Gets the GPU tasks executor.
///
- /// The tasks executor.
FORCE_INLINE GPUTasksExecutor* GetExecutor() const
{
return _executor;
@@ -60,7 +47,6 @@ public:
///
/// Gets the amount of enqueued tasks to perform.
///
- /// The tasks count.
FORCE_INLINE int32 GetTaskCount() const
{
return _tasks.Count();
@@ -94,8 +80,5 @@ public:
public:
// [Object]
- String ToString() const override
- {
- return TEXT("GPU Tasks Manager");
- }
+ String ToString() const override;
};
diff --git a/Source/Engine/Graphics/DynamicBuffer.cpp b/Source/Engine/Graphics/DynamicBuffer.cpp
index d4db1b957..1b0c7249e 100644
--- a/Source/Engine/Graphics/DynamicBuffer.cpp
+++ b/Source/Engine/Graphics/DynamicBuffer.cpp
@@ -1,10 +1,12 @@
// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved.
#include "DynamicBuffer.h"
+#include "GPUContext.h"
#include "PixelFormatExtensions.h"
#include "GPUDevice.h"
#include "Engine/Core/Log.h"
#include "Engine/Core/Utilities.h"
+#include "Engine/Core/Math/Math.h"
#include "Engine/Threading/Threading.h"
DynamicBuffer::DynamicBuffer(uint32 initialCapacity, uint32 stride, const String& name)
diff --git a/Source/Engine/Graphics/GPUDevice.cpp b/Source/Engine/Graphics/GPUDevice.cpp
index b9f1aeba2..133aed0bb 100644
--- a/Source/Engine/Graphics/GPUDevice.cpp
+++ b/Source/Engine/Graphics/GPUDevice.cpp
@@ -9,10 +9,12 @@
#include "Graphics.h"
#include "Shaders/GPUShader.h"
#include "Async/DefaultGPUTasksExecutor.h"
+#include "Async/GPUTasksManager.h"
#include "Engine/Content/Assets/Shader.h"
#include "Engine/Content/Assets/Material.h"
#include "Engine/Content/Content.h"
#include "Engine/Content/SoftAssetReference.h"
+#include "Engine/Core/Log.h"
#include "Engine/Render2D/Render2D.h"
#include "Engine/Engine/CommandLine.h"
#include "Engine/Engine/Engine.h"
@@ -263,6 +265,7 @@ struct GPUDevice::PrivateData
AssetReference DefaultNormalMap;
AssetReference DefaultWhiteTexture;
AssetReference DefaultBlackTexture;
+ GPUTasksManager TasksManager;
};
GPUDevice* GPUDevice::Instance = nullptr;
@@ -277,7 +280,6 @@ GPUDevice::GPUDevice(RendererType type, ShaderProfile profile)
, _shaderProfile(profile)
, _featureLevel(RenderTools::GetFeatureLevel(profile))
, _res(New())
- , TasksManager(this)
, TotalGraphicsMemory(0)
, QuadShader(nullptr)
, CurrentTask(nullptr)
@@ -296,6 +298,7 @@ GPUDevice::~GPUDevice()
bool GPUDevice::Init()
{
+ _res->TasksManager.SetExecutor(CreateTasksExecutor());
LOG(Info, "Total graphics memory: {0}", Utilities::BytesToText(TotalGraphicsMemory));
return false;
}
@@ -492,7 +495,7 @@ void GPUDevice::Draw()
// Begin frame
context->FrameBegin();
RenderBegin();
- TasksManager.FrameBegin();
+ _res->TasksManager.FrameBegin();
Render2D::BeginFrame();
// Perform actual drawing
@@ -502,7 +505,7 @@ void GPUDevice::Draw()
// End frame
Render2D::EndFrame();
- TasksManager.FrameEnd();
+ _res->TasksManager.FrameEnd();
RenderEnd();
context->FrameEnd();
@@ -520,6 +523,11 @@ uint64 GPUDevice::GetMemoryUsage() const
return Resources.GetMemoryUsage();
}
+GPUTasksManager* GPUDevice::GetTasksManager() const
+{
+ return &_res->TasksManager;
+}
+
MaterialBase* GPUDevice::GetDefaultMaterial() const
{
return _res->DefaultMaterial;
diff --git a/Source/Engine/Graphics/GPUDevice.h b/Source/Engine/Graphics/GPUDevice.h
index 5f0f6175c..cae2e86dc 100644
--- a/Source/Engine/Graphics/GPUDevice.h
+++ b/Source/Engine/Graphics/GPUDevice.h
@@ -3,8 +3,9 @@
#pragma once
#include "Engine/Platform/Platform.h"
+#include "Engine/Core/Enums.h"
+#include "Engine/Core/NonCopyable.h"
#include "Engine/Scripting/ScriptingObject.h"
-#include "Async/GPUTasksManager.h"
#include "GPUResourcesCollection.h"
#include "GPUAdapter.h"
#include "GPULimits.h"
@@ -20,7 +21,11 @@ class GPUTexture;
class GPUBuffer;
class GPUSampler;
class GPUPipelineState;
+class GPUConstantBuffer;
+class GPUTasksContext;
+class GPUTasksExecutor;
class GPUSwapChain;
+class GPUTasksManager;
class Shader;
class Model;
class Material;
@@ -105,11 +110,6 @@ public:
///
GPUResourcesCollection Resources;
- ///
- /// GPU asynchronous work manager.
- ///
- GPUTasksManager TasksManager;
-
public:
///
/// The total amount of graphics memory in bytes.
@@ -220,6 +220,11 @@ public:
///
API_PROPERTY() uint64 GetMemoryUsage() const;
+ ///
+ /// Gets the GPU asynchronous work manager.
+ ///
+ GPUTasksManager* GetTasksManager() const;
+
///
/// Gets the default material.
///
diff --git a/Source/Engine/Graphics/GPUSwapChain.cpp b/Source/Engine/Graphics/GPUSwapChain.cpp
index 8dc7f0eee..4d33db407 100644
--- a/Source/Engine/Graphics/GPUSwapChain.cpp
+++ b/Source/Engine/Graphics/GPUSwapChain.cpp
@@ -4,6 +4,7 @@
#include "GPUDevice.h"
#include "Textures/GPUTexture.h"
#include "Engine/Core/Log.h"
+#include "Engine/Threading/Task.h"
class GPUSwapChainDownloadTask : public Task
{
diff --git a/Source/Engine/Graphics/Graphics.cpp b/Source/Engine/Graphics/Graphics.cpp
index bfa897fbd..307b95a21 100644
--- a/Source/Engine/Graphics/Graphics.cpp
+++ b/Source/Engine/Graphics/Graphics.cpp
@@ -3,6 +3,8 @@
#include "Graphics.h"
#include "GPUDevice.h"
#include "PixelFormatExtensions.h"
+#include "Async/GPUTasksManager.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Config/GraphicsSettings.h"
#include "Engine/Engine/CommandLine.h"
#include "Engine/Engine/EngineService.h"
@@ -194,7 +196,7 @@ void GraphicsService::BeforeExit()
if (GPUDevice::Instance)
{
// Start disposing
- GPUDevice::Instance->TasksManager.Dispose();
+ GPUDevice::Instance->GetTasksManager()->Dispose();
}
}
diff --git a/Source/Engine/Graphics/Materials/DecalMaterialShader.cpp b/Source/Engine/Graphics/Materials/DecalMaterialShader.cpp
index 54ca0e137..9e44708e7 100644
--- a/Source/Engine/Graphics/Materials/DecalMaterialShader.cpp
+++ b/Source/Engine/Graphics/Materials/DecalMaterialShader.cpp
@@ -2,7 +2,9 @@
#include "DecalMaterialShader.h"
#include "MaterialParams.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Math/OrientedBoundingBox.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Graphics/RenderBuffers.h"
diff --git a/Source/Engine/Graphics/Materials/ForwardMaterialShader.cpp b/Source/Engine/Graphics/Materials/ForwardMaterialShader.cpp
index 9c658f9c9..4328e051c 100644
--- a/Source/Engine/Graphics/Materials/ForwardMaterialShader.cpp
+++ b/Source/Engine/Graphics/Materials/ForwardMaterialShader.cpp
@@ -3,6 +3,7 @@
#include "ForwardMaterialShader.h"
#include "MaterialShaderFeatures.h"
#include "MaterialParams.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/GPULimits.h"
#include "Engine/Graphics/RenderView.h"
diff --git a/Source/Engine/Graphics/Materials/GUIMaterialShader.cpp b/Source/Engine/Graphics/Materials/GUIMaterialShader.cpp
index cc2d61775..10c12816e 100644
--- a/Source/Engine/Graphics/Materials/GUIMaterialShader.cpp
+++ b/Source/Engine/Graphics/Materials/GUIMaterialShader.cpp
@@ -2,7 +2,9 @@
#include "GUIMaterialShader.h"
#include "MaterialParams.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Viewport.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Graphics/RenderView.h"
diff --git a/Source/Engine/Graphics/Materials/MaterialShader.cpp b/Source/Engine/Graphics/Materials/MaterialShader.cpp
index ac9453e64..22e126d30 100644
--- a/Source/Engine/Graphics/Materials/MaterialShader.cpp
+++ b/Source/Engine/Graphics/Materials/MaterialShader.cpp
@@ -6,6 +6,7 @@
#include "Engine/Renderer/RenderList.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Graphics/GPUDevice.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/Shaders/GPUConstantBuffer.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Engine/Time.h"
diff --git a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp
index ed67a0c94..f2e9ffa8a 100644
--- a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp
+++ b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp
@@ -8,6 +8,7 @@
#if USE_EDITOR
#include "Engine/Renderer/Lightmaps.h"
#endif
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Level/Scene/Lightmap.h"
#include "Engine/Level/Actors/EnvironmentProbe.h"
diff --git a/Source/Engine/Graphics/Materials/PostFxMaterialShader.cpp b/Source/Engine/Graphics/Materials/PostFxMaterialShader.cpp
index ff1ff3fb6..6201f1181 100644
--- a/Source/Engine/Graphics/Materials/PostFxMaterialShader.cpp
+++ b/Source/Engine/Graphics/Materials/PostFxMaterialShader.cpp
@@ -2,6 +2,8 @@
#include "PostFxMaterialShader.h"
#include "MaterialParams.h"
+#include "Engine/Core/Log.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
diff --git a/Source/Engine/Graphics/Models/Mesh.cpp b/Source/Engine/Graphics/Models/Mesh.cpp
index db56f3dcc..7cbb5119d 100644
--- a/Source/Engine/Graphics/Models/Mesh.cpp
+++ b/Source/Engine/Graphics/Models/Mesh.cpp
@@ -4,6 +4,7 @@
#include "ModelInstanceEntry.h"
#include "Engine/Content/Assets/Material.h"
#include "Engine/Content/Assets/Model.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Transform.h"
#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
@@ -11,6 +12,7 @@
#include "Engine/Profiler/ProfilerCPU.h"
#include "Engine/Renderer/RenderList.h"
#include "Engine/Serialization/MemoryReadStream.h"
+#include "Engine/Threading/Task.h"
#include "Engine/Threading/Threading.h"
#if USE_MONO
#include
diff --git a/Source/Engine/Graphics/Models/ModelLOD.cpp b/Source/Engine/Graphics/Models/ModelLOD.cpp
index 8aa150d84..3f37177f1 100644
--- a/Source/Engine/Graphics/Models/ModelLOD.cpp
+++ b/Source/Engine/Graphics/Models/ModelLOD.cpp
@@ -1,6 +1,7 @@
// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved.
#include "ModelLOD.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Transform.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Serialization/MemoryReadStream.h"
diff --git a/Source/Engine/Graphics/Models/SkinnedMesh.cpp b/Source/Engine/Graphics/Models/SkinnedMesh.cpp
index f7d5b83ca..d7984d378 100644
--- a/Source/Engine/Graphics/Models/SkinnedMesh.cpp
+++ b/Source/Engine/Graphics/Models/SkinnedMesh.cpp
@@ -4,12 +4,15 @@
#include "ModelInstanceEntry.h"
#include "Engine/Content/Assets/Material.h"
#include "Engine/Content/Assets/SkinnedModel.h"
+#include "Engine/Core/Log.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Level/Scene/Scene.h"
#include "Engine/Renderer/RenderList.h"
#include "Engine/Serialization/MemoryReadStream.h"
#include "Engine/Profiler/ProfilerCPU.h"
+#include "Engine/Threading/Task.h"
#include "Engine/Threading/Threading.h"
#if USE_MONO
#include
diff --git a/Source/Engine/Graphics/Models/SkinnedMeshDrawData.cpp b/Source/Engine/Graphics/Models/SkinnedMeshDrawData.cpp
index 6f620cea0..6a6b11afe 100644
--- a/Source/Engine/Graphics/Models/SkinnedMeshDrawData.cpp
+++ b/Source/Engine/Graphics/Models/SkinnedMeshDrawData.cpp
@@ -3,6 +3,7 @@
#include "SkinnedMeshDrawData.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Animations/Config.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Matrix.h"
#include "Engine/Core/Math/Matrix3x4.h"
diff --git a/Source/Engine/Graphics/Models/SkinnedModelLOD.cpp b/Source/Engine/Graphics/Models/SkinnedModelLOD.cpp
index 4508d9940..3356e35d0 100644
--- a/Source/Engine/Graphics/Models/SkinnedModelLOD.cpp
+++ b/Source/Engine/Graphics/Models/SkinnedModelLOD.cpp
@@ -1,6 +1,7 @@
// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved.
#include "SkinnedModelLOD.h"
+#include "Engine/Core/Log.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Content/Assets/Model.h"
#include "Engine/Serialization/MemoryReadStream.h"
diff --git a/Source/Engine/Graphics/RenderTargetPool.cpp b/Source/Engine/Graphics/RenderTargetPool.cpp
index 26fa3f6ac..5db3ed27d 100644
--- a/Source/Engine/Graphics/RenderTargetPool.cpp
+++ b/Source/Engine/Graphics/RenderTargetPool.cpp
@@ -2,6 +2,7 @@
#include "RenderTargetPool.h"
#include "GPUDevice.h"
+#include "Engine/Core/Log.h"
#include "Engine/Engine/Engine.h"
struct Entry
diff --git a/Source/Engine/Graphics/RenderTools.cpp b/Source/Engine/Graphics/RenderTools.cpp
index 912b0ed48..7b498c7d5 100644
--- a/Source/Engine/Graphics/RenderTools.cpp
+++ b/Source/Engine/Graphics/RenderTools.cpp
@@ -9,6 +9,7 @@
#include "RenderTask.h"
#include "Engine/Content/Assets/Model.h"
#include "Engine/Content/Assets/SkinnedModel.h"
+#include "Engine/Core/Log.h"
#include "Engine/Engine/Time.h"
const Char* ToString(RendererType value)
diff --git a/Source/Engine/Graphics/Shaders/Cache/ShaderAssetBase.cpp b/Source/Engine/Graphics/Shaders/Cache/ShaderAssetBase.cpp
index 656424a8b..caebcfc3c 100644
--- a/Source/Engine/Graphics/Shaders/Cache/ShaderAssetBase.cpp
+++ b/Source/Engine/Graphics/Shaders/Cache/ShaderAssetBase.cpp
@@ -3,6 +3,7 @@
#include "ShaderAssetBase.h"
#include "ShaderStorage.h"
#include "ShaderCacheManager.h"
+#include "Engine/Core/Log.h"
#include "Engine/Engine/CommandLine.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
diff --git a/Source/Engine/Graphics/Textures/GPUSampler.cpp b/Source/Engine/Graphics/Textures/GPUSampler.cpp
index 6a1ed592b..8541a447e 100644
--- a/Source/Engine/Graphics/Textures/GPUSampler.cpp
+++ b/Source/Engine/Graphics/Textures/GPUSampler.cpp
@@ -2,6 +2,7 @@
#include "GPUSampler.h"
#include "GPUSamplerDescription.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Types/String.h"
#include "Engine/Graphics/GPUDevice.h"
diff --git a/Source/Engine/GraphicsDevice/Null/GPUDeviceNull.cpp b/Source/Engine/GraphicsDevice/Null/GPUDeviceNull.cpp
index b0b980913..97f9082b8 100644
--- a/Source/Engine/GraphicsDevice/Null/GPUDeviceNull.cpp
+++ b/Source/Engine/GraphicsDevice/Null/GPUDeviceNull.cpp
@@ -12,6 +12,8 @@
#include "GPUBufferNull.h"
#include "GPUSamplerNull.h"
#include "GPUSwapChainNull.h"
+#include "Engine/Core/Log.h"
+#include "Engine/Graphics/Async/GPUTasksManager.h"
GPUDeviceNull::GPUDeviceNull()
: GPUDevice(RendererType::Null, ShaderProfile::Unknown)
@@ -89,13 +91,13 @@ void GPUDeviceNull::Draw()
auto context = GetMainContext();
RenderBegin();
- TasksManager.FrameBegin();
+ GetTasksManager()->FrameBegin();
context->FrameBegin();
// don't render anything
context->FrameEnd();
- TasksManager.FrameEnd();
+ GetTasksManager()->FrameEnd();
RenderEnd();
DrawEnd();
diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp
index 522fc1a89..35078629d 100644
--- a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp
+++ b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp
@@ -3,6 +3,7 @@
#include "GPUDeviceVulkan.h"
#include "RenderToolsVulkan.h"
#include "Config.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Collections/ArrayExtensions.h"
#include "Engine/Core/Collections/Sorting.h"
diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.cpp
index 84735cbe3..470469aa1 100644
--- a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.cpp
+++ b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.cpp
@@ -20,13 +20,14 @@
#include "Config.h"
#include "CmdBufferVulkan.h"
#include "FlaxEngine.Gen.h"
+#include "Engine/Core/Log.h"
+#include "Engine/Core/Utilities.h"
+#include "Engine/Core/Math/Color32.h"
#include "Engine/Core/Collections/ArrayExtensions.h"
#include "Engine/Platform/FileSystem.h"
#include "Engine/Platform/File.h"
#include "Engine/Graphics/Textures/GPUSamplerDescription.h"
#include "Engine/Graphics/PixelFormatExtensions.h"
-#include "Engine/Core/Utilities.h"
-#include "Engine/Core/Math/Color32.h"
#include "Engine/Engine/Engine.h"
#include "Engine/Engine/Globals.h"
#include "Engine/Engine/CommandLine.h"
diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUPipelineStateVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUPipelineStateVulkan.cpp
index 0cccccf38..5699970b3 100644
--- a/Source/Engine/GraphicsDevice/Vulkan/GPUPipelineStateVulkan.cpp
+++ b/Source/Engine/GraphicsDevice/Vulkan/GPUPipelineStateVulkan.cpp
@@ -4,9 +4,10 @@
#include "GPUPipelineStateVulkan.h"
#include "RenderToolsVulkan.h"
-#include "Engine/Profiler/ProfilerCPU.h"
#include "DescriptorSetVulkan.h"
#include "GPUShaderProgramVulkan.h"
+#include "Engine/Core/Log.h"
+#include "Engine/Profiler/ProfilerCPU.h"
GPUShaderProgramCSVulkan::~GPUShaderProgramCSVulkan()
{
diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUShaderVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUShaderVulkan.cpp
index 43205574b..bcfed887e 100644
--- a/Source/Engine/GraphicsDevice/Vulkan/GPUShaderVulkan.cpp
+++ b/Source/Engine/GraphicsDevice/Vulkan/GPUShaderVulkan.cpp
@@ -8,8 +8,9 @@
#include "RenderToolsVulkan.h"
#include "CmdBufferVulkan.h"
#include "Types.h"
-#include "Engine/Serialization/MemoryReadStream.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Types/DataContainer.h"
+#include "Engine/Serialization/MemoryReadStream.h"
#include "Engine/Graphics/PixelFormatExtensions.h"
#if PLATFORM_DESKTOP
diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUSwapChainVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUSwapChainVulkan.cpp
index b16fe6caa..377ef19ef 100644
--- a/Source/Engine/GraphicsDevice/Vulkan/GPUSwapChainVulkan.cpp
+++ b/Source/Engine/GraphicsDevice/Vulkan/GPUSwapChainVulkan.cpp
@@ -8,6 +8,7 @@
#include "GPUAdapterVulkan.h"
#include "GPUContextVulkan.h"
#include "CmdBufferVulkan.h"
+#include "Engine/Core/Log.h"
#include "Engine/Graphics/GPULimits.h"
void BackBufferVulkan::Setup(GPUSwapChainVulkan* window, VkImage backbuffer, PixelFormat format, VkExtent3D extent)
diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUTextureVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUTextureVulkan.cpp
index eb4466ab8..29510f67d 100644
--- a/Source/Engine/GraphicsDevice/Vulkan/GPUTextureVulkan.cpp
+++ b/Source/Engine/GraphicsDevice/Vulkan/GPUTextureVulkan.cpp
@@ -6,6 +6,7 @@
#include "GPUBufferVulkan.h"
#include "GPUContextVulkan.h"
#include "RenderToolsVulkan.h"
+#include "Engine/Core/Log.h"
#include "Engine/Graphics/PixelFormatExtensions.h"
#include "Engine/Graphics/Textures/TextureData.h"
diff --git a/Source/Engine/Level/Actors/AnimatedModel.cpp b/Source/Engine/Level/Actors/AnimatedModel.cpp
index 9ee6bd511..3b65c53a9 100644
--- a/Source/Engine/Level/Actors/AnimatedModel.cpp
+++ b/Source/Engine/Level/Actors/AnimatedModel.cpp
@@ -9,6 +9,7 @@
#if USE_EDITOR
#include "Editor/Editor.h"
#endif
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Level/Scene/Scene.h"
diff --git a/Source/Engine/Level/Actors/EnvironmentProbe.cpp b/Source/Engine/Level/Actors/EnvironmentProbe.cpp
index ee2dca8cc..61dd8834b 100644
--- a/Source/Engine/Level/Actors/EnvironmentProbe.cpp
+++ b/Source/Engine/Level/Actors/EnvironmentProbe.cpp
@@ -12,6 +12,7 @@
#include "Engine/Content/Content.h"
#include "Engine/ContentExporters/AssetExporters.h"
#include "Engine/ContentImporters/AssetsImportingManager.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Serialization/Serialization.h"
#include "Engine/Level/Scene/Scene.h"
diff --git a/Source/Engine/Level/Actors/ExponentialHeightFog.cpp b/Source/Engine/Level/Actors/ExponentialHeightFog.cpp
index 45de21532..14d222df8 100644
--- a/Source/Engine/Level/Actors/ExponentialHeightFog.cpp
+++ b/Source/Engine/Level/Actors/ExponentialHeightFog.cpp
@@ -4,6 +4,7 @@
#include "DirectionalLight.h"
#include "Engine/Core/Math/Color.h"
#include "Engine/Content/Content.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Renderer/RenderList.h"
#include "Engine/Serialization/Serialization.h"
#include "Engine/Graphics/RenderView.h"
diff --git a/Source/Engine/Level/Actors/SplineModel.cpp b/Source/Engine/Level/Actors/SplineModel.cpp
index 67cd56f9c..68f3637db 100644
--- a/Source/Engine/Level/Actors/SplineModel.cpp
+++ b/Source/Engine/Level/Actors/SplineModel.cpp
@@ -2,12 +2,14 @@
#include "SplineModel.h"
#include "Spline.h"
-#include "Engine/Engine/Engine.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Matrix3x4.h"
+#include "Engine/Engine/Engine.h"
#include "Engine/Serialization/Serialization.h"
#include "Engine/Graphics/GPUBufferDescription.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/GPUBuffer.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Graphics/RenderTools.h"
#include "Engine/Level/Scene/SceneRendering.h"
diff --git a/Source/Engine/Level/Actors/StaticModel.cpp b/Source/Engine/Level/Actors/StaticModel.cpp
index 6fc9c86a3..539e3caf0 100644
--- a/Source/Engine/Level/Actors/StaticModel.cpp
+++ b/Source/Engine/Level/Actors/StaticModel.cpp
@@ -4,6 +4,7 @@
#include "Engine/Engine/Engine.h"
#include "Engine/Graphics/GPUBuffer.h"
#include "Engine/Graphics/GPUBufferDescription.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Serialization/Serialization.h"
diff --git a/Source/Engine/Localization/LocalizedString.h b/Source/Engine/Localization/LocalizedString.h
index 1af61283a..00a48c26d 100644
--- a/Source/Engine/Localization/LocalizedString.h
+++ b/Source/Engine/Localization/LocalizedString.h
@@ -34,9 +34,9 @@ public:
LocalizedString& operator=(const StringView& value);
LocalizedString& operator=(String&& value) noexcept;
- friend bool operator==(const LocalizedString& a, const LocalizedString& b)
+ bool operator==(const LocalizedString& other) const
{
- return a.Id == b.Id && a.Value == b.Value;
+ return Id == other.Id && Value == other.Value;
}
friend bool operator!=(const LocalizedString& a, const LocalizedString& b)
diff --git a/Source/Engine/Particles/Graph/GPU/GPUParticles.cpp b/Source/Engine/Particles/Graph/GPU/GPUParticles.cpp
index a5e9948f5..a59a733c1 100644
--- a/Source/Engine/Particles/Graph/GPU/GPUParticles.cpp
+++ b/Source/Engine/Particles/Graph/GPU/GPUParticles.cpp
@@ -8,6 +8,7 @@
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/GPUBuffer.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Graphics/Shaders/GPUConstantBuffer.h"
diff --git a/Source/Engine/Particles/Particles.cpp b/Source/Engine/Particles/Particles.cpp
index 82c747846..faf8ee270 100644
--- a/Source/Engine/Particles/Particles.cpp
+++ b/Source/Engine/Particles/Particles.cpp
@@ -12,6 +12,7 @@
#include "Engine/Graphics/GPUPipelineStatePermutations.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Graphics/DynamicBuffer.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/RenderTools.h"
#include "Engine/Profiler/ProfilerCPU.h"
#include "Engine/Renderer/DrawCall.h"
diff --git a/Source/Engine/Profiler/ProfilerGPU.cpp b/Source/Engine/Profiler/ProfilerGPU.cpp
index cbad72e75..fa9ebd94a 100644
--- a/Source/Engine/Profiler/ProfilerGPU.cpp
+++ b/Source/Engine/Profiler/ProfilerGPU.cpp
@@ -3,9 +3,11 @@
#if COMPILE_WITH_PROFILER
#include "ProfilerGPU.h"
+#include "Engine/Core/Log.h"
#include "Engine/Engine/Engine.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/GPUTimerQuery.h"
+#include "Engine/Graphics/GPUContext.h"
RenderStatsData RenderStatsData::Counter;
diff --git a/Source/Engine/Render2D/FontTextureAtlas.cpp b/Source/Engine/Render2D/FontTextureAtlas.cpp
index 88bc47e0d..75e63dda0 100644
--- a/Source/Engine/Render2D/FontTextureAtlas.cpp
+++ b/Source/Engine/Render2D/FontTextureAtlas.cpp
@@ -6,6 +6,7 @@
#include "Engine/Graphics/PixelFormat.h"
#include "Engine/Graphics/PixelFormatExtensions.h"
#include "Engine/Graphics/GPUDevice.h"
+#include "Engine/Graphics/Async/GPUTask.h"
REGISTER_BINARY_ASSET(FontTextureAtlas, "FlaxEngine.FontTextureAtlas", true);
diff --git a/Source/Engine/Render2D/Render2D.cpp b/Source/Engine/Render2D/Render2D.cpp
index d929bdb5c..200a77121 100644
--- a/Source/Engine/Render2D/Render2D.cpp
+++ b/Source/Engine/Render2D/Render2D.cpp
@@ -20,6 +20,7 @@
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Graphics/Shaders/GPUConstantBuffer.h"
#include "Engine/Animations/AnimationUtils.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Half.h"
#include "Engine/Core/Math/Math.h"
#include "Engine/Engine/EngineService.h"
diff --git a/Source/Engine/Renderer/Editor/LightmapUVsDensity.cpp b/Source/Engine/Renderer/Editor/LightmapUVsDensity.cpp
index 44b947906..2e8232762 100644
--- a/Source/Engine/Renderer/Editor/LightmapUVsDensity.cpp
+++ b/Source/Engine/Renderer/Editor/LightmapUVsDensity.cpp
@@ -6,6 +6,7 @@
#include "Engine/Content/Content.h"
#include "Engine/Content/Assets/Model.h"
#include "Engine/Graphics/GPUDevice.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUPipelineState.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Graphics/Shaders/GPUConstantBuffer.h"
diff --git a/Source/Engine/Renderer/Editor/QuadOverdrawPass.cpp b/Source/Engine/Renderer/Editor/QuadOverdrawPass.cpp
index cd1918988..3033e4afe 100644
--- a/Source/Engine/Renderer/Editor/QuadOverdrawPass.cpp
+++ b/Source/Engine/Renderer/Editor/QuadOverdrawPass.cpp
@@ -8,6 +8,7 @@
#include "Engine/Content/Assets/Material.h"
#include "Engine/Level/Actors/Decal.h"
#include "Engine/Graphics/GPUDevice.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Graphics/RenderBuffers.h"
diff --git a/Source/Engine/Renderer/Editor/VertexColors.cpp b/Source/Engine/Renderer/Editor/VertexColors.cpp
index 4b4a8fc3c..173fbf472 100644
--- a/Source/Engine/Renderer/Editor/VertexColors.cpp
+++ b/Source/Engine/Renderer/Editor/VertexColors.cpp
@@ -5,6 +5,7 @@
#include "VertexColors.h"
#include "Engine/Content/Content.h"
#include "Engine/Graphics/GPUDevice.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUPipelineState.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Graphics/Shaders/GPUConstantBuffer.h"
diff --git a/Source/Engine/Renderer/ForwardPass.cpp b/Source/Engine/Renderer/ForwardPass.cpp
index b853b71c4..214d725d9 100644
--- a/Source/Engine/Renderer/ForwardPass.cpp
+++ b/Source/Engine/Renderer/ForwardPass.cpp
@@ -6,6 +6,7 @@
#include "Engine/Content/Assets/Model.h"
#include "Engine/Content/Assets/Shader.h"
#include "Engine/Content/Content.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/RenderBuffers.h"
#include "Engine/Graphics/RenderTargetPool.h"
diff --git a/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp b/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp
index 979e33a1c..ecd104bd4 100644
--- a/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp
+++ b/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp
@@ -14,6 +14,7 @@
#include "Engine/Content/Content.h"
#include "Engine/Debug/DebugDraw.h"
#include "Engine/Engine/Time.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/Graphics.h"
#include "Engine/Graphics/RenderTask.h"
diff --git a/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp b/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp
index 81bfbe831..d6901b7ee 100644
--- a/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp
+++ b/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp
@@ -11,10 +11,12 @@
#include "Engine/Engine/Engine.h"
#include "Engine/Content/Content.h"
#include "Engine/Core/Config/GraphicsSettings.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/RenderTask.h"
#include "Engine/Graphics/RenderBuffers.h"
#include "Engine/Graphics/RenderTargetPool.h"
+#include "Engine/Graphics/Async/GPUSyncPoint.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
#include "Engine/Level/Actors/StaticModel.h"
#include "Engine/Level/Scene/SceneRendering.h"
diff --git a/Source/Engine/Renderer/GlobalSignDistanceFieldPass.cpp b/Source/Engine/Renderer/GlobalSignDistanceFieldPass.cpp
index 5e724388b..48427b8ed 100644
--- a/Source/Engine/Renderer/GlobalSignDistanceFieldPass.cpp
+++ b/Source/Engine/Renderer/GlobalSignDistanceFieldPass.cpp
@@ -6,6 +6,7 @@
#include "Engine/Core/Collections/HashSet.h"
#include "Engine/Engine/Engine.h"
#include "Engine/Content/Content.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/Graphics.h"
#include "Engine/Graphics/RenderTask.h"
@@ -117,9 +118,9 @@ struct RasterizeChunkKey
Hash += RasterizeChunkKeyHashResolution * RasterizeChunkKeyHashResolution * RasterizeChunkKeyHashResolution;
}
- friend bool operator==(const RasterizeChunkKey& a, const RasterizeChunkKey& b)
+ bool operator==(const RasterizeChunkKey& other) const
{
- return a.Hash == b.Hash && a.Coord == b.Coord && a.Layer == b.Layer;
+ return Hash == other.Hash && Coord == other.Coord && Layer == other.Layer;
}
};
diff --git a/Source/Engine/Renderer/LightPass.cpp b/Source/Engine/Renderer/LightPass.cpp
index 5f0bf9de8..0d7fccb47 100644
--- a/Source/Engine/Renderer/LightPass.cpp
+++ b/Source/Engine/Renderer/LightPass.cpp
@@ -9,6 +9,7 @@
#include "Engine/Graphics/RenderTargetPool.h"
#include "Engine/Content/Assets/CubeTexture.h"
#include "Engine/Content/Content.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/RenderTask.h"
PACK_STRUCT(struct PerLight{
diff --git a/Source/Engine/Renderer/ReflectionsPass.cpp b/Source/Engine/Renderer/ReflectionsPass.cpp
index f453e1a41..952f45e54 100644
--- a/Source/Engine/Renderer/ReflectionsPass.cpp
+++ b/Source/Engine/Renderer/ReflectionsPass.cpp
@@ -6,6 +6,7 @@
#include "ScreenSpaceReflectionsPass.h"
#include "Engine/Core/Collections/Sorting.h"
#include "Engine/Content/Content.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/RenderBuffers.h"
#include "Engine/Graphics/RenderTools.h"
#include "Engine/Graphics/RenderTask.h"
diff --git a/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp b/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp
index f809707b2..4464ce599 100644
--- a/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp
+++ b/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp
@@ -15,6 +15,7 @@
#include "Engine/Platform/Window.h"
#include "Utils/MultiScaler.h"
#include "Engine/Engine/Engine.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/RenderTask.h"
#define RESOLVE_PASS_OUTPUT_FORMAT PixelFormat::R16G16B16A16_Float
diff --git a/Source/Engine/Renderer/ShadowsPass.cpp b/Source/Engine/Renderer/ShadowsPass.cpp
index 9449c2290..1d7ea1c6c 100644
--- a/Source/Engine/Renderer/ShadowsPass.cpp
+++ b/Source/Engine/Renderer/ShadowsPass.cpp
@@ -8,6 +8,7 @@
#include "Engine/Graphics/RenderBuffers.h"
#include "Engine/Graphics/PixelFormatExtensions.h"
#include "Engine/Content/Content.h"
+#include "Engine/Graphics/GPUContext.h"
#if USE_EDITOR
#include "Engine/Renderer/Lightmaps.h"
#endif
diff --git a/Source/Engine/Renderer/Utils/BitonicSort.cpp b/Source/Engine/Renderer/Utils/BitonicSort.cpp
index 08d9ba843..4ebe03e6b 100644
--- a/Source/Engine/Renderer/Utils/BitonicSort.cpp
+++ b/Source/Engine/Renderer/Utils/BitonicSort.cpp
@@ -3,6 +3,7 @@
#include "BitonicSort.h"
#include "Engine/Content/Content.h"
#include "Engine/Graphics/GPUBuffer.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPULimits.h"
#define INDIRECT_ARGS_STRIDE 12
diff --git a/Source/Engine/Renderer/Utils/MultiScaler.cpp b/Source/Engine/Renderer/Utils/MultiScaler.cpp
index 2b8d8ae80..9f65c8fd6 100644
--- a/Source/Engine/Renderer/Utils/MultiScaler.cpp
+++ b/Source/Engine/Renderer/Utils/MultiScaler.cpp
@@ -3,6 +3,7 @@
#include "MultiScaler.h"
#include "Engine/Graphics/Textures/GPUTexture.h"
#include "Engine/Content/Content.h"
+#include "Engine/Graphics/GPUContext.h"
PACK_STRUCT(struct Data {
Float2 TexelSize;
diff --git a/Source/Engine/Renderer/VolumetricFogPass.cpp b/Source/Engine/Renderer/VolumetricFogPass.cpp
index 6fb9c3ce3..552103b14 100644
--- a/Source/Engine/Renderer/VolumetricFogPass.cpp
+++ b/Source/Engine/Renderer/VolumetricFogPass.cpp
@@ -11,6 +11,7 @@
#include "Engine/Content/Assets/CubeTexture.h"
#include "Engine/Content/Content.h"
#include "Engine/Engine/Engine.h"
+#include "Engine/Graphics/GPUContext.h"
// Must match shader source
int32 VolumetricFogGridInjectionGroupSize = 4;
diff --git a/Source/Engine/ShadowsOfMordor/Builder.BuildCache.cpp b/Source/Engine/ShadowsOfMordor/Builder.BuildCache.cpp
index 8b5d694ab..a7da9908a 100644
--- a/Source/Engine/ShadowsOfMordor/Builder.BuildCache.cpp
+++ b/Source/Engine/ShadowsOfMordor/Builder.BuildCache.cpp
@@ -6,6 +6,7 @@
#include "Engine/Content/Content.h"
#include "Engine/ContentImporters/AssetsImportingManager.h"
#include "Engine/ContentImporters/ImportTexture.h"
+#include "Engine/Core/Log.h"
#include "Engine/Graphics/GPUBuffer.h"
#include "Engine/Graphics/GPUBufferDescription.h"
#include "Engine/Graphics/GPUDevice.h"
diff --git a/Source/Engine/ShadowsOfMordor/Builder.Charts.cpp b/Source/Engine/ShadowsOfMordor/Builder.Charts.cpp
index 9586ac997..306ba3ddc 100644
--- a/Source/Engine/ShadowsOfMordor/Builder.Charts.cpp
+++ b/Source/Engine/ShadowsOfMordor/Builder.Charts.cpp
@@ -6,6 +6,7 @@
#include "Engine/Core/Math/Math.h"
#include "Engine/Core/Collections/Sorting.h"
#include "Engine/ContentImporters/ImportTexture.h"
+#include "Engine/Core/Log.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Level/SceneQuery.h"
#include "Engine/Level/Scene/Lightmap.h"
diff --git a/Source/Engine/ShadowsOfMordor/Builder.Jobs.cpp b/Source/Engine/ShadowsOfMordor/Builder.Jobs.cpp
index cffbb6043..ab210a451 100644
--- a/Source/Engine/ShadowsOfMordor/Builder.Jobs.cpp
+++ b/Source/Engine/ShadowsOfMordor/Builder.Jobs.cpp
@@ -1,6 +1,7 @@
// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved.
#include "Builder.h"
+#include "Engine/Core/Log.h"
#include "Engine/Core/Types/TimeSpan.h"
#include "Engine/Engine/Engine.h"
#include "Engine/Renderer/Renderer.h"
diff --git a/Source/Engine/ShadowsOfMordor/Builder.cpp b/Source/Engine/ShadowsOfMordor/Builder.cpp
index 3c82a8ba1..e62f9cc5c 100644
--- a/Source/Engine/ShadowsOfMordor/Builder.cpp
+++ b/Source/Engine/ShadowsOfMordor/Builder.cpp
@@ -5,11 +5,14 @@
#include "Engine/Level/Scene/Scene.h"
#include "Engine/Level/Level.h"
#include "Engine/Content/Content.h"
+#include "Engine/Core/Log.h"
+#include "Engine/Core/Types/TimeSpan.h"
#include "Engine/Engine/EngineService.h"
#include "Engine/Engine/Globals.h"
#include "Engine/Threading/ThreadSpawner.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Graphics/GPUBuffer.h"
+#include "Engine/Graphics/GPUContext.h"
#include "Engine/Graphics/GPUPipelineState.h"
#include "Engine/Graphics/RenderTargetPool.h"
#include "Engine/Graphics/Shaders/GPUShader.h"
diff --git a/Source/Engine/Terrain/TerrainManager.cpp b/Source/Engine/Terrain/TerrainManager.cpp
index 2d8af5153..58baa2f98 100644
--- a/Source/Engine/Terrain/TerrainManager.cpp
+++ b/Source/Engine/Terrain/TerrainManager.cpp
@@ -12,6 +12,7 @@
#include "Engine/Engine/EngineService.h"
#include "Engine/Content/Assets/MaterialBase.h"
#include "Engine/Content/AssetReference.h"
+#include "Engine/Core/Log.h"
#include "Engine/Renderer/DrawCall.h"
// Must match structure defined in Terrain.shader
diff --git a/Source/Engine/Tools/TextureTool/TextureTool.DirectXTex.cpp b/Source/Engine/Tools/TextureTool/TextureTool.DirectXTex.cpp
index 4b5fb4897..7baa7493c 100644
--- a/Source/Engine/Tools/TextureTool/TextureTool.DirectXTex.cpp
+++ b/Source/Engine/Tools/TextureTool/TextureTool.DirectXTex.cpp
@@ -9,6 +9,7 @@
#include "Engine/Platform/CriticalSection.h"
#include "Engine/Platform/ConditionVariable.h"
#include "Engine/Graphics/RenderTools.h"
+#include "Engine/Graphics/Async/GPUTask.h"
#include "Engine/Graphics/Textures/TextureUtils.h"
#include "Engine/Graphics/Textures/TextureData.h"
#include "Engine/Graphics/PixelFormatExtensions.h"