Skip to content

Commit a5131c1

Browse files
committed
gui: invoke renderers once for multi-chip design and trigger postread3dbx on top 3dbx only
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
1 parent 900cc9f commit a5131c1

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

src/OpenRoad.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,7 @@ void OpenRoad::read3Dbx(const std::string& filename)
496496
odb::ThreeDBlox parser(logger_, db_, sta_);
497497
parser.readDbx(filename);
498498
parser.check();
499+
db_->triggerPostRead3Dbx(db_->getChip());
499500
}
500501

501502
void OpenRoad::read3DBloxBMap(const std::string& filename)

src/gui/src/renderThread.cpp

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,14 @@ void RenderThread::draw(QImage& image,
226226
}
227227

228228
drawChips(&painter, viewer_->getChip(), dbu_bounds, 0);
229-
229+
for (auto* renderer : Gui::get()->renderers()) {
230+
if (restart_) {
231+
break;
232+
}
233+
gui_painter.saveState();
234+
renderer->drawObjects(gui_painter);
235+
gui_painter.restoreState();
236+
}
230237
// draw selected and over top level and fast painting events
231238
drawSelected(gui_painter, selected);
232239
// Always last so on top
@@ -1274,17 +1281,6 @@ void RenderThread::drawChip(QPainter* painter,
12741281
drawGCellGrid(painter, bounds);
12751282
debugPrint(logger_, GUI, "draw", 1, "save cell grid {}", inst_cell_grid);
12761283

1277-
utl::Timer inst_save_restore;
1278-
for (auto* renderer : Gui::get()->renderers()) {
1279-
if (restart_) {
1280-
break;
1281-
}
1282-
gui_painter.saveState();
1283-
renderer->drawObjects(gui_painter);
1284-
gui_painter.restoreState();
1285-
}
1286-
debugPrint(logger_, GUI, "draw", 1, "renderers {}", inst_save_restore);
1287-
12881284
debugPrint(logger_, GUI, "draw", 1, "total render {}", timer);
12891285
}
12901286

src/odb/src/3dblox/3dblox.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,7 @@ void ThreeDBlox::readDbx(const std::string& dbx_file)
8888
for (const auto& [_, connection] : data.connections) {
8989
createConnection(connection);
9090
}
91-
calculateSize(db_->getChip());
92-
db_->triggerPostRead3Dbx(chip);
91+
calculateSize(chip);
9392
}
9493

9594
void ThreeDBlox::check()

0 commit comments

Comments
 (0)