diff --git a/src/metal/rt64_metal.mm b/src/metal/rt64_metal.mm index 62933c8..0ae6958 100644 --- a/src/metal/rt64_metal.mm +++ b/src/metal/rt64_metal.mm @@ -382,6 +382,18 @@ namespace RT64 { // TODO: Should be handled by ARC } + // MetalPipeline + + MetalPipeline::MetalPipeline(RT64::MetalDevice *device, RT64::MetalPipeline::Type type) { + assert(device != nullptr); + assert(type != Type::Unknown); + + this->device = device; + this->type = type; + } + + MetalPipeline::~MetalPipeline() { } + // MetalPool MetalPool::MetalPool(MetalDevice *device, const RenderPoolDesc &desc) { @@ -422,7 +434,7 @@ namespace RT64 { } std::unique_ptr MetalDevice::createDescriptorSet(const RenderDescriptorSetDesc &desc) { - return std::make_unique(this, desc); + return std::make_unique(this, desc); } std::unique_ptr MetalDevice::createShader(const void *data, uint64_t size, const char *entryPointName, RenderShaderFormat format) { @@ -441,6 +453,7 @@ namespace RT64 { return std::make_unique(this, desc); } + // TODO: Support Metal RT // std::unique_ptr MetalDevice::createRaytracingPipeline(const RenderRaytracingPipelineDesc &desc, const RenderPipeline *previousPipeline) { // return std::make_unique(this, desc, previousPipeline); // } @@ -466,15 +479,15 @@ namespace RT64 { } std::unique_ptr MetalDevice::createPipelineLayout(const RenderPipelineLayoutDesc &desc) { - return std::make_unique(this, desc); + return std::make_unique(this, desc); } std::unique_ptr MetalDevice::createCommandFence() { - return std::make_unique(this); + return std::make_unique(this); } std::unique_ptr MetalDevice::createFramebuffer(const RenderFramebufferDesc &desc) { - return std::make_unique(this, desc); + return std::make_unique(this, desc); } const RenderDeviceCapabilities &MetalDevice::getCapabilities() const {