summaryrefslogtreecommitdiff
path: root/src/intel/isl/docs/preface.rst
blob: 02e86f0e30be50fecdd06073c0160976bab3fd6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Preface
=======

Surface layout is a difficult subject and a full mastery of it requires
knowledge in a variety of areas throughout the stack from the graphics
API (Vulkan or GL) all the way down to the bits placed in memory by the
hardware. Unfortunately, the documentation required to gain that
knowledge is scattered if it exists at all. This document aims to serve
as a handbook of all things surface related. Some things are already
documented in detail other places; when this is the case, there is no
need to write the documentation and it will merely be referenced. There
are many other things, especially those relating to Intel hardware,
where the documentation is so incomplete or scattered that it is almost
worthless; in those cases, full documentation will be provided here with
as many PRM citations as possible.

This documented is intended to interact tightly with the Intel surface
layout library (ISL or libisl) that lives in the mesa repository. All
code examples will use ISL and will be written in terms of it's units,
data structures, and functions. ISL itself is intended to be
well-documented so there is going to be some overlap. However, not all
documentation is fit for code comments and not all of it should be made
public.