From d4e5049d5da7a17ac061b077615fed97d0b845d8 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Thu, 10 Jun 2021 11:27:55 +0200 Subject: [PATCH] [#36] Fixed cross-include by outsourcing the enum class Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- config/Sources.cmake | 4 +++- include/vkcv/DescriptorConfig.hpp | 6 ++++-- include/vkcv/ShaderProgram.hpp | 11 +---------- include/vkcv/ShaderStage.hpp | 15 +++++++++++++++ 4 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 include/vkcv/ShaderStage.hpp diff --git a/config/Sources.cmake b/config/Sources.cmake index a5b2ddae..7632d7d8 100644 --- a/config/Sources.cmake +++ b/config/Sources.cmake @@ -32,7 +32,9 @@ set(vkcv_sources ${vkcv_include}/vkcv/SwapChain.hpp ${vkcv_source}/vkcv/SwapChain.cpp - + + ${vkcv_include}/vkcv/ShaderStage.hpp + ${vkcv_include}/vkcv/ShaderProgram.hpp ${vkcv_source}/vkcv/ShaderProgram.cpp diff --git a/include/vkcv/DescriptorConfig.hpp b/include/vkcv/DescriptorConfig.hpp index 5f33c9ad..c6d0dfd1 100644 --- a/include/vkcv/DescriptorConfig.hpp +++ b/include/vkcv/DescriptorConfig.hpp @@ -1,8 +1,10 @@ #pragma once -#include <vkcv/ShaderProgram.hpp> -#include <vkcv/Handles.hpp> + #include <vulkan/vulkan.hpp> +#include "vkcv/Handles.hpp" +#include "vkcv/ShaderStage.hpp" + namespace vkcv { struct DescriptorSet diff --git a/include/vkcv/ShaderProgram.hpp b/include/vkcv/ShaderProgram.hpp index a5586ab7..ce28cccf 100644 --- a/include/vkcv/ShaderProgram.hpp +++ b/include/vkcv/ShaderProgram.hpp @@ -13,20 +13,11 @@ #include <vulkan/vulkan.hpp> #include <spirv_cross.hpp> #include "vkcv/VertexLayout.hpp" +#include "vkcv/ShaderStage.hpp" #include "vkcv/DescriptorConfig.hpp" namespace vkcv { - enum class ShaderStage - { - VERTEX, - TESS_CONTROL, - TESS_EVAL, - GEOMETRY, - FRAGMENT, - COMPUTE - }; - struct Shader { std::vector<char> shaderCode; diff --git a/include/vkcv/ShaderStage.hpp b/include/vkcv/ShaderStage.hpp new file mode 100644 index 00000000..dca395bd --- /dev/null +++ b/include/vkcv/ShaderStage.hpp @@ -0,0 +1,15 @@ +#pragma once + +namespace vkcv { + + enum class ShaderStage + { + VERTEX, + TESS_CONTROL, + TESS_EVAL, + GEOMETRY, + FRAGMENT, + COMPUTE + }; + +} -- GitLab