<!--
{
  "documentType" : "article",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/deprecated-symbols",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Deprecated symbols"
}
-->

# Deprecated symbols

Review unsupported symbols and their replacements.

## Topics

### Deprecated methods

[`func useResource(any MTLResource, usage: MTLResourceUsage)`](/documentation/Metal/MTLRenderCommandEncoder/useResource(_:usage:))

Ensures the shaders in the render pass’s subsequent draw commands have access to a resource.

[`func use(any MTLResource, usage: MTLResourceUsage, stages: MTLRenderStages)`](/documentation/Metal/MTLRenderCommandEncoder/use(_:usage:stages:))

Ensures the shaders in the render pass’s subsequent draw commands have access to a resource.

[`func useResources([any MTLResource], usage: MTLResourceUsage)`](/documentation/Metal/MTLRenderCommandEncoder/useResources(_:usage:))

Ensures the shaders in the render pass’s subsequent draw commands have access to multiple resources.

[`func use(UnsafePointer<any MTLResource>, count: Int, usage: MTLResourceUsage, stages: MTLRenderStages)`](/documentation/Metal/MTLRenderCommandEncoder/use(_:count:usage:stages:))

Ensures the shaders in the render pass’s subsequent draw commands have access to multiple resources.

[`- (void) useResources:(id<MTLResource> const[]) resources count:(NSUInteger) count usage:(MTLResourceUsage) usage;`](/documentation/Metal/MTLRenderCommandEncoder/useResources:count:usage:)

Ensures the shaders in the render pass’s subsequent draw commands have access to multiple resources.

[`func useHeap(any MTLHeap)`](/documentation/Metal/MTLRenderCommandEncoder/useHeap(_:))

Ensures the shaders in the render pass’s subsequent draw commands have access to the resources you allocate from a heap.

[`func use(any MTLHeap, stages: MTLRenderStages)`](/documentation/Metal/MTLRenderCommandEncoder/use(_:stages:))

Ensures the shaders in the render pass’s subsequent draw commands have access to the resources you allocate from a heap.

[`func useHeaps([any MTLHeap])`](/documentation/Metal/MTLRenderCommandEncoder/useHeaps(_:))

Ensures the shaders in the render pass’s subsequent draw commands have access to the resources you allocate from multiple heaps.

[`func use(UnsafePointer<any MTLHeap>, count: Int, stages: MTLRenderStages)`](/documentation/Metal/MTLRenderCommandEncoder/use(_:count:stages:))

Ensures the shaders in the render pass’s subsequent draw commands have access to the resources you allocate from multiple heaps.

[`- (void) useHeaps:(id<MTLHeap> const[]) heaps count:(NSUInteger) count;`](/documentation/Metal/MTLRenderCommandEncoder/useHeaps:count:)

Ensures the shaders in the render pass’s subsequent draw commands have access to the resources you allocate from multiple heaps.

[`func textureBarrier()`](/documentation/Metal/MTLRenderCommandEncoder/textureBarrier())

Adds a barrier, which forces any texture read operations to wait until write operations to the same texture finish.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)