From 8a0ed5e7be834297a04db9fdfa88eca926552c3f Mon Sep 17 00:00:00 2001 From: Gregory Wells Date: Sun, 3 Aug 2025 10:19:42 -0400 Subject: [PATCH] fix surface creation --- depends/Dispatcher | 1 - projects/apis/metal/src/surface/metal_surface.h | 1 + .../vulkan/src/vulkan_surface/vulkan_surface.h | 1 + projects/core/src/window_surface/gryphn_surface.c | 14 ++++++++------ .../gryphn_surface_create_functions.c | 1 + 5 files changed, 11 insertions(+), 7 deletions(-) delete mode 160000 depends/Dispatcher diff --git a/depends/Dispatcher b/depends/Dispatcher deleted file mode 160000 index c08c8f9..0000000 --- a/depends/Dispatcher +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c08c8f94efe4b69378945c83e3e2f903035f956d diff --git a/projects/apis/metal/src/surface/metal_surface.h b/projects/apis/metal/src/surface/metal_surface.h index 8124627..1608f95 100644 --- a/projects/apis/metal/src/surface/metal_surface.h +++ b/projects/apis/metal/src/surface/metal_surface.h @@ -1,5 +1,6 @@ #pragma once #include "window_surface/gryphn_surface.h" +#include "window_surface/gryphn_surface_create_functions.h" #import typedef struct gnPlatformWindowSurface_t { diff --git a/projects/apis/vulkan/src/vulkan_surface/vulkan_surface.h b/projects/apis/vulkan/src/vulkan_surface/vulkan_surface.h index 54edcb3..15a6842 100644 --- a/projects/apis/vulkan/src/vulkan_surface/vulkan_surface.h +++ b/projects/apis/vulkan/src/vulkan_surface/vulkan_surface.h @@ -1,5 +1,6 @@ #pragma once #include +#include #include typedef struct gnPlatformWindowSurface_t { diff --git a/projects/core/src/window_surface/gryphn_surface.c b/projects/core/src/window_surface/gryphn_surface.c index 1b9cc9f..3911c33 100644 --- a/projects/core/src/window_surface/gryphn_surface.c +++ b/projects/core/src/window_surface/gryphn_surface.c @@ -1,4 +1,5 @@ #include "gryphn_surface.h" +#include "loader/src/gryphn_instance_functions.h" void gnDestroyWindowSurface(gnWindowSurfaceHandle windowSurface) { windowSurface->instance->callingLayer->instanceFunctions._gnDestroyWindowSurface(windowSurface); @@ -9,7 +10,7 @@ gnSurfaceFormat* gnGetSupportedSurfaceFormats( gnPhysicalDevice device, uint32_t* formatCount ) { - gnSurfaceDetails surfaceDetails = windowSurface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(windowSurface, device); + gnSurfaceDetails surfaceDetails = gnGetSurfaceDetails(windowSurface, device); *formatCount = surfaceDetails.formatCount; return surfaceDetails.formats; } @@ -53,17 +54,16 @@ gnSurfaceFormat gnGetPreferredSurfaceFormat( } uint32_t gnGetMinImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevice device) { - gnSurfaceDetails surfaceDetails = surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device); + gnSurfaceDetails surfaceDetails = gnGetSurfaceDetails(surface, device); return surfaceDetails.minImageCount; } uint32_t gnGetMaxImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevice device) { - gnSurfaceDetails surfaceDetails = surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device); + gnSurfaceDetails surfaceDetails = gnGetSurfaceDetails(surface, device); return surfaceDetails.maxImageCount; } uint32_t gnGetPreferredImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevice device) { - gnSurfaceDetails surfaceDetails = surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device); - + gnSurfaceDetails surfaceDetails = gnGetSurfaceDetails(surface, device); uint32_t imageCount = surfaceDetails.minImageCount + 1; if (surfaceDetails.maxImageCount > 0 && imageCount > surfaceDetails.maxImageCount) { imageCount = surfaceDetails.maxImageCount; @@ -71,4 +71,6 @@ uint32_t gnGetPreferredImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevi return imageCount; } -gnSurfaceDetails gnGetSurfaceDetails(gnWindowSurfaceHandle surface, gnPhysicalDevice device) { return surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device); } +gnSurfaceDetails gnGetSurfaceDetails(gnWindowSurfaceHandle surface, gnPhysicalDevice device) { + return surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device); +} diff --git a/projects/core/src/window_surface/gryphn_surface_create_functions.c b/projects/core/src/window_surface/gryphn_surface_create_functions.c index 66c7fd2..eca07fb 100644 --- a/projects/core/src/window_surface/gryphn_surface_create_functions.c +++ b/projects/core/src/window_surface/gryphn_surface_create_functions.c @@ -1,6 +1,7 @@ #include "gryphn_surface_create_functions.h" #include "gryphn_surface.h" #include "instance/gryphn_instance.h" +#include "loader/src/gryphn_instance_functions.h" #ifdef GN_PLATFORM_LINUX #ifdef GN_WINDOW_X11