---
title: MTLVisibilityResultType
framework: metal
role: symbol
role_heading: Enumeration
path: metal/mtlvisibilityresulttype
---

# MTLVisibilityResultType

This enumeration controls if Metal accumulates visibility results between render encoders or resets them.

## Declaration

```swift
enum MTLVisibilityResultType
```

## Overview

Overview You can specify this property for MTLRenderCommandEncoders and for MTL4RenderCommandEncoders through their descriptors’ MTLRenderCommandEncoder/visibilityResultType and MTL4RenderCommandEncoder/visibilityResultType methods.

## Topics

### Enumeration Cases

- [MTLVisibilityResultType.accumulate](metal/mtlvisibilityresulttype/accumulate.md)
- [MTLVisibilityResultType.reset](metal/mtlvisibilityresulttype/reset.md)

### Initializers

- [init(rawValue:)](metal/mtlvisibilityresulttype/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

### Encoding a render pass

- [MTL4RenderCommandEncoder](metal/mtl4rendercommandencoder.md)
- [MTLRenderCommandEncoder](metal/mtlrendercommandencoder.md)
- [MTL4RenderEncoderOptions](metal/mtl4renderencoderoptions.md)
- [MTLTriangleFillMode](metal/mtltrianglefillmode.md)
- [MTLWinding](metal/mtlwinding.md)
- [MTLCullMode](metal/mtlcullmode.md)
- [MTLPrimitiveType](metal/mtlprimitivetype.md)
- [MTLIndexType](metal/mtlindextype.md)
- [MTLDepthClipMode](metal/mtldepthclipmode.md)
- [MTLVisibilityResultMode](metal/mtlvisibilityresultmode.md)
