---
title: MTLVertexStepFunction
framework: metal
role: symbol
role_heading: Enumeration
path: metal/mtlvertexstepfunction
---

# MTLVertexStepFunction

The frequency with which the vertex function or post-tessellation vertex function fetches attribute data.

## Declaration

```swift
enum MTLVertexStepFunction
```

## Topics

### Step functions

- [MTLVertexStepFunction.constant](metal/mtlvertexstepfunction/constant.md)
- [MTLVertexStepFunction.perVertex](metal/mtlvertexstepfunction/pervertex.md)
- [MTLVertexStepFunction.perInstance](metal/mtlvertexstepfunction/perinstance.md)
- [MTLVertexStepFunction.perPatch](metal/mtlvertexstepfunction/perpatch.md)
- [MTLVertexStepFunction.perPatchControlPoint](metal/mtlvertexstepfunction/perpatchcontrolpoint.md)

### Initializers

- [init(rawValue:)](metal/mtlvertexstepfunction/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Organizing the vertex buffer layout

- [stepFunction](metal/mtlvertexbufferlayoutdescriptor/stepfunction.md)
- [stepRate](metal/mtlvertexbufferlayoutdescriptor/steprate.md)
- [stride](metal/mtlvertexbufferlayoutdescriptor/stride.md)
