2976548e4a
This acts as a depth/stencil write. The AGX compiler checks outputs_written to determine what conservative depth settings the driver needs. Nominally, this should work: the original store_output(FRAG_RESULT_DEPTH) intrinsic causes the DEPTH outputs_written bit to be set, so the metadata is still correct after lowering store_output to store_zs_agx. However, there are a handful of places that call nir_gather_info late, which *resets* the existing outputs_written value and regathers, causing Asahi to use the wrong conservative depth settings when shuffling NIR pass order and breaking gl_FragDepth. To fix, handle store_zs_agx conservatively when gathering info so we don't have to play games with the pass order or stashing info in a sideband. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20563>