mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 05:48:40 +00:00
switch singular frame scopes to stack of frame scopes; always ensure scopes are closed before breaks in frames.
This commit is contained in:
@@ -1722,16 +1722,15 @@ ctrl_key_from_process_vaddr_range(CTRL_Handle process, Rng1U64 vaddr_range, B32
|
|||||||
range_n->vaddr_range = vaddr_range;
|
range_n->vaddr_range = vaddr_range;
|
||||||
range_n->zero_terminated = zero_terminated;
|
range_n->zero_terminated = zero_terminated;
|
||||||
range_n->id = id;
|
range_n->id = id;
|
||||||
ins_atomic_u64_inc_eval(&range_n->working_count);
|
|
||||||
node_needs_stream = 1;
|
node_needs_stream = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
node_needs_stream = (range_n->mem_gen < mem_gen);
|
node_needs_stream = (range_n->mem_gen < mem_gen);
|
||||||
if(node_needs_stream)
|
}
|
||||||
{
|
if(node_needs_stream)
|
||||||
ins_atomic_u64_inc_eval(&range_n->working_count);
|
{
|
||||||
}
|
ins_atomic_u64_inc_eval(&range_n->working_count);
|
||||||
}
|
}
|
||||||
node_working_count = &range_n->working_count;
|
node_working_count = &range_n->working_count;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -11262,15 +11262,12 @@ rd_frame(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////
|
//////////////////////////////
|
||||||
//- rjf: open frame scopes
|
//- rjf: push frame scopes
|
||||||
//
|
//
|
||||||
if(rd_state->frame_depth == 1)
|
DI_Scope *frame_di_scope_restore = rd_state->frame_di_scope;
|
||||||
{
|
CTRL_Scope *frame_ctrl_scope_restore = rd_state->frame_ctrl_scope;
|
||||||
if(rd_state->frame_di_scope) { di_scope_close(rd_state->frame_di_scope); }
|
rd_state->frame_di_scope = di_scope_open();
|
||||||
if(rd_state->frame_ctrl_scope) { ctrl_scope_close(rd_state->frame_ctrl_scope); }
|
rd_state->frame_ctrl_scope = ctrl_scope_open();
|
||||||
rd_state->frame_di_scope = di_scope_open();
|
|
||||||
rd_state->frame_ctrl_scope = ctrl_scope_open();
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
//////////////////////////////
|
||||||
//- rjf: calculate avg length in us of last many frames
|
//- rjf: calculate avg length in us of last many frames
|
||||||
@@ -16749,6 +16746,14 @@ rd_frame(void)
|
|||||||
rd_state->num_frames_requested -= 1;
|
rd_state->num_frames_requested -= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//////////////////////////////
|
||||||
|
//- rjf: close frame scopes
|
||||||
|
//
|
||||||
|
di_scope_close(rd_state->frame_di_scope);
|
||||||
|
ctrl_scope_close(rd_state->frame_ctrl_scope);
|
||||||
|
rd_state->frame_di_scope = frame_di_scope_restore;
|
||||||
|
rd_state->frame_ctrl_scope = frame_ctrl_scope_restore;
|
||||||
|
|
||||||
//////////////////////////////
|
//////////////////////////////
|
||||||
//- rjf: submit rendering to all windows
|
//- rjf: submit rendering to all windows
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user