metal: fix backbuffer discarding its contents in some situations.

fixes #1975.
This commit is contained in:
Sasha Szpakowski
2024-04-08 20:11:47 -03:00
parent d40b78be76
commit 6bc91a025c
+5
View File
@@ -1459,10 +1459,15 @@ void Graphics::setRenderTargetsInternal(const RenderTargets &rts, int /*pixelw*/
}
for (size_t i = rts.colors.size(); i < MAX_COLOR_RENDER_TARGETS; i++)
{
passDesc.colorAttachments[i] = nil;
passDesc.colorAttachments[i].loadAction = MTLLoadActionLoad;
}
passDesc.depthAttachment = nil;
passDesc.depthAttachment.loadAction = MTLLoadActionLoad;
passDesc.stencilAttachment = nil;
passDesc.stencilAttachment.loadAction = MTLLoadActionLoad;
auto ds = rts.depthStencil.texture;
if (isbackbuffer && ds == nullptr)