---
title: MTLPixelFormat.bgr10_xr_srgb
framework: metal
role: symbol
role_heading: Case
path: metal/mtlpixelformat/bgr10_xr_srgb
---

# MTLPixelFormat.bgr10_xr_srgb

A 32-bit extended-range pixel format with sRGB conversion and three fixed-point components of 10-bit blue, 10-bit green, and 10-bit red.

## Declaration

```swift
case bgr10_xr_srgb
```

## Discussion

Discussion Pixel components are stored in blue, green, and red order, from least significant bit to most significant bit. Bits 30 and 31 are padding, and their value is 0.

The blue, green, and red components are gamma encoded, and their values range from -0.5271 to 1.66894, before gamma expansion. In order to determine a component’s value as a shader float: When reading a pixel, first apply the linear encoding (xr10_value - 384) / 510.0f and then the sRGB transform. When writing a pixel, first apply the sRGB transform and then the linear encoding shader_float = (xr10_value - 384) / 510.0f. To display wide color values on devices with wide color displays, you set this pixel format on the colorPixelFormat property of an MTKView or the pixelFormat property of a CAMetalLayer. Also provide an extended sRGB color space. note: Only devices with a wide color display can display color values outside the [0.0, 1.0] range; all other devices clamp color values to the [0.0, 1.0] range.

## See Also

### Extended range and wide color pixel formats

- [MTLPixelFormat.bgra10_xr](metal/mtlpixelformat/bgra10_xr.md)
- [MTLPixelFormat.bgra10_xr_srgb](metal/mtlpixelformat/bgra10_xr_srgb.md)
- [MTLPixelFormat.bgr10_xr](metal/mtlpixelformat/bgr10_xr.md)
