Hopefully created vulkan surface.
This commit is contained in:
parent
87d20ff820
commit
25eb1f8e54
1 changed files with 13 additions and 0 deletions
13
src/main.c
13
src/main.c
|
|
@ -38,6 +38,7 @@ typedef struct Application {
|
||||||
VkPhysicalDevice physicalDevice;
|
VkPhysicalDevice physicalDevice;
|
||||||
VkDevice device;
|
VkDevice device;
|
||||||
VkQueue graphicsQueue;
|
VkQueue graphicsQueue;
|
||||||
|
VkSurfaceKHR surface;
|
||||||
} Application;
|
} Application;
|
||||||
|
|
||||||
bool checkValidationLayerSupport() {
|
bool checkValidationLayerSupport() {
|
||||||
|
|
@ -325,16 +326,27 @@ void initVulkan(Application *app) {
|
||||||
pickPhysicalDevice(app);
|
pickPhysicalDevice(app);
|
||||||
createLogicalDevice(app);
|
createLogicalDevice(app);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void createSurface(Application *app) {
|
||||||
|
if (glfwCreateWindowSurface(app->instance, app->window, NULL,
|
||||||
|
&app->surface) != VK_SUCCESS) {
|
||||||
|
fprintf(stderr, "Error creating vulkan surface in glfw window.");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void mainLoop(Application *app) {
|
void mainLoop(Application *app) {
|
||||||
while (!glfwWindowShouldClose(app->window)) {
|
while (!glfwWindowShouldClose(app->window)) {
|
||||||
glfwPollEvents();
|
glfwPollEvents();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cleanup(Application *app) {
|
void cleanup(Application *app) {
|
||||||
vkDestroyDevice(app->device, NULL);
|
vkDestroyDevice(app->device, NULL);
|
||||||
if (enableValidationLayers) {
|
if (enableValidationLayers) {
|
||||||
DestroyDebugUtilsMessengerEXT(app->instance, app->debugMessenger, NULL);
|
DestroyDebugUtilsMessengerEXT(app->instance, app->debugMessenger, NULL);
|
||||||
}
|
}
|
||||||
|
vkDestroySurfaceKHR(app->instance, app->surface, NULL);
|
||||||
vkDestroyInstance(app->instance, NULL);
|
vkDestroyInstance(app->instance, NULL);
|
||||||
glfwDestroyWindow(app->window);
|
glfwDestroyWindow(app->window);
|
||||||
glfwTerminate();
|
glfwTerminate();
|
||||||
|
|
@ -345,6 +357,7 @@ int main(void) {
|
||||||
|
|
||||||
initWindow(&app);
|
initWindow(&app);
|
||||||
initVulkan(&app);
|
initVulkan(&app);
|
||||||
|
createSurface(&app);
|
||||||
mainLoop(&app);
|
mainLoop(&app);
|
||||||
cleanup(&app);
|
cleanup(&app);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue