Forums - Discrepancy between Adreno Profiler captured output and device output-SOLVED

3 posts / 0 new
Last post
Discrepancy between Adreno Profiler captured output and device output-SOLVED
carrado.grant@g...
Join Date: 20 Sep 12
Posts: 38
Posted: Sun, 2014-12-14 12:21

Whenever, I run a capture session with the Adreno Profiler, the display on the device is different from what is actually captured. The GL resources ( texture, programs etc ) are indeed correct, but the rendering on the device is not correct. I would assume this is because the profiler is actually running in emulation mode of the host computer, which will adopt the underlying GL implementation behavior ( which is this case is correct ), while the device implementation is causing some side-effect. I've ran the same application on a Mali-400 GPU and the output is correct.

Another issue I noticed is whenever I have a fragment shader that if I have a fragment shader that samples from several textures, changing the output of the fragment shader and sending the modified shader to the device does not change the output on the device( the profiler output does change though ). However, if I output a color constant then it appears on both the device and the profiler.

  • Up0
  • Down0
Dave Astle
Profile picture
Join Date: 19 Oct 12
Location: San Diego, CA
Posts: 99
Posted: Mon, 2014-12-15 09:29

You're correct about Profiler using emulation on the desktop, so sometimes output can be different.

The fragment shader issue sounds like a bug in Profiler.

What device are you using?

  • Up0
  • Down0
carrado.grant@g...
Join Date: 20 Sep 12
Posts: 38
Posted: Mon, 2014-12-15 13:21

We can actually write this up as been SOLVED( with a caveat ).

I'm using a Adreno 305 device ( HTC Desire 610 ).
Actually the solution to the issue was a note in the Adreno Profile Help that warned against relinking the program after live updates. The issue is due to the fact that when the new program is updated, the old uniforms on the host side are not updated ( which is complete valid since its redundant to query uniform locations each frame when one assume they do not change, and if they do, its usually internal to the application and the application can handle the case accordingly ). The actually solution was to create a debug version of the app that queries the uniform location every frame for the shader being debugged.
  I initially wrote this up as a bug with the thought that the uniform location were being preserved via the Profiler-Driver communication, but this clearly is not the case.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.