<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLCounterResultStatistic",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@SA@MTLCounterResultStatistic"
  },
  "title" : "MTLCounterResultStatistic"
}
-->

# MTLCounterResultStatistic

The data structure for storing the data you resolve from a statistic counter set.

```
struct MTLCounterResultStatistic
```

## Overview

For steps that explain how to resolve data from a counter set, such as [`statistic`](/documentation/Metal/MTLCommonCounterSet/statistic), see [Converting a GPU’s counter data into a readable format](/documentation/Metal/converting-a-gpus-counter-data-into-a-readable-format).

## Topics

### Statistics values

[`tessellationInputPatches`](/documentation/Metal/MTLCounterResultStatistic/tessellationInputPatches)

The number of tessellation patches a render pass sends to the tessellation stage.

[`vertexInvocations`](/documentation/Metal/MTLCounterResultStatistic/vertexInvocations)

The number of times a render pass calls any vertex shader.

[`postTessellationVertexInvocations`](/documentation/Metal/MTLCounterResultStatistic/postTessellationVertexInvocations)

The number of vertices a render pass sends to a post-tessellation vertex shader.

[`clipperInvocations`](/documentation/Metal/MTLCounterResultStatistic/clipperInvocations)

The number of primitives a render pass sends to the clip stage.

[`clipperPrimitivesOut`](/documentation/Metal/MTLCounterResultStatistic/clipperPrimitivesOut)

The number of primitives the clip stage produces during a render pass.

[`fragmentInvocations`](/documentation/Metal/MTLCounterResultStatistic/fragmentInvocations)

The number of times a render pass calls fragment shaders.

[`fragmentsPassed`](/documentation/Metal/MTLCounterResultStatistic/fragmentsPassed)

The number of fragments a render pass sends to the visibility and blend stages because they pass the scissor, depth, and stencil tests.

[`computeKernelInvocations`](/documentation/Metal/MTLCounterResultStatistic/computeKernelInvocations)

The number of times a pass calls any compute kernel.

### Swift support

[`init()`](/documentation/Metal/MTLCounterResultStatistic/init())

Creates a default statistics result.

[`init(tessellationInputPatches:vertexInvocations:postTessellationVertexInvocations:clipperInvocations:clipperPrimitivesOut:fragmentInvocations:fragmentsPassed:computeKernelInvocations:)`](/documentation/Metal/MTLCounterResultStatistic/init(tessellationInputPatches:vertexInvocations:postTessellationVertexInvocations:clipperInvocations:clipperPrimitivesOut:fragmentInvocations:fragmentsPassed:computeKernelInvocations:))

Creates a statistics result from statistic values.



---

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)