base layer defined type info tables experiment - can ideally be used as a more whole solution for the ctrl meta eval info stuff

This commit is contained in:
Ryan Fleury
2024-09-17 17:52:23 -07:00
parent 85a07be1ac
commit 9ae3b2eb92
9 changed files with 551 additions and 21 deletions
+15 -5
View File
@@ -10,6 +10,7 @@ typedef enum CTRL_MetaEvalDynamicKind
{
CTRL_MetaEvalDynamicKind_Null,
CTRL_MetaEvalDynamicKind_String8,
CTRL_MetaEvalDynamicKind_FrameArray,
CTRL_MetaEvalDynamicKind_COUNT,
} CTRL_MetaEvalDynamicKind;
@@ -69,6 +70,13 @@ CTRL_ExceptionCodeKind_Win32DirectXDebugLayer,
CTRL_ExceptionCodeKind_COUNT,
} CTRL_ExceptionCodeKind;
typedef struct CTRL_MetaEvalFrameArray CTRL_MetaEvalFrameArray;
struct CTRL_MetaEvalFrameArray
{
U64 *frames;
U64 count;
};
typedef struct CTRL_MetaEvalInfo CTRL_MetaEvalInfo;
struct CTRL_MetaEvalInfo
{
@@ -80,6 +88,7 @@ U32 color;
String8 label;
String8 location;
String8 condition;
CTRL_MetaEvalFrameArray callstack;
};
typedef struct CTRL_MetaEval CTRL_MetaEval;
@@ -93,14 +102,15 @@ U32 color;
U64 label;
U64 location;
U64 condition;
U64 callstack;
};
C_LINKAGE_BEGIN
extern String8 ctrl_meta_eval_member_name_table[8];
extern Rng1U64 ctrl_meta_eval_info_member_range_table[8];
extern Rng1U64 ctrl_meta_eval_member_range_table[8];
extern E_TypeKind ctrl_meta_eval_member_type_kind_table[8];
extern CTRL_MetaEvalDynamicKind ctrl_meta_eval_member_dynamic_kind_table[8];
extern String8 ctrl_meta_eval_member_name_table[9];
extern Rng1U64 ctrl_meta_eval_info_member_range_table[9];
extern Rng1U64 ctrl_meta_eval_member_range_table[9];
extern E_TypeKind ctrl_meta_eval_member_type_kind_table[9];
extern CTRL_MetaEvalDynamicKind ctrl_meta_eval_member_dynamic_kind_table[9];
extern String8 ctrl_entity_kind_display_string_table[8];
extern U32 ctrl_exception_code_kind_code_table[38];
extern String8 ctrl_exception_code_kind_display_string_table[38];