#pragma once typedef enum gnReturnCode_t { GN_SUCCESS = 0, GN_UNLOADED_EXTENSION = -1, GN_UNLOADED_LAYER = -2, GN_UNSUPPORTED_API = -3 // GN_SUCCESS, // GN_UNKNOWN_RENDERINGAPI, // GN_UNSUPPORTED_RENDERING_API, // GN_UNSUPPORTED_IMAGE_FORMAT, // GN_UNABLE_TO_LOAD_DYNAMIC_LIBARRY, // GN_FAILED_CREATE_INSTANCE, // GN_FAILED_TO_CREATE_DEBUGGER, // GN_FAILED_TO_CREATE_DEVICE, // GN_FAILED_TO_ATTACH_WINDOW, // GN_INVALID_INSTANCE, // GN_DEBUGGER_EXISTS, // GN_NO_SUPPORTED_FORMATS, // GN_NO_SUPPORTED_PRESENT_MODES, // GN_UNKNOWN_IMAGE_FORMAT, // GN_FAILED_TO_CREATE_PRESENTATION_QUEUE, // GN_WINDOW_IN_USE, // GN_UNSUPPORTED_IMAGE_COUNT, // GN_FAILED_TO_CREATE_IMAGE_VIEW, // GN_FAILED_TO_CREATE_SHADER_MODULE, // GN_FAILED_TO_CONVERT_SHADER_CODE, // GN_FAILED_TO_FIND_ENTRY_POINT, // GN_FAILED_TO_CREATE_UNIFORM_LAYOUT, // GN_FAILED_TO_CREATE_RENDER_PASS, // GN_FAILED_TO_CREATE_GRAPHICS_PIPELINE, // GN_UNSUPPORTED_SHADER_MODULE, // GN_UNKNOWN_SUBPASS, // GN_FAILED_TO_CREATE_FRAMEBUFFER, // GN_DIVERGENT_RENDERPASS, // GN_FAILED_TO_CREATE_COMMAND_POOL, // GN_FAILED_TO_BEGIN_RECORDING, // GN_FAIELD_TO_END_RECORDING, // GN_FAILED_TO_ALLOCATE_COMMAND_BUFFERS, // GN_FAILED_TO_CREATE_FENCE, // GN_FAILED_TO_CREATE_SEMAPHORE, // GN_FAILED_TO_SUBMIT_COMMAND_BUFFER, // GN_OUT_OF_DATE_PRESENTATION_QUEUE, // GN_SUBOPTIMAL_PRESENTATION_QUEUE, // GN_FAILED_TO_CREATE_BUFFER, // GN_FAILED_TO_ALLOCATE_MEMORY, // GN_FAILED_TO_CREATE_IMAGE, // GN_FAILED_TO_CREATE_SAMPLER, // GN_FAILED_TO_LOAD_FUNCTION, // GN_FAILED_TO_INIT_OPENGL } gnReturnCode; typedef gnReturnCode gnErrorCode; static const char* gnErrorCodeToCString(enum gnReturnCode_t returnCode) { switch (returnCode) { case GN_SUCCESS: return "GN_SUCCESS"; case GN_UNKNOWN_RENDERINGAPI: return "GN_UNKNOWN_RENDERINGAPI"; case GN_UNSUPPORTED_RENDERING_API: return "GN_UNSUPPORTED_RENDERING_API"; case GN_UNABLE_TO_LOAD_DYNAMIC_LIBARRY: return "GN_UNABLE_TO_LOAD_DYNAMIC_LIBARRY"; case GN_FAILED_CREATE_INSTANCE: return "GN_FAILED_CREATE_INSTANCE"; case GN_FAILED_TO_CREATE_DEBUGGER: return "GN_FAILED_TO_CREATE_DEBUGGER"; case GN_FAILED_TO_CREATE_DEVICE: return "GN_FAILED_TO_CREATE_DEVICE"; case GN_FAILED_TO_ATTACH_WINDOW: return "GN_FAILED_TO_ATTACH_WINDOW"; case GN_INVALID_INSTANCE: return "GN_INVALID_INSTANCE"; case GN_DEBUGGER_EXISTS: return "GN_DEBUGGER_EXISTS"; case GN_NO_SUPPORTED_FORMATS: return "GN_NO_SUPPORTED_FORMATS"; case GN_NO_SUPPORTED_PRESENT_MODES: return "GN_NO_SUPPORTED_PRESENT_MODES"; case GN_UNKNOWN_IMAGE_FORMAT: return "GN_UNKNOWN_IMAGE_FORMAT"; case GN_FAILED_TO_CREATE_PRESENTATION_QUEUE: return "GN_FAILED_TO_CREATE_PRESENTATION_QUEUE"; case GN_WINDOW_IN_USE: return "GN_WINDOW_IN_USE"; case GN_UNSUPPORTED_IMAGE_COUNT: return "GN_UNSUPPORTED_IMAGE_COUNT"; case GN_FAILED_TO_CREATE_IMAGE_VIEW: return "GN_FAILED_TO_CREATE_IMAGE_VIEW"; case GN_FAILED_TO_CREATE_SHADER_MODULE: return "GN_FAILED_TO_CREATE_SHADER_MODULE"; case GN_FAILED_TO_CONVERT_SHADER_CODE: return "GN_FAILED_TO_CONVERT_SHADER_CODE"; case GN_FAILED_TO_FIND_ENTRY_POINT: return "GN_FAILED_TO_FIND_ENTRY_POINT"; case GN_FAILED_TO_CREATE_UNIFORM_LAYOUT: return "GN_FAILED_TO_CREATE_UNIFORM_LAYOUT"; case GN_FAILED_TO_CREATE_RENDER_PASS: return "GN_FAILED_TO_CREATE_RENDER_PASS"; case GN_FAILED_TO_CREATE_GRAPHICS_PIPELINE: return "GN_FAILED_TO_CREATE_GRAPHICS_PIPELINE"; case GN_UNSUPPORTED_SHADER_MODULE: return "GN_UNSUPPORTED_SHADER_MODULE"; case GN_UNKNOWN_SUBPASS: return "GN_UNKNOWN_SUBPASS"; case GN_FAILED_TO_CREATE_FRAMEBUFFER: return "GN_FAILED_TO_CREATE_FRAMEBUFFER"; case GN_DIVERGENT_RENDERPASS: return "GN_DIVERGENT_RENDERPASS"; case GN_FAILED_TO_CREATE_COMMAND_POOL: return "GN_FAILED_TO_CREATE_COMMAND_POOL"; case GN_FAILED_TO_BEGIN_RECORDING: return "GN_FAILED_TO_BEGIN_RECORDING"; case GN_FAIELD_TO_END_RECORDING: return "GN_FAIELD_TO_END_RECORDING"; case GN_FAILED_TO_ALLOCATE_COMMAND_BUFFERS: return "GN_FAILED_TO_ALLOCATE_COMMAND_BUFFERS"; case GN_FAILED_TO_CREATE_FENCE: return "GN_FAILED_TO_CREATE_FENCE"; case GN_FAILED_TO_CREATE_SEMAPHORE: return "GN_FAILED_TO_CREATE_SEMAPHORE"; case GN_FAILED_TO_SUBMIT_COMMAND_BUFFER: return "GN_FAILED_TO_SUBMIT_COMMAND_BUFFER"; case GN_OUT_OF_DATE_PRESENTATION_QUEUE: return "GN_OUT_OF_DATE_PRESENTATION_QUEUE"; case GN_SUBOPTIMAL_PRESENTATION_QUEUE: return "GN_SUBOPTIMAL_PRESENTATION_QUEUE"; case GN_FAILED_TO_ALLOCATE_MEMORY: return "GN_FAILED_TO_ALLOCATE_MEMORY"; case GN_FAILED_TO_CREATE_BUFFER: return "GN_FAILED_TO_CREATE_BUFFER"; case GN_FAILED_TO_CREATE_IMAGE: return "GN_FAILED_TO_CREATE_IMAGE"; case GN_FAILED_TO_CREATE_SAMPLER: return "GN_FAILED_TO_CREATE_SAMPLER"; case GN_FAILED_TO_LOAD_FUNCTION: return "GN_FAILED_TO_LOAD_FUNCTION"; case GN_UNSUPPORTED_IMAGE_FORMAT: return "GN_UNSUPPORTED_IMAGE_FORMAT"; case GN_FAILED_TO_INIT_OPENGL: return "GN_FAILED_TO_INIT_OPENGL"; } }