mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 03:25:16 +00:00
Add some more info to SPURS kernel explorer
This commit is contained in:
parent
865464f607
commit
ffea52dc36
1 changed files with 22 additions and 7 deletions
|
@ -535,21 +535,36 @@ void kernel_explorer::Update()
|
|||
{
|
||||
const QString branch_name = "SPURS";
|
||||
const u32 wklEnabled = spurs.wklEnabled;
|
||||
QTreeWidgetItem* spurs_tree = add_solid_node(m_tree, spu_tree, branch_name, branch_name + qstr(fmt::format(", Instance: *0x%x, LWMutex: 0x%x, LWCond: 0x%x"
|
||||
, pspurs, spurs.mutex.sleep_queue, spurs.cond.lwcond_queue)));
|
||||
QTreeWidgetItem* spurs_tree = add_solid_node(m_tree, spu_tree, branch_name, branch_name + qstr(fmt::format(", Instance: *0x%x, LWMutex: 0x%x, LWCond: 0x%x, wklEnabled: 0x%x"
|
||||
, pspurs, spurs.mutex.sleep_queue, spurs.cond.lwcond_queue, wklEnabled)));
|
||||
|
||||
for (u32 i = 1; i; i <<= 1)
|
||||
const u32 signal_mask = u32{spurs.wklSignal1} << 16 | spurs.wklSignal2;
|
||||
|
||||
for (u32 wid = 0; wid < CELL_SPURS_MAX_WORKLOAD2; wid++)
|
||||
{
|
||||
if (!(wklEnabled & i))
|
||||
if (!(wklEnabled & (0x80000000u >> wid)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
const auto state = spurs.wklState(wid).raw();
|
||||
|
||||
if (state == SPURS_WKL_STATE_NON_EXISTENT)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
const u32 wid = std::countr_zero(i);
|
||||
const u32 ready_count = spurs.readyCount(wid);
|
||||
const auto state = spurs.wklState(wid).load();
|
||||
add_leaf(spurs_tree, qstr(fmt::format("Workload %u, Name: %s, State: %s, ReadyCnt: %u", wid, +spurs.wklName(wid).nameInstance, state, ready_count)));
|
||||
const auto& name = spurs.wklName(wid);
|
||||
const u8 evt = spurs.wklEvent(wid);
|
||||
const u8 status = spurs.wklStatus(wid);
|
||||
const auto has_signal = (signal_mask & (0x80000000u >> wid)) ? "Signalled"sv : "No Signal"sv;
|
||||
|
||||
add_leaf(spurs_tree, qstr(fmt::format("Work.%u, class: %s, %s, %s, Status: %#x, Event: %#x, %s, ReadyCnt: %u", wid, +name.nameClass, +name.nameInstance, state, status, evt, has_signal, ready_count)));
|
||||
}
|
||||
|
||||
add_leaf(spurs_tree, qstr(fmt::format("Handler Info: PPU0: 0x%x, PPU1: 0x%x, DirtyState: %u, Waiting: %u, Exiting: %u", spurs.ppu0, spurs.ppu1
|
||||
, +spurs.handlerDirty, +spurs.handlerWaiting, +spurs.handlerExiting)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue