blob: 94a637f69d6f525e6a9baa1db11793e145712979 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include "graphics.h"
#include <cstring>
#include "utils.h"
enum graphics_error_e wayc_graphics_init(struct graphics_s* graphics) {
wayc_notnull(graphics);
memset(graphics, 0, sizeof(*graphics));
VkApplicationInfo appinfo = {};
appinfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
appinfo.apiVersion = VK_API_VERSION_1_3;
VkInstanceCreateInfo createinfo = {};
createinfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
createinfo.pApplicationInfo = &appinfo;
VkResult result = vkCreateInstance(&createinfo, nullptr, &graphics->instance);
if (result != VK_SUCCESS) return GRAPHICS_ERROR_INSTANCE;
graphics->instance = VK_NULL_HANDLE;
return GRAPHICS_ERROR_NONE;
}
void wayc_graphics_deinit(struct graphics_s* graphics) {
wayc_notnull(graphics);
if (graphics->instance == nullptr) return;
vkDestroyInstance(graphics->instance, nullptr);
}
|