part 1: new cfg data structure & caches to replace rd_entity, rd_window, rd_panel, rd_view, etc.

This commit is contained in:
Ryan Fleury
2025-01-09 17:31:02 -08:00
parent 5b7c366234
commit 6ce8046029
9 changed files with 1273 additions and 1664 deletions
+4 -3
View File
@@ -191,7 +191,7 @@ RD_EntityKindFlags rd_entity_kind_flags_table[27] =
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (1*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (0*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
};
Rng1U64 rd_reg_slot_range_table[34] =
Rng1U64 rd_reg_slot_range_table[35] =
{
{0},
{OffsetOf(RD_Regs, machine), OffsetOf(RD_Regs, machine) + sizeof(CTRL_Handle)},
@@ -201,11 +201,12 @@ Rng1U64 rd_reg_slot_range_table[34] =
{OffsetOf(RD_Regs, ctrl_entity), OffsetOf(RD_Regs, ctrl_entity) + sizeof(CTRL_Handle)},
{OffsetOf(RD_Regs, window), OffsetOf(RD_Regs, window) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, panel), OffsetOf(RD_Regs, panel) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, view), OffsetOf(RD_Regs, view) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, prev_view), OffsetOf(RD_Regs, prev_view) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, tab), OffsetOf(RD_Regs, tab) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, prev_tab), OffsetOf(RD_Regs, prev_tab) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, dst_panel), OffsetOf(RD_Regs, dst_panel) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, entity), OffsetOf(RD_Regs, entity) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, entity_list), OffsetOf(RD_Regs, entity_list) + sizeof(RD_HandleList)},
{OffsetOf(RD_Regs, ev_key), OffsetOf(RD_Regs, ev_key) + sizeof(EV_Key)},
{OffsetOf(RD_Regs, unwind_count), OffsetOf(RD_Regs, unwind_count) + sizeof(U64)},
{OffsetOf(RD_Regs, inline_depth), OffsetOf(RD_Regs, inline_depth) + sizeof(U64)},
{OffsetOf(RD_Regs, file_path), OffsetOf(RD_Regs, file_path) + sizeof(String8)},
+10 -7
View File
@@ -57,11 +57,12 @@ RD_RegSlot_Thread,
RD_RegSlot_CtrlEntity,
RD_RegSlot_Window,
RD_RegSlot_Panel,
RD_RegSlot_View,
RD_RegSlot_PrevView,
RD_RegSlot_Tab,
RD_RegSlot_PrevTab,
RD_RegSlot_DstPanel,
RD_RegSlot_Entity,
RD_RegSlot_EntityList,
RD_RegSlot_EVKey,
RD_RegSlot_UnwindCount,
RD_RegSlot_InlineDepth,
RD_RegSlot_FilePath,
@@ -547,11 +548,12 @@ CTRL_Handle thread;
CTRL_Handle ctrl_entity;
RD_Handle window;
RD_Handle panel;
RD_Handle view;
RD_Handle prev_view;
RD_Handle tab;
RD_Handle prev_tab;
RD_Handle dst_panel;
RD_Handle entity;
RD_HandleList entity_list;
EV_Key ev_key;
U64 unwind_count;
U64 inline_depth;
String8 file_path;
@@ -618,11 +620,12 @@ RD_ViewRuleUIFunctionType *ui;
.ctrl_entity = rd_regs()->ctrl_entity,\
.window = rd_regs()->window,\
.panel = rd_regs()->panel,\
.view = rd_regs()->view,\
.prev_view = rd_regs()->prev_view,\
.tab = rd_regs()->tab,\
.prev_tab = rd_regs()->prev_tab,\
.dst_panel = rd_regs()->dst_panel,\
.entity = rd_regs()->entity,\
.entity_list = rd_regs()->entity_list,\
.ev_key = rd_regs()->ev_key,\
.unwind_count = rd_regs()->unwind_count,\
.inline_depth = rd_regs()->inline_depth,\
.file_path = rd_regs()->file_path,\
@@ -764,7 +767,7 @@ extern String8 d_entity_kind_name_lower_table[27];
extern String8 d_entity_kind_name_lower_plural_table[27];
extern String8 d_entity_kind_name_label_table[27];
extern RD_EntityKindFlags rd_entity_kind_flags_table[27];
extern Rng1U64 rd_reg_slot_range_table[34];
extern Rng1U64 rd_reg_slot_range_table[35];
extern RD_StringBindingPair rd_default_binding_table[110];
extern String8 rd_binding_version_remap_old_name_table[8];
extern String8 rd_binding_version_remap_new_name_table[8];