mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
Kill off some usages of the ArraySize macro.
This required the use of std::array in some cases.
This commit is contained in:
@ -9,20 +9,21 @@ PerfQuery::PerfQuery()
|
||||
: m_query_read_pos()
|
||||
, m_query_count()
|
||||
{
|
||||
for (int i = 0; i != ArraySize(m_query_buffer); ++i)
|
||||
for (ActiveQuery& entry : m_query_buffer)
|
||||
{
|
||||
D3D11_QUERY_DESC qdesc = CD3D11_QUERY_DESC(D3D11_QUERY_OCCLUSION, 0);
|
||||
D3D::device->CreateQuery(&qdesc, &m_query_buffer[i].query);
|
||||
D3D::device->CreateQuery(&qdesc, &entry.query);
|
||||
}
|
||||
|
||||
ResetQuery();
|
||||
}
|
||||
|
||||
PerfQuery::~PerfQuery()
|
||||
{
|
||||
for (int i = 0; i != ArraySize(m_query_buffer); ++i)
|
||||
for (ActiveQuery& entry : m_query_buffer)
|
||||
{
|
||||
// TODO: EndQuery?
|
||||
m_query_buffer[i].query->Release();
|
||||
entry.query->Release();
|
||||
}
|
||||
}
|
||||
|
||||
@ -32,10 +33,10 @@ void PerfQuery::EnableQuery(PerfQueryGroup type)
|
||||
return;
|
||||
|
||||
// Is this sane?
|
||||
if (m_query_count > ArraySize(m_query_buffer) / 2)
|
||||
if (m_query_count > m_query_buffer.size() / 2)
|
||||
WeakFlush();
|
||||
|
||||
if (ArraySize(m_query_buffer) == m_query_count)
|
||||
if (m_query_buffer.size() == m_query_count)
|
||||
{
|
||||
// TODO
|
||||
FlushOne();
|
||||
@ -45,7 +46,7 @@ void PerfQuery::EnableQuery(PerfQueryGroup type)
|
||||
// start query
|
||||
if (type == PQG_ZCOMP_ZCOMPLOC || type == PQG_ZCOMP)
|
||||
{
|
||||
auto& entry = m_query_buffer[(m_query_read_pos + m_query_count) % ArraySize(m_query_buffer)];
|
||||
auto& entry = m_query_buffer[(m_query_read_pos + m_query_count) % m_query_buffer.size()];
|
||||
|
||||
D3D::context->Begin(entry.query);
|
||||
entry.query_type = type;
|
||||
@ -62,7 +63,7 @@ void PerfQuery::DisableQuery(PerfQueryGroup type)
|
||||
// stop query
|
||||
if (type == PQG_ZCOMP_ZCOMPLOC || type == PQG_ZCOMP)
|
||||
{
|
||||
auto& entry = m_query_buffer[(m_query_read_pos + m_query_count + ArraySize(m_query_buffer)-1) % ArraySize(m_query_buffer)];
|
||||
auto& entry = m_query_buffer[(m_query_read_pos + m_query_count + m_query_buffer.size()-1) % m_query_buffer.size()];
|
||||
D3D::context->End(entry.query);
|
||||
}
|
||||
}
|
||||
@ -118,7 +119,7 @@ void PerfQuery::FlushOne()
|
||||
// NOTE: Reported pixel metrics should be referenced to native resolution
|
||||
m_results[entry.query_type] += (u32)(result * EFB_WIDTH / g_renderer->GetTargetWidth() * EFB_HEIGHT / g_renderer->GetTargetHeight());
|
||||
|
||||
m_query_read_pos = (m_query_read_pos + 1) % ArraySize(m_query_buffer);
|
||||
m_query_read_pos = (m_query_read_pos + 1) % m_query_buffer.size();
|
||||
--m_query_count;
|
||||
}
|
||||
|
||||
@ -149,7 +150,7 @@ void PerfQuery::WeakFlush()
|
||||
// NOTE: Reported pixel metrics should be referenced to native resolution
|
||||
m_results[entry.query_type] += (u32)(result * EFB_WIDTH / g_renderer->GetTargetWidth() * EFB_HEIGHT / g_renderer->GetTargetHeight());
|
||||
|
||||
m_query_read_pos = (m_query_read_pos + 1) % ArraySize(m_query_buffer);
|
||||
m_query_read_pos = (m_query_read_pos + 1) % m_query_buffer.size();
|
||||
--m_query_count;
|
||||
}
|
||||
else
|
||||
|
Reference in New Issue
Block a user