# AHardwareBuffer_Desc

Buffer description.

## Summary

Used for allocating new buffers and querying parameters of existing ones.

| ### Public attributes ||
|---|---|
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1a9f45951ac62fde8853ea35d702bdc5c0` | `uint32_t` One of AHardwareBuffer_Format. |
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1aa0295d5d309fa7c8495e07f46e464392` | `uint32_t` Height in pixels. |
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1ae988cf43a097be4d64e4a35f9a8418f8` | `uint32_t` Number of images in an image array. |
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1a14c7895474103482ada5f2444a92b523` | `uint32_t` Initialize to zero, reserved for future use. |
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1a429fdc6946a018e527ba72505f51f4f7` | `uint64_t` Initialize to zero, reserved for future use. |
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1a62b246ff72e1763eb848f6499e12fe86` | `uint32_t` Row stride in pixels, ignored for [AHardwareBuffer_allocate()](https://developer.android.com/ndk/reference/group/a-hardware-buffer#group___a_hardware_buffer_1ga287478029a8f416b75db68a11e1eb5e0) |
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1aa1621ae2923db99c9321dddb9be0fbe7` | `uint64_t` Combination of AHardwareBuffer_UsageFlags. |
| `https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc#struct_a_hardware_buffer___desc_1afa2cf0d8c461c5fec7f1a588f7b0d9ef` | `uint32_t` Width in pixels. |

## Public attributes

### format

Declared in `android/hardware_buffer.h`

```scdoc
uint32_t AHardwareBuffer_Desc::format
```
One of AHardwareBuffer_Format.

### height

Declared in `android/hardware_buffer.h`

```scdoc
uint32_t AHardwareBuffer_Desc::height
```
Height in pixels.

### layers

Declared in `android/hardware_buffer.h`

```scdoc
uint32_t AHardwareBuffer_Desc::layers
```
Number of images in an image array.

AHardwareBuffers with one layer correspond to regular 2D textures. AHardwareBuffers with more than layer correspond to texture arrays. If the layer count is a multiple of 6 and the usage flag AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP is present, the buffer is a cube map or a cube map array.

### rfu0

Declared in `android/hardware_buffer.h`

```scdoc
uint32_t AHardwareBuffer_Desc::rfu0
```
Initialize to zero, reserved for future use.

### rfu1

Declared in `android/hardware_buffer.h`

```scdoc
uint64_t AHardwareBuffer_Desc::rfu1
```
Initialize to zero, reserved for future use.

### stride

Declared in `android/hardware_buffer.h`

```scdoc
uint32_t AHardwareBuffer_Desc::stride
```
Row stride in pixels, ignored for [AHardwareBuffer_allocate()](https://developer.android.com/ndk/reference/group/a-hardware-buffer#group___a_hardware_buffer_1ga287478029a8f416b75db68a11e1eb5e0)

### usage

Declared in `android/hardware_buffer.h`

```scdoc
uint64_t AHardwareBuffer_Desc::usage
```
Combination of AHardwareBuffer_UsageFlags.

### width

Declared in `android/hardware_buffer.h`

```scdoc
uint32_t AHardwareBuffer_Desc::width
```
Width in pixels.