diff --git a/rendering_api/metal/src/core/renderpass/metal_render_pass.h b/rendering_api/metal/src/core/renderpass/metal_render_pass.h new file mode 100644 index 0000000..45e5fe7 --- /dev/null +++ b/rendering_api/metal/src/core/renderpass/metal_render_pass.h @@ -0,0 +1,7 @@ +#pragma once +#include "core/renderpass/gryphn_render_pass_descriptor.h" +#import + +typedef struct gnPlatformRenderPassDescriptor_t { + MTLRenderPassDescriptor* passDescriptor; +} gnPlatformRenderPassDescriptor; diff --git a/rendering_api/metal/src/core/renderpass/metal_render_pass.m b/rendering_api/metal/src/core/renderpass/metal_render_pass.m new file mode 100644 index 0000000..d327747 --- /dev/null +++ b/rendering_api/metal/src/core/renderpass/metal_render_pass.m @@ -0,0 +1,13 @@ +#include "metal_render_pass.h" + +gnReturnCode gnCreateRenderPassDescriptorFn(struct gnRenderPassDescriptor_t* renderPass, struct gnOutputDevice_t* device, struct gnRenderPassDescriptorInfo_t info) { + renderPass->renderPassDescriptor = malloc(sizeof(gnPlatformRenderPassDescriptor)); + renderPass->renderPassDescriptor->passDescriptor = [[MTLRenderPassDescriptor alloc] init]; + + return GN_SUCCESS; +} + +void gnDestroyRenderPassDescriptorFn(struct gnRenderPassDescriptor_t* renderPass) { + [renderPass->renderPassDescriptor->passDescriptor release]; + free(renderPass->renderPassDescriptor); +}