From 234175fa23412d9107a9154cb11f55ddd8ece84a Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Mon, 3 May 2010 09:16:28 +0000 Subject: [PATCH] * ./katabatic: - Bug: In KatabaticEnginge::_desaturate() (part of LayerAssign), reset the moved up Segment pointer between iterations. Suppress the warning about the GCell's DyKeyQueue beeing not revalidated on deletion. - Change: In LoadGrByNet, manage the 4G+3L1 configuration with the generic _GCell_xG_xL1_xL3(). Needed for "dct_lvl2". --- katabatic/src/GCell.cpp | 2 ++ katabatic/src/GCellGrid.cpp | 3 ++- katabatic/src/LayerAssign.cpp | 4 ++-- katabatic/src/LoadGrByNet.cpp | 6 +++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/katabatic/src/GCell.cpp b/katabatic/src/GCell.cpp index ae9f467e..6b334fef 100644 --- a/katabatic/src/GCell.cpp +++ b/katabatic/src/GCell.cpp @@ -1071,6 +1071,8 @@ namespace Katabatic { void DyKeyQueue::revalidate () { + ltrace(190) << "DyKeyQueue::revalidate()" << endl; + std::set::iterator iinserted; std::set::iterator igcell = _requests.begin(); for ( ; igcell != _requests.end() ; ++igcell ) { diff --git a/katabatic/src/GCellGrid.cpp b/katabatic/src/GCellGrid.cpp index 7efd7edd..c3c7ef67 100644 --- a/katabatic/src/GCellGrid.cpp +++ b/katabatic/src/GCellGrid.cpp @@ -103,7 +103,8 @@ namespace Katabatic { } cmess1 << " o Reading GCell grid from Knik [" - << getColumns() << "x" << getRows() << "]." << endl; + << getColumns() << "x" << getRows() << "] " + << "(" << (getColumns()*getRows()) << ")." << endl; ltraceout(80); } diff --git a/katabatic/src/LayerAssign.cpp b/katabatic/src/LayerAssign.cpp index a7d9c1d9..7fb7d5b8 100644 --- a/katabatic/src/LayerAssign.cpp +++ b/katabatic/src/LayerAssign.cpp @@ -105,7 +105,6 @@ namespace Katabatic { //vector gcells = *(_gcellGrid->getGCellVector()); DyKeyQueue queue ( depth, *(_gcellGrid->getGCellVector()) ); - AutoSegment* segment = NULL; vector invalidateds; bool optimized = true; @@ -128,8 +127,9 @@ namespace Katabatic { break; } - ltrace(190) << "step desaturate @: " << i << " " << *igcell << endl; + ltrace(190) << "step desaturate: @ " << i << " " << *igcell << endl; + AutoSegment* segment = NULL; optimized = (*igcell)->stepDesaturate ( depth, globalNets, segment ); if ( segment ) { diff --git a/katabatic/src/LoadGrByNet.cpp b/katabatic/src/LoadGrByNet.cpp index 0acc7973..b7cf9d93 100644 --- a/katabatic/src/LoadGrByNet.cpp +++ b/katabatic/src/LoadGrByNet.cpp @@ -1195,6 +1195,8 @@ namespace { , GCELL_3G_4L3 = 3+(4<<9) , GCELL_4G_1L1 = 4+(1<<3) , GCELL_4G_2L1 = 4+(2<<3) + , GCELL_4G_3L1 = 4+(3<<3) + , GCELL_4G_4L1 = 4+(4<<3) , GCELL_4G_1L3 = 4+(1<<9) }; @@ -1367,7 +1369,9 @@ namespace { case GCELL_3G_3L3: case GCELL_3G_4L3: case GCELL_4G_1L1: - case GCELL_4G_2L1: _GCell_xG_xL1_xL3 (); break; + case GCELL_4G_2L1: + case GCELL_4G_3L1: + case GCELL_4G_4L1: _GCell_xG_xL1_xL3 (); break; case GCELL_2G_1L2: case GCELL_2G_2L2: case GCELL_2G_3L2: