mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-04 04:48:40 +00:00
begin moving call stack computation / cache to artifact cache; fix incorrect broadcast val location
This commit is contained in:
@@ -11495,8 +11495,10 @@ rd_frame(void)
|
||||
//////////////////////////////
|
||||
//- rjf: push frame scopes
|
||||
//
|
||||
Access *frame_access_restore = rd_state->frame_access;
|
||||
DI_Scope *frame_di_scope_restore = rd_state->frame_di_scope;
|
||||
CTRL_Scope *frame_ctrl_scope_restore = rd_state->frame_ctrl_scope;
|
||||
rd_state->frame_access = access_open();
|
||||
rd_state->frame_di_scope = di_scope_open();
|
||||
rd_state->frame_ctrl_scope = ctrl_scope_open();
|
||||
rd_state->got_frame_call_stack_tree = 0;
|
||||
@@ -17323,8 +17325,10 @@ rd_frame(void)
|
||||
// will sleep for vsync, and we do not want to hold handles for long,
|
||||
// since eviction threads may be waiting to get rid of stuff.
|
||||
//
|
||||
access_close(rd_state->frame_access);
|
||||
di_scope_close(rd_state->frame_di_scope);
|
||||
ctrl_scope_close(rd_state->frame_ctrl_scope);
|
||||
rd_state->frame_access = frame_access_restore;
|
||||
rd_state->frame_di_scope = frame_di_scope_restore;
|
||||
rd_state->frame_ctrl_scope = frame_ctrl_scope_restore;
|
||||
|
||||
|
||||
@@ -599,6 +599,7 @@ struct RD_State
|
||||
|
||||
// rjf: frame parameters
|
||||
F32 frame_dt;
|
||||
Access *frame_access;
|
||||
DI_Scope *frame_di_scope;
|
||||
CTRL_Scope *frame_ctrl_scope;
|
||||
CTRL_CallStackTree frame_call_stack_tree;
|
||||
|
||||
@@ -968,7 +968,7 @@ E_TYPE_IREXT_FUNCTION_DEF(call_stack)
|
||||
B32 call_stack_high_priority = ctrl_handle_match(entity->handle, rd_base_regs()->thread);
|
||||
accel->arch = entity->arch;
|
||||
accel->process = ctrl_process_from_entity(entity)->handle;
|
||||
accel->call_stack = ctrl_call_stack_from_thread(rd_state->frame_ctrl_scope, entity->handle, call_stack_high_priority, call_stack_high_priority ? rd_state->frame_eval_memread_endt_us : 0);
|
||||
accel->call_stack = ctrl_call_stack_from_thread_new(rd_state->frame_access, entity->handle, call_stack_high_priority, call_stack_high_priority ? rd_state->frame_eval_memread_endt_us : 0);
|
||||
}
|
||||
scratch_end(scratch);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user