From cf2da1e9ea80301771866667c3ea697d5625dba4 Mon Sep 17 00:00:00 2001 From: Greg Wells Date: Wed, 28 May 2025 21:47:26 -0400 Subject: [PATCH] metal render passes (they dont do crap) --- .../metal/src/core/renderpass/metal_render_pass.h | 7 +++++++ .../metal/src/core/renderpass/metal_render_pass.m | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 rendering_api/metal/src/core/renderpass/metal_render_pass.h create mode 100644 rendering_api/metal/src/core/renderpass/metal_render_pass.m 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); +}