Refactor project

Crealned up some TODOs, FIXMEs etc. Added better error handling. Looks
better, feels better.
This commit is contained in:
Piotr Krygier committed 2023-10-10 10:46:12 +02:00
1 parent bd4dd74881
commit 42dc4d6fcd
29 files changed
+750 -645

No files matched your search

+26 -5
View File
@@ -14,14 +14,16 @@
#include "utilities/localization.h"
#define vulkan_error_messages vulkan_error_messages_nolocale[SELECTED_LANGUAGE]
#define vulkan_messages vulkan_messages_nolocale[SELECTED_LANGUAGE]
enum vulkan_errors_t {
enum vulkan_messages_t {
VULKAN_DEBUG_MESSENGER_SETUP_FAILED,
VULKAN_LAYER_NOT_SUPPORTED,
VULKAN_EXTENSION_NOT_SUPPORTED,
VULKAN_INTANCE_INIT_FAILED,
VULKAN_NO_PHYSICAL_DEVICES,
VULKAN_NO_SUITABLE_PHYSICAL_DEVICES,
VULKAN_BINDLESS_DESIGN_NOT_SUPPORTED,
VULKAN_QUEUE_NOT_SUPPORTED,
VULKAN_FAILED_TO_CREATE_DEVICE,
VULKAN_ALLOCATOR_CREATION_FAILED,
@@ -31,6 +33,7 @@ enum vulkan_errors_t {
VULKAN_COMMAND_BUFFER_ALLOCATION_FAILED,
VULKAN_SURFACE_CREATION_FAILED,
VULKAN_SWAPCHAIN_CREATION_FAILED,
VULKAN_ACQUIRE_SWAPCHAIN_FAILED,
VULKAN_SWAPCHAIN_IMVIEW_CREATION_FAILED,
VULKAN_SHADER_UNABLE_TO_OPEN,
VULKAN_SHADER_UNABLE_TO_CREATE_SHADER,
@@ -47,11 +50,17 @@ enum vulkan_errors_t {
VULKAN_MESH_NO_FREE,
VULKAN_MESH_INSTANCE_NO_FREE,
VULAKN_DRAW_FAILED,
LAST_MESSAGE
VULKAN_FORMAT_NOT_FOUND,
VULKAN_IMAGE_NOT_CREATED,
VULKAN_IMAGE_VIEW_NOT_CREATED,
VULKAN_MAX_TEXTURE_COUNT_REACHED,
VULKAN_LAST_MESSAGE
};
static const char vulkan_error_messages_nolocale[LAST_LANGUAGE][LAST_MESSAGE][MAX_MESSAGE_LENGHT] = {
static const char vulkan_messages_nolocale[LAST_LANGUAGE][VULKAN_LAST_MESSAGE][MAX_MESSAGE_LENGHT] = {
{/* EN_US */
/* VULKAN_DEBUG_MESSENGER_SETUP_FAILED*/
"Failed to setup debug messenger\n",
/* VULKAN_LAYER_NOT_SUPPORTED */
"Selected layer is not supported: %s\n",
/* VULKAN_EXTENSION_NOT_SUPPORTED */
@@ -62,6 +71,8 @@ static const char vulkan_error_messages_nolocale[LAST_LANGUAGE][LAST_MESSAGE][MA
"No physical graphical physical devices found in system\n",
/* VULKAN_NO_SUITABLE_PHYSICAL_DEVICES */
"No suitable physical device found\n",
/* VULKAN_BINDLESS_DESIGN_NOT_SUPPORTED */
"Required features for bindless design not supported\n",
/* VULKAN_QUEUE_NOT_SUPPORTED */
"Selected physical device does not support required queue capabilities\n",
/* VULKAN_FAILED_TO_CREATE_DEVICE */
@@ -80,6 +91,8 @@ static const char vulkan_error_messages_nolocale[LAST_LANGUAGE][LAST_MESSAGE][MA
"Failed to create window surface\n",
/* VULKAN_SWAPCHAIN_CREATION_FAILED */
"Failed to create swapchain\n",
/* VULKAN_ACQUIRE_SWAPCHAIN_FAILED */
"Failed to acquire swapchain image\n",
/* VULKAN_SWAPCHAIN_IMVIEW_CREATION_FAILED */
"Failed to create swapchain image view\n",
/* VULKAN_SHADER_UNABLE_TO_OPEN */
@@ -111,7 +124,15 @@ static const char vulkan_error_messages_nolocale[LAST_LANGUAGE][LAST_MESSAGE][MA
/* VULKAN_MESH_INSTANCE_NO_FREE */
"Could not allocate new mesh instance\n",
/* VULAKN_DRAW_FAILED */
"Failed to submit draw command buffer!",
"Failed to submit draw command buffer!\n",
/* VULKAN_ERROR_FORMAT_NOT_FOUND */
"Failed to find correct format\n",
/* VULKAN_IMAGE_NOT_CREATED */
"Failed to create image\n",
/* VULKAN_IMAGE_VIEW_NOT_CREATED */
"Failed to create image view\n",
/* VULKAN_MAX_TEXTURE_COUNT_REACHED */
"Failed to find free texture image handle\n",
}
};