We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 2983

Summary: Update Android.readme to include Tegra Graphics Debugger compatibility tip
Product: SDL Reporter: Michael Labbé <mike>
Component: videoAssignee: Sam Lantinga <slouken>
Status: RESOLVED FIXED QA Contact: Sam Lantinga <slouken>
Severity: minor    
Priority: P2    
Version: 2.0.3   
Hardware: Other   
OS: Android (All)   

Description Michael Labbé 2015-05-12 18:42:58 UTC
NVidia has released some pretty nice Tegra profiling tools for their Android devices. The NVidia Tegra Graphics Debugger works by providing an interposer library that intercepts ES2 and EGL calls.  You must link against these libraries.

Unfortunately, this quietly fails with SDL2 because libEGL and libGLES2 are dynamically loaded with dlopen().

NVidia offers a secondary approach to using the Tegra Graphics Debugger: root your device and install a global interposer library.  Almost no devs will try this first if they don’t have a rooted device.

I propose an update to the Android readme that explains why the static linking approach recommended by NVidia doesn’t work.


Proposed addition to readme:

If you are developing on a compatible Tegra-based tablet, NVidia provides Tegra Graphics Debugger at their website.  Because SDL2 dynamically loads EGL and GLES libraries, you must follow their instructions for installing the interposer library on a rooted device.  The non-rooted instructions are not compatible with applications that use SDL2 for video.

The Tegra Graphics Debugger is available from NVidia here:
https://developer.nvidia.com/tegra-graphics-debugger
Comment 1 Sam Lantinga 2016-10-08 00:49:54 UTC
Added, thanks!
https://hg.libsdl.org/SDL/rev/bd16e5899ceb