---
title: MTL4VisibilityOptions
framework: metal
role: symbol
role_heading: Structure
path: metal/mtl4visibilityoptions
---

# MTL4VisibilityOptions

Memory consistency options for synchronization commands.

## Declaration

```swift
struct MTL4VisibilityOptions
```

## Topics

### Initializers

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

### Type Properties

- [device](metal/mtl4visibilityoptions/device.md)
- [resourceAlias](metal/mtl4visibilityoptions/resourcealias.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Synchronizing with barriers and fences

- [Synchronizing stages within a pass](metal/synchronizing-stages-within-a-pass.md)
- [Synchronizing passes with a fence](metal/synchronizing-passes-with-a-fence.md)
- [Synchronizing passes with consumer barriers](metal/synchronizing-passes-with-consumer-barriers.md)
- [Synchronizing passes with producer barriers](metal/synchronizing-passes-with-producer-barriers.md)
- [Synchronizing CPU and GPU work](metal/synchronizing-cpu-and-gpu-work.md)
- [Implementing a multistage image filter using heaps and fences](metal/implementing-a-multistage-image-filter-using-heaps-and-fences.md)
- [MTLStages](metal/mtlstages.md)
- [MTLFence](metal/mtlfence.md)
- [MTLRenderStages](metal/mtlrenderstages.md)
- [MTLBarrierScope](metal/mtlbarrierscope.md)
