Adding descriptor skeleton
This commit is contained in:
@@ -2,10 +2,14 @@ target_sources(Engine
|
|||||||
PRIVATE
|
PRIVATE
|
||||||
Command.h
|
Command.h
|
||||||
Command.mm
|
Command.mm
|
||||||
|
Descriptor.h
|
||||||
|
Descriptor.mm
|
||||||
Enums.h
|
Enums.h
|
||||||
Enums.mm
|
Enums.mm
|
||||||
Graphics.h
|
Graphics.h
|
||||||
Graphics.mm
|
Graphics.mm
|
||||||
|
Pipeline.h
|
||||||
|
Pipeline.mm
|
||||||
PrivateImpl.mm
|
PrivateImpl.mm
|
||||||
RenderPass.h
|
RenderPass.h
|
||||||
RenderPass.mm
|
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