5 easy steps to add PVRTrace libraries to your own OpenGL ES application

Share on linkedin
Share on twitter
Share on facebook
Share on reddit
Share on digg
Share on email

This post serves as a quick start guide of how you can add the PVRTrace libraries to your own OpenGL ES application and begin capturing traces. We will use the PowerVR SDK example applications to demonstrate the process.

PowerVR SDK - reflection + chromatic dispersion (1)

We will be attaching the trace libraries to Windows 32-bit applications here. Dynamically linked libraries are also provided for all other platforms, which can be found in the logically named sub-folders.

Step 1: From the PowerVR_SDK installation directory, navigate to “Binaries/Windows_x86_32/Examples”. Choose any example application, this will be the application that we will be working with.

Step 2: Find: “PowerVR_Tools/PVRTrace/Recorder/Windows_x86_32”

Copy the trace libraries:

libEGL.dll
libGLES_CM.dll
libGLESv1_CM.dll
libGLESv2.dll
PVRTrace.dll

to the folder containing the executable.

Step 3: Find: “PowerVR_Tools/PVRVFrame/Library/Windows_x86_32”

Copy the VFrame libraries:

libEGL.dll
libGLES_CM.dll
libGLESv2.dll

to a new sub-folder named /PVRVFrameLibs in the executable folder.

 

Step 4: Create a new file named “pvrtraceconfig.json” in the executable folder, with the following contents:

{
  "*": {
    "Tracing": {
      "StartFrame": 0,
      "EndFrame": 9999
    },
    "Host": {
      "EglLibraryPath": "PVRVFrameLibs/libEGL.dll",
      "Es1LibraryPath": "PVRVFrameLibs/libGLES_CM.dll",
      "Es2LibraryPath": "PVRVFrameLibs/libGLESv2.dll"
    }
  }
}

Please note, prior to SDK 3.5 the format of the config was different. If you are using tracing libraries from SDK 3.4 or older you will need to use the following config instead:

{
  "Tracing": {
    "StartFrame": 0,
    "EndFrame": 9999
  },
  "Host": {
    "EglLibraryPath": "PVRVFrameLibs/libEGL.dll",
    "Es1LibraryPath": "PVRVFrameLibs/libGLES_CM.dll",
    "Es2LibraryPath": "PVRVFrameLibs/libGLESv2.dll"
  }
}

Step 5: That’s it! Run the executable, and the trace libraries should now begin writing to a file named “<executable-name>.pvrt”

We’ve also made a batch file that can be dropped in next to any Windows 32-bit executable in the PowerVR_SDK folder. Download  and run it – it will copy in the required trace libraries and create the pvrtraceconfig.json file for you, ready to begin tracing.

 

PowerVR SDK - reflection + chromatic dispersion (2)

Additional information, including more detailed configuration options, can be found in the PVRTrace User Manual, included in the SDK.

3 thoughts on “5 easy steps to add PVRTrace libraries to your own OpenGL ES application”

Please leave a comment below

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback. However, all comments are manually moderated and those deemed to be spam or solely promotional will be deleted. We respect your privacy and will not publish your personal details.

Blog Contact

If you have any enquiries regarding any of our blog posts, please contact:

United Kingdom

benny.har-even@imgtec.com
Tel: +44 (0)1923 260 511

Search by Tag

Search by Author

Related blog articles

Introducing our all new PowerVR Developer Documentation website

We’re really excited to announce some big news about our PowerVR developer documentation. We’ve taken our incredibly useful, and very extensive documentation set and turned it into something much more modern and accessible in the form of a new website.

Oddmar

Three of the Best: Android Platform Games

Want to game on the move? You no longer need a handheld gaming system. Even today’s budget phones will do the job. We’ve been trying out some of the latest and greatest Android games on a relatively affordable handset – the Honor 8A.

Stay up-to-date with Imagination

Sign up to receive the latest news and product updates from Imagination straight to your inbox.

  • This field is for validation purposes and should be left unchanged.

Subscribe to our newsletter

  • This field is for validation purposes and should be left unchanged.