Name Date Size #Lines LOC

..--

tests/H25-Apr-2025-35,48635,352

READMEH A D25-Apr-20251.1 KiB3121

formats.cH A D25-Apr-202515.3 KiB264209

layout.cH A D25-Apr-202511 KiB309200

layout.hH A D25-Apr-202513.1 KiB440251

meson.buildH A D25-Apr-2025892 3935

tiling.ccH A D25-Apr-20257.6 KiB187127

README

1# ail
2
3ail is a small library for working with the image (and buffer) layouts
4encountered with AGX hardware. Its design is inspired by isl. In
5particular, ail strives to use isl unit suffixes and to represent
6quantities in a canonical, API-agnostic fashion.
7
8ail conventions differ slightly from isl. See the isl documentation in
9mesa/docs/isl for the conventions that inspired ail, in particular
10mesa/docs/isl/units.rst.
11
12In ail, we have the following units:
13
14**Bytes (B)**: 8-bits.
15
16**Samples (sa)**: An individual sample. The number of bytes per sample depends
17on the format.
18
19**Pixels (px)**: The unit everything starts as from the API. A pixel contains a
20fixed number of samples, given as the layout's `sample_count_sa`. For twiddled
21layouts, these samples are stored together in emmory.
22
23**Elements (el)**: For a block-compressed format, a single compression block
24containing multiple pixels. Otherwise, equal to a single pixel.
25
26**Tiles (tiles)**: Defined only for tiled/twiddled layouts. A group of elements
27forming the layout-specific tile.
28
29We do not support any multisampled block-compressed layouts, so either pixels
30equals either samples or elements.
31