2017-12-12 10:29:17 +01:00
|
|
|
#include "dxvk_stats.h"
|
|
|
|
|
|
|
|
namespace dxvk {
|
|
|
|
|
|
|
|
DxvkStatCounters:: DxvkStatCounters() { }
|
|
|
|
DxvkStatCounters::~DxvkStatCounters() { }
|
|
|
|
|
|
|
|
|
|
|
|
DxvkStatCounters::DxvkStatCounters(const DxvkStatCounters& other) {
|
|
|
|
for (size_t i = 0; i < m_counters.size(); i++)
|
2017-12-20 12:13:08 +01:00
|
|
|
m_counters[i] = other.m_counters[i].load();
|
2017-12-12 10:29:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
DxvkStatCounters& DxvkStatCounters::operator = (const DxvkStatCounters& other) {
|
|
|
|
for (size_t i = 0; i < m_counters.size(); i++)
|
2017-12-20 12:13:08 +01:00
|
|
|
m_counters[i] = other.m_counters[i].load();
|
2017-12-12 10:29:17 +01:00
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
DxvkStatCounters DxvkStatCounters::delta(const DxvkStatCounters& oldState) const {
|
|
|
|
DxvkStatCounters result;
|
|
|
|
for (size_t i = 0; i < m_counters.size(); i++)
|
2017-12-20 12:13:08 +01:00
|
|
|
result.m_counters[i] = m_counters[i] - oldState.m_counters[i];;
|
2017-12-12 10:29:17 +01:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void DxvkStatCounters::addCounters(const DxvkStatCounters& counters) {
|
|
|
|
for (size_t i = 0; i < m_counters.size(); i++)
|
2017-12-20 12:13:08 +01:00
|
|
|
m_counters[i] += counters.m_counters[i];
|
2017-12-12 10:29:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void DxvkStatCounters::clear() {
|
|
|
|
for (size_t i = 0; i < m_counters.size(); i++)
|
2017-12-20 12:13:08 +01:00
|
|
|
m_counters[i] = 0;
|
2017-12-12 10:29:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|