metal sync extension

This commit is contained in:
Greg Wells
2025-07-09 21:37:22 -04:00
parent 8d0b9ce8bd
commit 7d22da040a
14 changed files with 109 additions and 21 deletions

View File

@@ -35,9 +35,6 @@ gnDeviceFunctions loadMetalDeviceFunctions() {
._gnCreateCommandPool = createMetalCommandPool,
._gnDestroyCommandPool = destroyMetalCommandPool,
._gnCreateSemaphore = createMetalSemaphore,
._gnDestroySemaphore = destroyMetalSemaphore,
._gnCreateBuffer = createMetalBuffer,
._gnBufferData = metalBufferData,
._gnMapBuffer = mapMetalBuffer,
@@ -55,11 +52,6 @@ gnDeviceFunctions loadMetalDeviceFunctions() {
._gnTextureData = metalTextureData,
._gnDestroyTexture = metalDestroyTexture,
._gnCreateFence = createMetalFence,
._gnWaitForFence = waitForMetalFence,
._gnResetFence = resetMetalFence,
._gnDestroyFence = destroyMetalFence,
._gnSubmit = metalSubmit,
._gnPresent = metalPresent,

View File

@@ -2,7 +2,9 @@
#include "loader/src/gryphn_instance_functions.h"
#include "loader/src/gryphn_device_functions.h"
#include "loader/src/gryphn_command_functions.h"
#include "extensions/synchronization/loader/sync_functions.h"
gnInstanceFunctions loadMetalInstanceFunctions();
gnDeviceFunctions loadMetalDeviceFunctions();
gnCommandFunctions loadMetalCommandFunctions();
gnSyncExtFunctions loadMetalSyncFunctions();

View File

@@ -0,0 +1,23 @@
#include "metal_loader.h"
#include <sync/semaphore/metal_semaphore.h>
#include <sync/fence/metal_fence.h>
#include "presentation_queue/metal_presentation_queue.h"
#include "submit/metal_submit.h"
#include "present/metal_present.h"
gnSyncExtFunctions loadMetalSyncFunctions() {
return (gnSyncExtFunctions){
._gnPresentationQueueGetImageAsync = getMetalPresentQueueImageAsync,
._gnCreateSemaphore = createMetalSemaphore,
._gnDestroySemaphore = destroyMetalSemaphore,
._gnCreateFence = createMetalFence,
._gnWaitForFence = waitForMetalFence,
._gnResetFence = resetMetalFence,
._gnDestroyFence = destroyMetalFence,
._gnSubmitSync = metalSyncSubmit,
._gnPresentSync = metalPresentSync
};
}