begin flattening d/df tick paths

This commit is contained in:
Ryan Fleury
2024-08-30 14:10:12 -07:00
parent 2ceff4293f
commit 533fd0041f
5 changed files with 59 additions and 112 deletions
+3 -7
View File
@@ -6364,12 +6364,11 @@ d_gather_root_cmds(Arena *arena)
}
internal void
d_begin_frame(Arena *arena, D_CmdList *cmds, F32 dt)
d_tick(Arena *arena, DI_Scope *di_scope, D_CmdList *cmds, F32 dt)
{
ProfBeginFunction();
d_state->frame_index += 1;
arena_clear(d_frame_arena());
d_state->frame_di_scope = di_scope_open();
d_state->frame_eval_memread_endt_us = os_now_microseconds() + 5000;
d_state->dt = dt;
d_state->time_in_seconds += dt;
@@ -8486,7 +8485,7 @@ d_begin_frame(Arena *arena, D_CmdList *cmds, F32 dt)
D_Entity *m = n->entity;
DI_Key dbgi_key = d_dbgi_key_from_module(m);
eval_modules[eval_module_idx].arch = d_arch_from_entity(m);
eval_modules[eval_module_idx].rdi = di_rdi_from_key(d_state->frame_di_scope, &dbgi_key, 0);
eval_modules[eval_module_idx].rdi = di_rdi_from_key(di_scope, &dbgi_key, 0);
eval_modules[eval_module_idx].vaddr_range = m->vaddr_rng;
eval_modules[eval_module_idx].space = d_eval_space_from_entity(d_entity_ancestor_from_kind(m, D_EntityKind_Process));
if(module == m)
@@ -8505,7 +8504,7 @@ d_begin_frame(Arena *arena, D_CmdList *cmds, F32 dt)
for(D_EntityNode *n = all_modules.first; n != 0; n = n->next, idx += 1)
{
DI_Key dbgi_key = d_dbgi_key_from_module(n->entity);
rdis[idx] = di_rdi_from_key(d_state->frame_di_scope, &dbgi_key, 0);
rdis[idx] = di_rdi_from_key(di_scope, &dbgi_key, 0);
rdis_vaddr_ranges[idx] = n->entity->vaddr_rng;
if(n->entity == module)
{
@@ -8693,8 +8692,5 @@ d_end_frame(void)
}
}
//- rjf: end scopes
di_scope_close(d_state->frame_di_scope);
ProfEnd();
}
+1 -2
View File
@@ -952,7 +952,6 @@ struct D_State
// rjf: frame info
Arena *frame_arenas[2];
DI_Scope *frame_di_scope;
// rjf: interaction registers
D_RegsNode base_regs;
@@ -1535,7 +1534,7 @@ __VA_ARGS__ \
internal void d_init(CmdLine *cmdln, D_StateDeltaHistory *hist);
internal D_CmdList d_gather_root_cmds(Arena *arena);
internal void d_begin_frame(Arena *arena, D_CmdList *cmds, F32 dt);
internal void d_tick(Arena *arena, DI_Scope *di_scope, D_CmdList *cmds, F32 dt);
internal void d_end_frame(void);
#endif // DBG_ENGINE_CORE_H