On Sat, Aug 6, 2016 at 4:34 AM, Rob Clark <robdcl...@gmail.com> wrote: > On Fri, Aug 5, 2016 at 8:42 PM, Jan Ziak <0xe2.0x9a.0...@gmail.com> wrote: >> Mesa source code prior to this patch uses both RTLD_NOW and RTLD_LAZY. >> This patch removes all RTLD_NOW in favor of RTLD_LAZY. >> >> In comparison to early binding, lazy binding reduces CPU instruction count >> of small GL apps (e.g: glxinfo) by 6 million instructions. >> Larger apps won't notice the difference. > > tbh, I don't know the background of existing places that use RTLD_LAZY > instead of RTLD_NOW (but my experience w/ xserver using LAZY has not > been positive, so I think going the other direction seems like a good > idea)..
We could add a verifier to the build process that tests the foo_dri.so libraries (as well as all other libs subject to dlopen by Mesa) for undefined symbols: $ LD_PRELOAD=libGL.so ldd -d -r radeonsi_dri.so \ | grep "^undefined" && echo "red alert!" This will ensure that Mesa does not break apps after replacing all RTLD_NOWs with RTLD_LAZY. I am going to start writing a new patch verifying relevant *.so files at buildtime. > But I'm not sure that optimizing for glxinfo is the best goal. I will turn my attention to manifestations of suboptimal Mesa GL in other apps as soon as I am satisfied with glxinfo/glxgears (and after the list of my patches at patchwork gets closer to zero). _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev