mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-27 04:54:15 +01:00
[hud] Display number of merged draws, if any
This commit is contained in:
parent
9b37ba679a
commit
a0ea29a2fa
@ -800,10 +800,11 @@ namespace dxvk::hud {
|
||||
auto diffCounters = counters.diff(m_prevCounters);
|
||||
|
||||
if (elapsed.count() >= UpdateInterval) {
|
||||
m_gpCount = diffCounters.getCtr(DxvkStatCounter::CmdDrawCalls);
|
||||
m_cpCount = diffCounters.getCtr(DxvkStatCounter::CmdDispatchCalls);
|
||||
m_rpCount = diffCounters.getCtr(DxvkStatCounter::CmdRenderPassCount);
|
||||
m_pbCount = diffCounters.getCtr(DxvkStatCounter::CmdBarrierCount);
|
||||
m_drawCallCount = diffCounters.getCtr(DxvkStatCounter::CmdDrawCalls);
|
||||
m_drawCount = diffCounters.getCtr(DxvkStatCounter::CmdDrawsMerged) + m_drawCallCount;
|
||||
m_dispatchCount = diffCounters.getCtr(DxvkStatCounter::CmdDispatchCalls);
|
||||
m_renderPassCount = diffCounters.getCtr(DxvkStatCounter::CmdRenderPassCount);
|
||||
m_barrierCount = diffCounters.getCtr(DxvkStatCounter::CmdBarrierCount);
|
||||
|
||||
m_lastUpdate = time;
|
||||
}
|
||||
@ -818,21 +819,25 @@ namespace dxvk::hud {
|
||||
const HudOptions& options,
|
||||
HudRenderer& renderer,
|
||||
HudPos position) {
|
||||
std::string drawCount = m_drawCount > m_drawCallCount
|
||||
? str::format(m_drawCallCount, " (", m_drawCount, ")")
|
||||
: str::format(m_drawCallCount);
|
||||
|
||||
position.y += 16;
|
||||
renderer.drawText(16, position, 0xffff8040, "Draw calls:");
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, str::format(m_gpCount));
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, drawCount);
|
||||
|
||||
position.y += 20;
|
||||
renderer.drawText(16, position, 0xffff8040, "Dispatch calls:");
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, str::format(m_cpCount));
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, str::format(m_dispatchCount));
|
||||
|
||||
position.y += 20;
|
||||
renderer.drawText(16, position, 0xffff8040, "Render passes:");
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, str::format(m_rpCount));
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, str::format(m_renderPassCount));
|
||||
|
||||
position.y += 20;
|
||||
renderer.drawText(16, position, 0xffff8040, "Barriers:");
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, str::format(m_pbCount));
|
||||
renderer.drawText(16, { position.x + 192, position.y }, 0xffffffffu, str::format(m_barrierCount));
|
||||
|
||||
position.y += 8;
|
||||
return position;
|
||||
|
@ -422,10 +422,11 @@ namespace dxvk::hud {
|
||||
|
||||
DxvkStatCounters m_prevCounters;
|
||||
|
||||
uint64_t m_gpCount = 0;
|
||||
uint64_t m_cpCount = 0;
|
||||
uint64_t m_rpCount = 0;
|
||||
uint64_t m_pbCount = 0;
|
||||
uint64_t m_drawCallCount = 0;
|
||||
uint64_t m_drawCount = 0;
|
||||
uint64_t m_dispatchCount = 0;
|
||||
uint64_t m_renderPassCount = 0;
|
||||
uint64_t m_barrierCount = 0;
|
||||
|
||||
dxvk::high_resolution_clock::time_point m_lastUpdate
|
||||
= dxvk::high_resolution_clock::now();
|
||||
|
Loading…
x
Reference in New Issue
Block a user