Created attachment 129135 [details]
apitrace of my program
When I'm doing a course project in my compute graphics class, I found my
program didn't fully work on nouveau while it was working fine on intel and
nvidia proprietary drivers. It is a program using deferred shading with some
shadow map techniques, and it has an option to draw a "histogram" of depth
distribution sampled by a compute shader. I found histogram was showing wrong
results (totally blank) on nouveau.
After looking into the problem for a while, I happened to find that if I didn't
render the histogram (i.e. didn't use compute shader to sample) on the first
frame, the histogram would go wrong, otherwise, it would be okay.
This problem can be reproduced with the attached apitrace file, recorded with
simplified program and trimmed to contain only 4 frames. The first 2 frames are
mainly initialization and the third frame renders the scene from one angle
without generating histogram. The last frame renders the scene from another
angle and generates a histogram at bottom-right edge, which is completely blank
on nouveau. However, if the trace is further trimmed to contain frame 0,1,3,
the histogram will render correctly. (Results of the two will be attached
below)
I'm willing provide assistance if needed.