From 40f3072ff9d5de4f045d1529b67c3ebce4095106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Fri, 30 Oct 2020 23:07:21 +0100 Subject: [PATCH] Renderer: Add RenderPipeline::GetPipelineInfo --- include/Nazara/OpenGLRenderer/OpenGLRenderPipeline.hpp | 2 +- include/Nazara/Renderer/RenderPipeline.hpp | 4 +++- include/Nazara/VulkanRenderer/VulkanRenderPipeline.hpp | 2 ++ include/Nazara/VulkanRenderer/VulkanRenderPipeline.inl | 4 ++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/include/Nazara/OpenGLRenderer/OpenGLRenderPipeline.hpp b/include/Nazara/OpenGLRenderer/OpenGLRenderPipeline.hpp index ddc6526af..3c40eca7a 100644 --- a/include/Nazara/OpenGLRenderer/OpenGLRenderPipeline.hpp +++ b/include/Nazara/OpenGLRenderer/OpenGLRenderPipeline.hpp @@ -24,7 +24,7 @@ namespace Nz void Apply(const GL::Context& context) const; - inline const RenderPipelineInfo& GetPipelineInfo() const; + inline const RenderPipelineInfo& GetPipelineInfo() const override; private: RenderPipelineInfo m_pipelineInfo; diff --git a/include/Nazara/Renderer/RenderPipeline.hpp b/include/Nazara/Renderer/RenderPipeline.hpp index 82f08e7c4..59981f831 100644 --- a/include/Nazara/Renderer/RenderPipeline.hpp +++ b/include/Nazara/Renderer/RenderPipeline.hpp @@ -22,7 +22,7 @@ namespace Nz }; std::shared_ptr pipelineLayout; - std::vector> shaderStages; + std::vector> shaderStages; std::vector vertexBuffers; }; @@ -31,6 +31,8 @@ namespace Nz public: RenderPipeline() = default; virtual ~RenderPipeline(); + + virtual const RenderPipelineInfo& GetPipelineInfo() const = 0; }; } diff --git a/include/Nazara/VulkanRenderer/VulkanRenderPipeline.hpp b/include/Nazara/VulkanRenderer/VulkanRenderPipeline.hpp index 8165d56f0..df48fe046 100644 --- a/include/Nazara/VulkanRenderer/VulkanRenderPipeline.hpp +++ b/include/Nazara/VulkanRenderer/VulkanRenderPipeline.hpp @@ -28,6 +28,8 @@ namespace Nz VkPipeline Get(const Vk::RenderPass& renderPass) const; + inline const RenderPipelineInfo& GetPipelineInfo() const override; + static std::vector BuildColorBlendAttachmentStateList(const RenderPipelineInfo& pipelineInfo); static VkPipelineColorBlendStateCreateInfo BuildColorBlendInfo(const RenderPipelineInfo& pipelineInfo, const std::vector& attachmentState); static VkPipelineDepthStencilStateCreateInfo BuildDepthStencilInfo(const RenderPipelineInfo& pipelineInfo); diff --git a/include/Nazara/VulkanRenderer/VulkanRenderPipeline.inl b/include/Nazara/VulkanRenderer/VulkanRenderPipeline.inl index 00c03d4d2..954464855 100644 --- a/include/Nazara/VulkanRenderer/VulkanRenderPipeline.inl +++ b/include/Nazara/VulkanRenderer/VulkanRenderPipeline.inl @@ -7,6 +7,10 @@ namespace Nz { + inline const RenderPipelineInfo& VulkanRenderPipeline::GetPipelineInfo() const + { + return m_pipelineInfo; + } } #include