make surface, and cocoa surface there own extensions
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
Reference in New Issue
Block a user