diff --git a/src/Engine/Graphics/Graphics.h b/src/Engine/Graphics/Graphics.h index 8831d44..87e8632 100644 --- a/src/Engine/Graphics/Graphics.h +++ b/src/Engine/Graphics/Graphics.h @@ -54,6 +54,7 @@ public: virtual ORenderPass createRenderPass(RenderTargetLayout layout, Array dependencies, PViewport renderArea) = 0; virtual void beginRenderPass(PRenderPass renderPass) = 0; virtual void endRenderPass() = 0; + virtual void waitDeviceIdle() = 0; virtual void executeCommands(const Array& commands) = 0; virtual void executeCommands(const Array& commands) = 0; diff --git a/src/Engine/Graphics/Initializer.h b/src/Engine/Graphics/Initializer.h index d016b8b..202eeda 100644 --- a/src/Engine/Graphics/Initializer.h +++ b/src/Engine/Graphics/Initializer.h @@ -24,7 +24,7 @@ struct GraphicsInitializer : applicationName("SeeleEngine") , engineName("SeeleEngine") , windowLayoutFile(nullptr) - , layers{"VK_LAYER_LUNARG_monitor"} + , layers{} , instanceExtensions{} , deviceExtensions{"VK_KHR_swapchain"} , windowHandle(nullptr) diff --git a/src/Engine/Graphics/RenderPass/BasePass.cpp b/src/Engine/Graphics/RenderPass/BasePass.cpp index fa355f0..b2d82fd 100644 --- a/src/Engine/Graphics/RenderPass/BasePass.cpp +++ b/src/Engine/Graphics/RenderPass/BasePass.cpp @@ -12,8 +12,6 @@ #include "Material/MaterialInstance.h" #include "Graphics/Descriptor.h" #include "Graphics/Command.h" -#include -#include "Graphics/Vulkan/Graphics.h" using namespace Seele; diff --git a/src/Engine/Graphics/RenderPass/DepthPrepass.cpp b/src/Engine/Graphics/RenderPass/DepthPrepass.cpp index 3db61ab..13887f8 100644 --- a/src/Engine/Graphics/RenderPass/DepthPrepass.cpp +++ b/src/Engine/Graphics/RenderPass/DepthPrepass.cpp @@ -9,8 +9,6 @@ #include "Math/Vector.h" #include "RenderGraph.h" #include "Graphics/Command.h" -#include -#include "Graphics/Vulkan/Graphics.h" using namespace Seele; @@ -131,9 +129,8 @@ void DepthPrepass::render() commands.add(command); } } - graphics->executeCommands(commands); + //graphics->executeCommands(commands); graphics->endRenderPass(); - //vkDeviceWaitIdle(((Vulkan::Graphics*)graphics.getHandle())->getDevice()); } void DepthPrepass::endFrame() diff --git a/src/Engine/Graphics/Vulkan/Graphics.cpp b/src/Engine/Graphics/Vulkan/Graphics.cpp index 5b125b7..ecaaef4 100644 --- a/src/Engine/Graphics/Vulkan/Graphics.cpp +++ b/src/Engine/Graphics/Vulkan/Graphics.cpp @@ -111,6 +111,11 @@ void Graphics::endRenderPass() getGraphicsCommands()->submitCommands(); } +void Graphics::waitDeviceIdle() +{ + vkDeviceWaitIdle(handle); +} + void Graphics::executeCommands(const Array& commands) { getGraphicsCommands()->getCommands()->executeCommands(commands); diff --git a/src/Engine/Graphics/Vulkan/Graphics.h b/src/Engine/Graphics/Vulkan/Graphics.h index 675ffff..3abfff2 100644 --- a/src/Engine/Graphics/Vulkan/Graphics.h +++ b/src/Engine/Graphics/Vulkan/Graphics.h @@ -37,6 +37,7 @@ public: virtual Gfx::ORenderPass createRenderPass(Gfx::RenderTargetLayout layout, Array dependencies, Gfx::PViewport renderArea) override; virtual void beginRenderPass(Gfx::PRenderPass renderPass) override; virtual void endRenderPass() override; + virtual void waitDeviceIdle() override; virtual void executeCommands(const Array& commands) override; virtual void executeCommands(const Array& commands) override;