wlrfx / scenefx

A drop-in replacement for the wlroots scene API that allows wayland compositors to render surfaces with eye-candy effects
MIT License
81 stars 8 forks source link

Add O3 optimization pass to supress build errors and cleanup meson.build #5

Closed Shinyzenith closed 1 year ago

Shinyzenith commented 1 year ago
[76/127] Compiling C object libscenefx.so.1.p/meson-generated_.._protocol_ext-idle-notify-v1-protocol.c.o
In file included from /nix/store/9bldnbh7kcxyq8y0g1bifd5ywz7m3bq9-glibc-2.37-8-dev/include/bits/libc-header-start.h:33,
                 from /nix/store/9bldnbh7kcxyq8y0g1bifd5ywz7m3bq9-glibc-2.37-8-dev/include/stdlib.h:26,
                 from protocol/ext-idle-notify-v1-protocol.c:27:
/nix/store/9bldnbh7kcxyq8y0g1bifd5ywz7m3bq9-glibc-2.37-8-dev/include/features.h:413:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  413 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
WillPower3309 commented 1 year ago

We might want to consider just getting PGO set up :) Something to look into

Shinyzenith commented 1 year ago

Do you have any suggestions on setting that up/resources I can look into? I haven't integrated pgo with meson earlier hence the question.

WillPower3309 commented 1 year ago

Do you have any suggestions on setting that up/resources I can look into? I haven't integrated pgo with meson earlier hence the question.

Apologies, missed the question in the discord server. Here's a basic explanation: https://developer.ibm.com/articles/gcc-profile-guided-optimization-to-accelerate-aix-applications/

I'll try to find an example from another project later

Shinyzenith commented 1 year ago

I tried, it seems I don't know how to get this to work. I get a bunch of linker errors of the namespace __gcov when generating the profile.

I can share details if needed.

Shinyzenith commented 1 year ago

Closed as I don't know much about PGO. If someone else can get that working then that would be amazing.