iris: Add pre-draw flushing for stream output targets
When stream output is active, we need to let the cache tracker know about any SO buffers, which we access via IRIS_DOMAIN_OTHER_WRITE. In particular, we may have written to those buffers via another mechanism, such as BLORP buffer copies. In that case, previous writes happened via IRIS_DOMAIN_RENDER_WRITE, in which case we'd need to flush both the render cache and the tile cache to make that data globally- observable before we begin writing via streamout, which is incoherent with the earlier mechanism. Fixes misrendering in Ryujinx. Closes: mesa/mesa#6085 Fixes: d8cb7621 ("iris: Fix MOCS for buffer copies") Reviewed-by:Francisco Jerez <currojerez@riseup.net> Part-of: <mesa/mesa!15275> (cherry picked from commit 9c8874b9)
Please register or sign in to comment