diff options
Diffstat (limited to 'src/core/compositor/native_skia_output_device_mac.mm')
-rw-r--r-- | src/core/compositor/native_skia_output_device_mac.mm | 9 |
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) { |