Incorporating FrameRetrace upstream into ApiTrace

Mark Janes mark.a.janes at intel.com
Tue Apr 16 19:16:35 UTC 2019


Hello José,

I'm interested in getting the FrameRetrace UI upstream in the ApiTrace
project.  The benefits of doing this would be:

 - When ApiTrace changes the trace format, I have to rebase the
   FrameRetrace branch.  This is a tedious and time consuming project.

 - Upstream ApiTrace users would benefit from a far more responsive
   and fully-featured application for investigating rendering and
   performance problems.

 - FrameRetrace would likely benefit from more users/collaborators.

A possible *disadvantage* of upstreaming FrameRetrace would be
increased overhead due to ApiTrace merge/review process.  Is there a
way to incorporate FrameRetrace that wouldn't create additional work
for you?

I have implemented nearly all of the features that I anticipated for
FrameRetrace.  The application is quite usable, and I have gotten
feedback from Mesa devs and OpenGL developers that they have quickly
investigated and solved problems with the tool.  OpenGL debugging
features work without metrics, but Mesa developers have enabled
hardware metrics for at least the following platforms:

 - Intel (i965)
 - AMD (Radeon)
 - Broadcom (VC4)
 - Qualcomm (Freedreno)
 - Nvidia (Nouveau)

   (caveat: I haven't done testing myself, but I fielded questions
   from devs that enabled the platforms and heard that they got
   metrics working).

I have a bucket list of features to add or improve, but I am reluctant
to spend time on them without feedback from users to indicate the
value of the functionality.  I would eagerly invest time to make
FrameRetrace more suitable for upstream.  Examples might include:

 - Documentation/screenshots/demos
 - Feedback from your review
 - CMake changes in ApiTrace that I made to enable FrameRetrace (it's
   probably not perfect)
 - Visibility changes that I made to expose ApiTrace data structures
 - Any bugs that end-users encounter with specific application traces.

What is your opinion of FrameRetrace, and the possibility of
incorporating it into your project?  Are there more features that you
would like to see?  What information would help you evaluate the
proposal?

Thanks,

-Mark


More information about the apitrace mailing list