summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gui/rhi/qrhimetal.mm8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gui/rhi/qrhimetal.mm b/src/gui/rhi/qrhimetal.mm
index 42ebd9a5415..e05a6f08e70 100644
--- a/src/gui/rhi/qrhimetal.mm
+++ b/src/gui/rhi/qrhimetal.mm
@@ -6566,7 +6566,13 @@ bool QMetalSwapChain::createOrResize()
desc.storageMode = MTLStorageModePrivate;
desc.usage = MTLTextureUsageRenderTarget;
for (int i = 0; i < QMTL_FRAMES_IN_FLIGHT; ++i) {
- [d->msaaTex[i] release];
+ if (d->msaaTex[i]) {
+ QRhiMetalData::DeferredReleaseEntry e;
+ e.type = QRhiMetalData::DeferredReleaseEntry::RenderBuffer;
+ e.lastActiveFrameSlot = 1; // because currentFrameSlot is reset to 0
+ e.renderbuffer.texture = d->msaaTex[i];
+ rhiD->d->releaseQueue.append(e);
+ }
d->msaaTex[i] = [rhiD->d->dev newTextureWithDescriptor: desc];
}
[desc release];