google / vulkan-performance-layers

Vulkan layers to measure and analyze graphics performance.
https://opensource.google
Apache License 2.0
51 stars 18 forks source link

Remove all Abseil dependencies #53

Open kuhar opened 3 years ago

kuhar commented 3 years ago

We cannot use Abseil in dynamically loaded and dynamically unloaded libraries: https://abseil.io/about/compatibility#what-users-must-and-must-not-do

Dynamic unloading of performance layers causes crashes because of Abseil code.

Forchapeatl commented 2 years ago

Hello @kuhar ,please are we to remove these lines of code ?

https://github.com/google/vulkan-performance-layers/blob/1571ee5af43a0a1c71694531777c1179530e0f63/.gitmodules#L1-L3

https://github.com/google/vulkan-performance-layers/blob/1571ee5af43a0a1c71694531777c1179530e0f63/CMakeLists.txt#L27-L28

https://github.com/google/vulkan-performance-layers/blob/1571ee5af43a0a1c71694531777c1179530e0f63/third_party/CMakeLists.txt#L16

kuhar commented 2 years ago

Yes, but we also need to remove any code that uses the abeil libraries and replace it with some combination of the c++ standard library, new hand-rolled counterparts, or possibly some alternative third-party library. The existing abseil code is easy to spot because it starts with absl:: and ABSL_.

Forchapeatl commented 2 years ago

Thank you @kuhar

and replace it with some combination of the c++ standard library, new hand-rolled counterparts, or possibly some alternative third-party library.

Please do we have a replacement library , should I comment out the abseil code or do i just remove the abseil related code ?