Files
Seele/src/Engine/Graphics/Vulkan/Pipeline.h
T
2023-10-26 18:37:29 +02:00

36 lines
907 B
C++

#pragma once
#include "Enums.h"
#include "Graphics/Resources.h"
namespace Seele
{
namespace Vulkan
{
DECLARE_REF(PipelineLayout)
DECLARE_REF(Graphics)
class GraphicsPipeline : public Gfx::GraphicsPipeline
{
public:
GraphicsPipeline(PGraphics graphics, VkPipeline handle, PPipelineLayout pipelineLayout);
virtual ~GraphicsPipeline();
void bind(VkCommandBuffer handle);
VkPipelineLayout getLayout() const;
private:
PGraphics graphics;
VkPipeline pipeline;
};
DEFINE_REF(GraphicsPipeline)
class ComputePipeline : public Gfx::ComputePipeline
{
public:
ComputePipeline(PGraphics graphics, VkPipeline handle, PPipelineLayout pipelineLayout);
virtual ~ComputePipeline();
void bind(VkCommandBuffer handle);
VkPipelineLayout getLayout() const;
private:
PGraphics graphics;
VkPipeline pipeline;
};
DEFINE_REF(ComputePipeline)
} // namespace Vulkan
} // namespace Seele