re implement debugger in C
This commit is contained in:
@@ -1,17 +1,53 @@
|
||||
#pragma once
|
||||
#include "utils/strings/gryphn_string.h"
|
||||
#include "utils/gryphn_error_code.h"
|
||||
#include "core/instance/gryphn_instance.h"
|
||||
|
||||
struct gnPlatformDebugger;
|
||||
|
||||
typedef enum gnMessageSeverity_e {
|
||||
GN_MESSAGE_VERBOSE = 0x00000001,
|
||||
GN_MESSAGE_INFO = 0x00000010,
|
||||
GN_MESSAGE_WARNING = 0x00000100,
|
||||
GN_MESSAGE_ERROR = 0x00001000,
|
||||
} gnMessageSeverity;
|
||||
|
||||
typedef enum gnMessageType_e {
|
||||
GN_DEBUG_MESSAGE_GENERAL = 0x00000001,
|
||||
GN_DEBUG_MESSAGE_VALIDATION = 0x00000002,
|
||||
GN_DEBUG_MESSAGE_PERFORMANCE = 0x00000004,
|
||||
// GN_DEBUG_MESSAGE_ADDRESS_BINDING = 0x00000008, vulkan had this but imma leave it out
|
||||
} gnMessageType;
|
||||
|
||||
typedef struct gnMessageData {
|
||||
// const char* pMessageIdName;
|
||||
// int32_t messageIdNumber;
|
||||
// uint32_t queueLabelCount;
|
||||
// const VkDebugUtilsLabelEXT* pQueueLabels;
|
||||
// uint32_t cmdBufLabelCount;
|
||||
// const VkDebugUtilsLabelEXT* pCmdBufLabels;
|
||||
// uint32_t objectCount;
|
||||
// const VkDebugUtilsObjectNameInfoEXT* pObjects;
|
||||
//
|
||||
// If i ever figure out what this shit does il add it
|
||||
gnString message;
|
||||
} gnMessageData;
|
||||
|
||||
typedef gnBool (*gnDebuggerCallback)(
|
||||
gnMessageSeverity messageSeverity,
|
||||
gnMessageType messageType,
|
||||
gnMessageData messageData,
|
||||
void* userData);
|
||||
|
||||
typedef struct gnDebuggerInfo_t {
|
||||
int layerCount;
|
||||
gnString* layerNames;
|
||||
gnDebuggerCallback callback;
|
||||
void* userData;
|
||||
} gnDebuggerInfo;
|
||||
|
||||
typedef struct gnDebugger_t {
|
||||
struct gnPlatformDebugger* debugger;
|
||||
gnInstance* instance;
|
||||
} gnDebugger;
|
||||
|
||||
gnReturnCode gnCreateDebugger(gnDebugger* debugger, const struct gnDebuggerInfo_t info);
|
||||
gnReturnCode gnDestroyDebugger(gnDebugger* debugger);
|
||||
gnReturnCode gnCreateDebugger(gnDebugger* debugger, gnInstance* instance, const struct gnDebuggerInfo_t info);
|
||||
void gnDestroyDebugger(gnDebugger* debugger);
|
||||
|
Reference in New Issue
Block a user