make surface, and cocoa surface there own extensions

This commit is contained in:
2026-05-08 15:15:13 -04:00
parent 3ad8f10f50
commit d9c1e8a345
2 changed files with 7 additions and 4 deletions
+3 -1
View File
@@ -25,9 +25,11 @@ gnReturnCode initBackend(gnInstance instance, gnInstanceCreateInfo* info) {
for (int i = 0; i < info->enabledExtensionCount; i++) { for (int i = 0; i < info->enabledExtensionCount; i++) {
if (strcmp(info->enabledExtensions[i], "GN_EXT_surface") == 0) { if (strcmp(info->enabledExtensions[i], "GN_EXT_surface") == 0) {
instance->dispatchTable.createMetalSurface = metalCreateSurface;
instance->dispatchTable.destroySurface = metalDestroySurface; instance->dispatchTable.destroySurface = metalDestroySurface;
} }
if (strcmp(info->enabledExtensions[i], "GN_EXT_surface_cocoa") == 0) {
instance->dispatchTable.createMetalSurface = metalCreateSurface;
}
} }
return GN_SUCCESS; return GN_SUCCESS;
+4 -3
View File
@@ -33,8 +33,9 @@ void createInstance() {
} }
gnBackend* backends = (gnBackend*)malloc(sizeof(gnBackend) * backendCount); gnBackend* backends = (gnBackend*)malloc(sizeof(gnBackend) * backendCount);
CHECK(gnGetAvaliableBackends(version, &backendCount, backends)); CHECK(gnGetAvaliableBackends(version, &backendCount, backends));
const char* extensions[1] = { const char* extensions[2] = {
"GN_EXT_surface" "GN_EXT_surface",
"GN_EXT_surface_cocoa"
}; };
gnInstanceCreateInfo createInfo = { gnInstanceCreateInfo createInfo = {
@@ -47,7 +48,7 @@ void createInstance() {
}, },
.enabledValidationLayerCount = 0, .enabledValidationLayerCount = 0,
.enabledValidationLayers = nullptr, .enabledValidationLayers = nullptr,
.enabledExtensionCount = 1, .enabledExtensionCount = 2,
.enabledExtensions = extensions .enabledExtensions = extensions
}; };
CHECK(gnCreateInstance(&instance, &createInfo)); CHECK(gnCreateInstance(&instance, &createInfo));