<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.6.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "IOSurface",
  "identifier" : "/documentation/IOSurface/kIOSurfaceBytesPerRow",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "IOSurface"
    ],
    "preciseIdentifier" : "c:@kIOSurfaceBytesPerRow"
  },
  "title" : "kIOSurfaceBytesPerRow"
}
-->

# kIOSurfaceBytesPerRow

The bytes per row of the buffer.

```
let kIOSurfaceBytesPerRow: CFString
```

## Discussion

If not specified, IOSurface will first calculate the number full elements required on each row (by rounding up), multiplied by the bytes per element for this buffer. That value will then be appropriately aligned.

This value is stored as a <doc://com.apple.documentation/documentation/CoreFoundation/CFNumber>.

---

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)