blob: dc81041b7a45f941eced6f7163afbb546f707c04 (
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
32
33
34
35
36
37
|
#include "graphics.h"
#include <cstring>
#include "utils.h"
#define WAYC_APP_NAME ""
#define WAYC_APP_VERSION 0
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.pApplicationName = WAYC_APP_NAME;
appinfo.applicationVersion = WAYC_APP_VERSION;
appinfo.pEngineName = WAYC_APP_NAME;
appinfo.engineVersion = WAYC_APP_VERSION;
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);
}
|