actually get it to work

This commit is contained in:
Greg Wells
2025-06-26 18:04:14 -04:00
parent ab3bd566d2
commit f98dc5fead
23 changed files with 81 additions and 68 deletions

View File

@@ -1,7 +1,7 @@
#include "gryphn_surface.h"
void gnDestroyWindowSurface(gnWindowSurfaceHandle windowSurface) {
windowSurface->instance->instanceFunctions._gnDestroyWindowSurface(windowSurface);
windowSurface->instance->callingLayer->instanceFunctions._gnDestroyWindowSurface(windowSurface);
}
gnSurfaceFormat* gnGetSupportedSurfaceFormats(
@@ -9,7 +9,7 @@ gnSurfaceFormat* gnGetSupportedSurfaceFormats(
gnPhysicalDevice device,
uint32_t* formatCount
) {
gnSurfaceDetails surfaceDetails = windowSurface->instance->instanceFunctions._gnGetSurfaceDetails(windowSurface, device);
gnSurfaceDetails surfaceDetails = windowSurface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(windowSurface, device);
*formatCount = surfaceDetails.formatCount;
return surfaceDetails.formats;
}
@@ -53,16 +53,16 @@ gnSurfaceFormat gnGetPreferredSurfaceFormat(
}
uint32_t gnGetMinImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevice device) {
gnSurfaceDetails surfaceDetails = surface->instance->instanceFunctions._gnGetSurfaceDetails(surface, device);
gnSurfaceDetails surfaceDetails = surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device);
return surfaceDetails.minImageCount;
}
uint32_t gnGetMaxImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevice device) {
gnSurfaceDetails surfaceDetails = surface->instance->instanceFunctions._gnGetSurfaceDetails(surface, device);
gnSurfaceDetails surfaceDetails = surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device);
return surfaceDetails.maxImageCount;
}
uint32_t gnGetPreferredImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevice device) {
gnSurfaceDetails surfaceDetails = surface->instance->instanceFunctions._gnGetSurfaceDetails(surface, device);
gnSurfaceDetails surfaceDetails = surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device);
uint32_t imageCount = surfaceDetails.minImageCount + 1;
if (surfaceDetails.maxImageCount > 0 && imageCount > surfaceDetails.maxImageCount) {
@@ -71,4 +71,4 @@ uint32_t gnGetPreferredImageCount(gnWindowSurfaceHandle surface, gnPhysicalDevi
return imageCount;
}
gnSurfaceDetails gnGetSurfaceDetails(gnWindowSurfaceHandle surface, gnPhysicalDevice device) { return surface->instance->instanceFunctions._gnGetSurfaceDetails(surface, device); }
gnSurfaceDetails gnGetSurfaceDetails(gnWindowSurfaceHandle surface, gnPhysicalDevice device) { return surface->instance->callingLayer->instanceFunctions._gnGetSurfaceDetails(surface, device); }

View File

@@ -7,13 +7,13 @@
gnReturnCode gnCreateX11WindowSurface(gnWindowSurfaceHandle* windowSurface, gnInstanceHandle instance, gnX11WindowSurfaceInfo createInfo) {
*windowSurface = malloc(sizeof(struct gnWindowSurface_t));
(*windowSurface)->instance = instance;
return instance->instanceFunctions._gnCreateX11WindowSurface(*windowSurface, instance, createInfo);
return instance->callingLayer->instanceFunctions._gnCreateX11WindowSurface(*windowSurface, instance, createInfo);
}
#endif
#ifdef GN_WINDOW_WAYLAND
gnReturnCode gnCreateWaylandWindowSurface(gnWindowSurfaceHandle* windowSurface, gnInstanceHandle instance, struct gnWaylandWindowSurfaceInfo_t createInfo) {
*windowSurface = malloc(sizeof(struct gnWindowSurface_t));
return instance->instanceFunctions._gnCreateWaylandWindowSurface(windowSurface, instance, createInfo);
return instance->callingLayer->instanceFunctions._gnCreateWaylandWindowSurface(windowSurface, instance, createInfo);
}
#endif
#endif
@@ -22,7 +22,7 @@
#ifdef GN_PLATFORM_WIN32
gnReturnCode gnCreateWin32WindowSurface(gnWindowSurfaceHandle* windowSurface, gnInstanceHandle instance, struct gnWin32WindowSurfaceInfo_t createInfo) {
*windowSurface = malloc(sizeof(struct gnWindowSurface_t));
return instance->instanceFunctions._gnCreateWin32WindowSurface(windowSurface, instance, createInfo);
return instance->callingLayer->instanceFunctions._gnCreateWin32WindowSurface(windowSurface, instance, createInfo);
}
#endif
@@ -30,6 +30,6 @@
gnReturnCode gnCreateMacOSWindowSurface(gnWindowSurfaceHandle* windowSurface, gnInstanceHandle instance, gnMacOSWindowSurfaceInfo createInfo) {
*windowSurface = malloc(sizeof(struct gnWindowSurface_t));
(*windowSurface)->instance = instance;
return instance->instanceFunctions._gnCreateMacOSWindowSurface(*windowSurface, instance, createInfo);
return instance->callingLayer->instanceFunctions._gnCreateMacOSWindowSurface(*windowSurface, instance, createInfo);
}
#endif