---
title: "init(textureDescriptor:iosurface:plane:)"
framework: realitykit
role: symbol
role_heading: Initializer
path: "realitykit/lowleveldeviceresource/init(texturedescriptor:iosurface:plane:)"
---

# init(textureDescriptor:iosurface:plane:)

Creates a new LowLevelDeviceResource from the specified IOSurface.

## Declaration

```swift
init(textureDescriptor: MTLTextureDescriptor, iosurface: IOSurfaceRef, plane: Int) throws
```

## Parameters

- `textureDescriptor`: A description of the properties for the texture.
- `iosurface`: The underlying IOSurface for this memory resource.
- `plane`: The plane within the IOSurface to use.

## Discussion

Discussion note: If a the texture descriptor is incompatible with the specified IOSurface

## See Also

### Creating a device resource

- [init(sharedTextureHandle:)](realitykit/lowleveldeviceresource/init(sharedtexturehandle:).md)
