@@ -671,7 +671,7 @@ void RepairDesign::repairNet(Net* net,
671671 repaired_net = true ;
672672
673673 debugPrint (logger_, RSZ, " repair_net" , 3 , " fanout violation" );
674- LoadRegion region = findLoadRegions (drvr_pin, max_fanout);
674+ LoadRegion region = findLoadRegions (net, drvr_pin, max_fanout);
675675 corner_ = corner;
676676 makeRegionRepeaters (region,
677677 max_fanout,
@@ -1481,12 +1481,21 @@ LoadRegion::LoadRegion(PinSeq& pins, Rect& bbox) : pins_(pins), bbox_(bbox)
14811481{
14821482}
14831483
1484- LoadRegion RepairDesign::findLoadRegions (const Pin* drvr_pin, int max_fanout)
1484+ LoadRegion RepairDesign::findLoadRegions (const Net* net,
1485+ const Pin* drvr_pin,
1486+ int max_fanout)
14851487{
14861488 PinSeq loads = findLoads (drvr_pin);
14871489 Rect bbox = findBbox (loads);
14881490 LoadRegion region (loads, bbox);
1491+ if (graphics_) {
1492+ odb::dbNet* db_net = db_network_->staToDb (net);
1493+ graphics_->subdivideStart (db_net);
1494+ }
14891495 subdivideRegion (region, max_fanout);
1496+ if (graphics_) {
1497+ graphics_->subdivideDone ();
1498+ }
14901499 return region;
14911500}
14921501
@@ -2242,7 +2251,7 @@ void RepairDesign::reportViolationCounters(bool invalidate_driver_vertices,
22422251
22432252void RepairDesign::setDebugGraphics (std::shared_ptr<ResizerObserver> graphics)
22442253{
2245- graphics_ = graphics;
2254+ graphics_ = std::move ( graphics) ;
22462255}
22472256
22482257} // namespace rsz
0 commit comments