Adding descriptor skeleton
This commit is contained in:
@@ -2,10 +2,14 @@ target_sources(Engine
|
||||
PRIVATE
|
||||
Command.h
|
||||
Command.mm
|
||||
Descriptor.h
|
||||
Descriptor.mm
|
||||
Enums.h
|
||||
Enums.mm
|
||||
Graphics.h
|
||||
Graphics.mm
|
||||
Pipeline.h
|
||||
Pipeline.mm
|
||||
PrivateImpl.mm
|
||||
RenderPass.h
|
||||
RenderPass.mm
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
#include "Graphics/Descriptor.h"
|
||||
|
||||
namespace Seele {
|
||||
namespace Metal {
|
||||
DECLARE_REF(Graphics)
|
||||
class DescriptorLayout : public Gfx::DescriptorLayout
|
||||
{
|
||||
public:
|
||||
DescriptorLayout(PGraphics graphics, const std::string& name);
|
||||
virtual ~DescriptorLayout();
|
||||
virtual void create();
|
||||
private:
|
||||
PGraphics graphics;
|
||||
};
|
||||
class PipelineLayout : public Gfx::PipelineLayout
|
||||
{
|
||||
public:
|
||||
private:
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
#include "Graphics/Initializer.h"
|
||||
#include "Graphics/Pipeline.h"
|
||||
#include "Metal/MTLComputePipeline.hpp"
|
||||
#include "Metal/MTLRenderPipeline.hpp"
|
||||
#include "MinimalEngine.h"
|
||||
|
||||
namespace Seele {
|
||||
namespace Metal {
|
||||
class VertexInput : public Gfx::VertexInput
|
||||
{
|
||||
public:
|
||||
VertexInput(VertexInputStateCreateInfo createInfo);
|
||||
virtual ~VertexInput();
|
||||
};
|
||||
DECLARE_REF(PipelineLayout)
|
||||
DECLARE_REF(Graphics)
|
||||
class GraphicsPipeline : public Gfx::GraphicsPipeline
|
||||
{
|
||||
public:
|
||||
GraphicsPipeline(PGraphics graphics, Gfx::LegacyPipelineCreateInfo createInfo);
|
||||
GraphicsPipeline(PGraphics graphics, Gfx::MeshPipelineCreateInfo createInfo);
|
||||
virtual ~GraphicsPipeline();
|
||||
private:
|
||||
MTL::RenderPipelineState* state;
|
||||
};
|
||||
DEFINE_REF(GraphicsPipeline)
|
||||
class ComputePipeline : public Gfx::ComputePipeline
|
||||
{
|
||||
public:
|
||||
ComputePipeline(PGraphics graphics, Gfx::ComputePipelineCreateInfo createInfo);
|
||||
virtual ~ComputePipeline();
|
||||
private:
|
||||
MTL::ComputePipelineState* state;
|
||||
};
|
||||
DEFINE_REF(ComputePipeline)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
#include "Pipeline.h"
|
||||
#include "Graphics/Initializer.h"
|
||||
#include "Graphics/Metal/Graphics.h"
|
||||
#include "Graphics/Resources.h"
|
||||
#include "Metal/MTLRenderPipeline.hpp"
|
||||
|
||||
using namespace Seele;
|
||||
using namespace Seele::Metal;
|
||||
|
||||
VertexInput::VertexInput(VertexInputStateCreateInfo createInfo)
|
||||
: Gfx::VertexInput(createInfo)
|
||||
{
|
||||
}
|
||||
|
||||
VertexInput::~VertexInput()
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
#include "Graphics/Pipeline.h"
|
||||
|
||||
namespace Seele {
|
||||
namespace Metal {
|
||||
class PipelineCache
|
||||
{
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user