-
Notifications
You must be signed in to change notification settings - Fork 595
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drt: decoupling of the Graphics classes and stable drt_lib #6550
Conversation
Signed-off-by: bernardo <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: bernardo <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
Signed-off-by: bernardo <[email protected]>
Signed-off-by: bernardo <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
Signed-off-by: bernardo <[email protected]>
I'm not sure what clang-format is on about, I can't clang-format any file further |
Signed-off-by: Matt Liberty <[email protected]>
You need to make sure you're using the exact same clang format version. Ubuntu clang-format version 18.1.3 I've noticed there's subtle difference between local clang-format and the one installed in the CI lately. |
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
std::unique_ptr<drt::FlexPA> pa_{nullptr}; | ||
std::unique_ptr<drt::FlexTA> ta_{nullptr}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do these need to be persistent now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They don't need now, but at least PA needs to be persistent to allow for PA with ODB callbacks, I was just starting to prepare things
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think incremental PA will capture a dirty list during the callbacks and then re-run in a single invocation for efficiency. We would still have an entry point in which to setup
src/grt/CMakeLists.txt
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What motivates the rearranging of this file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tbh I moved this and the ppl file around when I was learning how to work with these kind of file. I was experimenting with the files and just tried to make them follow the same order.
Signed-off-by: bernardo <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
Signed-off-by: bernardo <[email protected]>
…inker" Fixes The-OpenROAD-Project#6607 This reverts commit c4ec647, reversing changes made to 4a7c6dd. Signed-off-by: Matt Liberty <[email protected]>
…vert Revert "Merge pull request #6550 from bnmfw/drt_linker"
Tackles #6532
This PR has a secure CI run associated with it and will be made open once it passes.
Abstract Classes
This PR makes so the core code of the
DRT
module is not dependent on theGUI
. Abstract classes for thePA
,TA
andDR
submodules were created so these are the classes theDRT
module knows at compile time, while the concrete classes, the ones dependent on theGUI
are passed during run time.Graphic Classes as Class Attributes
The graphic classes used to be instantiated during the
DRT
execution and passed around. Now, all three are instantiated duringinitTritonRoute()
and passed to theDRT
. Then, they become class objects that are held by TritonRoute during it whole execution or until are moved to the respective submodule manager.CMakeLists.txt modification
Now there is a clear separation between
drt
anddrt_lib
. I'm making the PR at a point where this separation can be done without any crashes, so it is stable. However it is still not possible to linkdrt_lib
to theGRT
without running into problems regarding the OR singleton dependency. This PR is becoming big, so I'm submitting it now, further linking problems will be tackled in a separate PR.