summaryrefslogtreecommitdiffstats
path: root/src/core/compositor/native_skia_output_device_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/compositor/native_skia_output_device_mac.mm')
-rw-r--r--src/core/compositor/native_skia_output_device_mac.mm9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/compositor/native_skia_output_device_mac.mm b/src/core/compositor/native_skia_output_device_mac.mm
index fd3930a9f..bf21ef8d7 100644
--- a/src/core/compositor/native_skia_output_device_mac.mm
+++ b/src/core/compositor/native_skia_output_device_mac.mm
@@ -36,10 +36,17 @@ QSGTexture *makeMetalTexture(QQuickWindow *win, IOSurfaceRef ioSurface, uint ioS
QSGRendererInterface *ri = win->rendererInterface();
auto device = (__bridge id<MTLDevice>)(ri->getResource(win, QSGRendererInterface::DeviceResource));
- auto texture = [device newTextureWithDescriptor:desc iosurface:ioSurface plane:ioSurfacePlane];
+ id<MTLTexture> texture = [device newTextureWithDescriptor:desc
+ iosurface:ioSurface
+ plane:ioSurfacePlane];
return QNativeInterface::QSGMetalTexture::fromNative(texture, win, size, texOpts);
}
+void releaseMetalTexture(void *texture)
+{
+ [static_cast<id<MTLTexture>>(texture) release];
+}
+
#if QT_CONFIG(opengl)
uint32_t makeCGLTexture(QQuickWindow *win, IOSurfaceRef ioSurface, const QSize &size)
{