[Mesa-dev] [PATCH] texobj: add verbose api trace messages to several routines
Alexander Monakov
amonakov at ispras.ru
Tue Mar 5 01:11:03 PST 2013
On Mon, 4 Mar 2013, Carl Worth wrote:
> I don't think it should be too hard to get this to work, (though it
> may require a source change to the Steam overlay). I'll do some more
> experiments tomorrow and see if I can't make a concrete recommendation
> to be able to give to Valve as a bug report.
>
> And, obviously, if there's something we can do to make apitrace more
> robust here, I'll submit that change as well.
I faced a similar issue in my lightweight OpenGL offloading via GLX forking
project, primus [1], and I'm successfully using the following approach:
1) The interposition is based on LD_LIBRARY_PATH augmentation, LD_PRELOAD is
not employed. Pro: no ugly tricks with dlopen/dlsym interposition. Contra:
the interposer needs to know the path to the "real" OpenGL library. For
APITrace, /usr/$LIB/libGL.so.1 will usually be a working default choice (NB:
$LIB is a special token expanded by the dynamic loader, not the shell).
2) Specifically in order to work with the Steam overlay, the interposer
*protects itself from dlsym interposition* by using
real_dlsym = dlsym(dlopen("libdl.so.2"), "dlsym"). Similar protection against
dlopen interposition would also make sense.
Hope that helps,
Alexander
[1] https://github.com/amonakov/primus
More information about the mesa-dev
mailing list