mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-18 09:28:06 +02:00
It appears that multisampled textures on AGX have all samples of the same pixel contiguous in memory, effectively using the layout of a single-sampled texture with a larger block size. Handle in ail. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
30 lines
1.1 KiB
Text
30 lines
1.1 KiB
Text
# ail
|
|
|
|
ail is a small library for working with the image (and buffer) layouts
|
|
encountered with AGX hardware. Its design is inspired by isl. In
|
|
particular, ail strives to use isl unit suffixes and to represent
|
|
quantities in a canonical, API-agnostic fashion.
|
|
|
|
ail conventions differ slightly from isl. See the isl documentation in
|
|
mesa/docs/isl for the conventions that inspired ail, in particular
|
|
mesa/docs/isl/units.rst.
|
|
|
|
In ail, we have the following units:
|
|
|
|
**Bytes (B)**: 8-bits.
|
|
|
|
**Samples (sa)**: An individual sample. The number of bytes per sample depends
|
|
on the format.
|
|
|
|
**Pixels (px)**: The unit everything starts as from the API. A pixel contains a
|
|
fixed number of samples, given as the layout's `sample_count_sa`. For twiddled
|
|
layouts, these samples are stored together in emmory.
|
|
|
|
**Elements (el)**: For a block-compressed format, a single compression block
|
|
containing multiple pixels. Otherwise, equal to a single pixel.
|
|
|
|
**Tiles (tiles)**: Defined only for tiled/twiddled layouts. A group of elements
|
|
forming the layout-specific tile.
|
|
|
|
We do not support any multisampled block-compressed layouts, so either pixels
|
|
equals either samples or elements.
|