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++) {
if (strcmp(info->enabledExtensions[i], "GN_EXT_surface") == 0) {
instance->dispatchTable.createMetalSurface = metalCreateSurface;
instance->dispatchTable.destroySurface = metalDestroySurface;
}
if (strcmp(info->enabledExtensions[i], "GN_EXT_surface_cocoa") == 0) {
instance->dispatchTable.createMetalSurface = metalCreateSurface;
}
}
return GN_SUCCESS;
+4 -3
View File
@@ -33,8 +33,9 @@ void createInstance() {
}
gnBackend* backends = (gnBackend*)malloc(sizeof(gnBackend) * backendCount);
CHECK(gnGetAvaliableBackends(version, &backendCount, backends));
const char* extensions[1] = {
"GN_EXT_surface"
const char* extensions[2] = {
"GN_EXT_surface",
"GN_EXT_surface_cocoa"
};
gnInstanceCreateInfo createInfo = {
@@ -47,7 +48,7 @@ void createInstance() {
},
.enabledValidationLayerCount = 0,
.enabledValidationLayers = nullptr,
.enabledExtensionCount = 1,
.enabledExtensionCount = 2,
.enabledExtensions = extensions
};
CHECK(gnCreateInstance(&instance, &createInfo));