kiba-engine
error.h
1 #pragma once
2 
3 #include <kiba/core/types.h>
4 
5 enum kb_error_code {
6  KB_NO_ERROR = 0,
7  KB_GPU_ERROR_OUT_OF_HOST_MEMORY,
8  KB_GPU_ERROR_OUT_OF_DEVICE_MEMORY,
9  KB_GPU_ERROR_INITIALIZATION_FAILED,
10  KB_GPU_ERROR_VALIDATION_FAILED,
11  KB_GPU_ERROR_DEVICE_LOST,
12  KB_GPU_ERROR_MEMORY_MAP_FAILED,
13  KB_GPU_ERROR_FORMAT_NOT_SUPPORTED,
14  KB_GPU_ERROR_SURFACE_LOST,
15  KB_GPU_ERROR_NOT_PERMITTED,
16  KB_GPU_ERROR_BACKEND,
17  KB_GPU_ERROR_UNKNOWN,
18 };
19 
20 typedef struct kb_error {
21  enum kb_error_code code;
22  const char *file;
23  const char *function;
24  i32 line;
25  struct kb_error *next;
26  usize data_start;
27  usize data_end;
28 } kb_error;
29 
30 KB_API void kb_errors_reset(void);
31 
32 KB_API void kb_errors_new(enum kb_error_code code, const char *file, const char *function, i32 line);
33 KB_API void kb_errors_append(enum kb_error_code code, const char *file, const char *function, i32 line);
34 KB_API const void *kb_error_add_data(const void *src, usize size);
35 
36 KB_API kb_error *kb_errors_last_error(void);
37 KB_API void *kb_error_get_data(kb_error *error, void *dst, usize size);
Definition: error.h:20