Do not tell the RHI that the frame has no compute pass
commonPassFlags() returned DoNotTrackResourcesForCompute for every
beginPass(). That flag declares the frame contains no compute pass,
and we do open some: the lightmapper's NLM denoiser since 6.10, plus
the screen-space reflection and Hi-Z passes being added now.
In the OpenGL backend the flag turns off pass resource tracking for
the rest of the frame, and beginComputePass() never turns it back on.
Nothing is then registered for BarriersForPass, so no
glMemoryBarrier() is emitted and a pass reads whatever the GPU has
finished writing. Measured on the SSR work, the OpenGL output
differed between processes and after a window resize and was visibly
too dark; with this change it is stable and matches Vulkan. The other
backends transition resources explicitly and never read the flag.
Not made conditional on whether the frame uses compute: that has to
hold for every pass in the frame, and would break again silently the
next time a compute pass is added.
Picked to 6.12 because the tracking this disables is not only for
compute: it covers fragment-stage storage buffers too, and 6.12 is
where linked-list OIT landed, whose A-buffer is written and read
exactly that way.
Pick-to: 6.12
Change-Id: I80a321cafd680347d6afadc80f75ff5d35ebc7d6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>