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"