MCPcopy Create free account
hub / github.com/carbonengine/trinity / ReleasePendingFreeAreas

Method ReleasePendingFreeAreas

trinity/Tr2TextureAtlas.cpp:1393–1415  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1391}
1392
1393void Tr2TextureAtlas::ReleasePendingFreeAreas()
1394{
1395 if( !m_pendingFreeAreas.empty() )
1396 {
1397 USE_MAIN_THREAD_RENDER_CONTEXT();
1398 for( auto& pair : m_pendingFreeAreas )
1399 {
1400 if( pair.second <= renderContext.GetRenderedFrameNumber() )
1401 {
1402 FreeArea( pair.first );
1403 }
1404 }
1405 auto freeBegin = std::remove_if( m_pendingFreeAreas.begin(), m_pendingFreeAreas.end(), [&]( const auto& pair ) {
1406 return pair.second <= renderContext.GetRenderedFrameNumber();
1407 } );
1408 if( freeBegin == m_pendingFreeAreas.end() )
1409 {
1410 return;
1411 }
1412 m_pendingFreeAreas.erase( freeBegin, m_pendingFreeAreas.end() );
1413 UpdateFreeMaxima();
1414 }
1415}
1416
1417void Tr2TextureAtlas::FreeArea( Tr2TextureAtlasArea* area )
1418{

Callers

nothing calls this directly

Calls 4

emptyMethod · 0.80
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected