adding device selection, buffer creation and pipeline creation to Metal backend

This commit is contained in:
2025-09-07 01:04:15 +02:00
parent 231e8f2687
commit e9f01cf268
27 changed files with 848 additions and 16 deletions

27
Sources/Backends/Metal/MetalImage.h git.filemode.normal_file
View File

@@ -0,0 +1,27 @@
// Copyright (C) 2025 kanel
// This file is part of "Pulse"
// For conditions of distribution and use, see copyright notice in LICENSE
#include <Pulse.h>
#ifdef PULSE_ENABLE_METAL_BACKEND
#ifndef PULSE_METAL_IMAGE_H_
#define PULSE_METAL_IMAGE_H_
#include "Metal.h"
typedef struct MetalImage
{
int dummy;
} MetalImage;
PulseImage MetalCreateImage(PulseDevice device, const PulseImageCreateInfo* create_infos);
bool MetalIsImageFormatValid(PulseDevice device, PulseImageFormat format, PulseImageType type, PulseImageUsageFlags usage);
bool MetalCopyImageToBuffer(PulseCommandList cmd, const PulseImageRegion* src, const PulseBufferRegion* dst);
bool MetalBlitImage(PulseCommandList cmd, const PulseImageRegion* src, const PulseImageRegion* dst);
void MetalDestroyImage(PulseDevice device, PulseImage image);
#endif // PULSE_METAL_IMAGE_H_
#endif // PULSE_ENABLE_METAL_BACKEND