Description
You can reproduce the issue using the msaarenderbuffer manual test.
Replace the line
d.rt = m_r->newTextureRenderTarget(rtDesc);
with
d.rt = m_r->newTextureRenderTarget(rtDesc, QRhiTextureRenderTarget::PreserveColorContents);
You can observe that the buffer is indeed not cleared between frames when rendering is done via the Vulkan and OpenGL backends.
When using Metal, the flag doesn't have any effect.