I have a set up of renderer that records dispatch calls in a secondary command buffer and executes it in the primary command buffer. The result on the screen and frame debugger show that the uniform buffer cannot be read. However:
* storage buffer CAN be read normally
* debugger (Nvidia's Tegra graphics debugger) CAN read the uniform buffer
More info:
* There are 2 uniform buffer bound, one with 12 uint and 2 uvec4, the other with 1 ivec4 and 1 mat4
* device info: Pixel 2, Android 8.1, built with NDK android-24
* gpu info:
QUALCOMM build : 594927b, I916dfac403
Build Date : 10/11/17
Shader Compiler Version : EV031.21.02.02
Local Branch : mybranch28618966
Remote Branch : quic/gfx-adreno.lnx.6.4.9-rel
I believe there are so many possibilities on why this happens so I decided to start with confirming the driver actually works fine. Please let me know if more information is needed.