xref: /aosp_15_r20/external/gmmlib/README.rst (revision 35ffd701415c9e32e53136d61a677a8d0a8fc4a5)
1*35ffd701SAndroid Build Coastguard Worker
2*35ffd701SAndroid Build Coastguard WorkerIntel(R) Graphics Memory Management Library
3*35ffd701SAndroid Build Coastguard Worker*******************************************
4*35ffd701SAndroid Build Coastguard Worker
5*35ffd701SAndroid Build Coastguard WorkerIntroduction
6*35ffd701SAndroid Build Coastguard Worker=============
7*35ffd701SAndroid Build Coastguard Worker
8*35ffd701SAndroid Build Coastguard WorkerThe Intel(R) Graphics Memory Management Library provides device specific and buffer
9*35ffd701SAndroid Build Coastguard Workermanagement for the Intel(R) Graphics Compute Runtime for OpenCL(TM) and the
10*35ffd701SAndroid Build Coastguard WorkerIntel(R) Media Driver for VAAPI.
11*35ffd701SAndroid Build Coastguard Worker
12*35ffd701SAndroid Build Coastguard WorkerLicense
13*35ffd701SAndroid Build Coastguard Worker========
14*35ffd701SAndroid Build Coastguard Worker
15*35ffd701SAndroid Build Coastguard WorkerThe Intel(R) Graphics Memory Management Library is distributed under the MIT
16*35ffd701SAndroid Build Coastguard WorkerOpen Source license.
17*35ffd701SAndroid Build Coastguard Worker
18*35ffd701SAndroid Build Coastguard WorkerYou may obtain a copy of the License at:
19*35ffd701SAndroid Build Coastguard Worker
20*35ffd701SAndroid Build Coastguard Workerhttps://opensource.org/licenses/MIT
21*35ffd701SAndroid Build Coastguard Worker
22*35ffd701SAndroid Build Coastguard WorkerBuilding
23*35ffd701SAndroid Build Coastguard Worker========
24*35ffd701SAndroid Build Coastguard Worker1) Get gmmlib repository
25*35ffd701SAndroid Build Coastguard Worker
26*35ffd701SAndroid Build Coastguard Worker   git clone https://github.com/intel/gmmlib.git
27*35ffd701SAndroid Build Coastguard Worker
28*35ffd701SAndroid Build Coastguard Worker2) Change it to root directory
29*35ffd701SAndroid Build Coastguard Worker
30*35ffd701SAndroid Build Coastguard Worker   ``$ cd gmmlib``
31*35ffd701SAndroid Build Coastguard Worker
32*35ffd701SAndroid Build Coastguard Worker3) Make a build directory
33*35ffd701SAndroid Build Coastguard Worker
34*35ffd701SAndroid Build Coastguard Worker   ``$ mkdir build && cd build``
35*35ffd701SAndroid Build Coastguard Worker
36*35ffd701SAndroid Build Coastguard Worker4) Run the cmake command to prepare build files
37*35ffd701SAndroid Build Coastguard Worker
38*35ffd701SAndroid Build Coastguard Worker|        ``$ cmake [-DCMAKE_BUILD_TYPE=Release | Debug | ReleaseInternal] ..``
39*35ffd701SAndroid Build Coastguard Worker|        where,
40*35ffd701SAndroid Build Coastguard Worker|        -DCMAKE_BUILD_TYPE can be set to one build type flag at a time.
41*35ffd701SAndroid Build Coastguard Worker|        Example:
42*35ffd701SAndroid Build Coastguard Worker|        ``$ cmake -DCMAKE_BUILD_TYPE=Release ..``, For Release build
43*35ffd701SAndroid Build Coastguard Worker
44*35ffd701SAndroid Build Coastguard Worker5) Build the project
45*35ffd701SAndroid Build Coastguard Worker
46*35ffd701SAndroid Build Coastguard Worker   ``$ make -j"$(nproc)" (Also performs compile time ULT)``
47*35ffd701SAndroid Build Coastguard Worker
48*35ffd701SAndroid Build Coastguard WorkerInstall
49*35ffd701SAndroid Build Coastguard Worker=======
50*35ffd701SAndroid Build Coastguard Worker``$ sudo make install``
51*35ffd701SAndroid Build Coastguard Worker
52*35ffd701SAndroid Build Coastguard WorkerThis will install the following files (e.g. on Ubuntu):
53*35ffd701SAndroid Build Coastguard Worker
54*35ffd701SAndroid Build Coastguard Worker| -- Install configuration: "Release"
55*35ffd701SAndroid Build Coastguard Worker| -- Installing: /usr/local/lib/libigdgmm.so.12.1.0
56*35ffd701SAndroid Build Coastguard Worker| -- Installing: /usr/local/lib/libigdgmm.so.12
57*35ffd701SAndroid Build Coastguard Worker|
58*35ffd701SAndroid Build Coastguard Worker
59*35ffd701SAndroid Build Coastguard Worker
60*35ffd701SAndroid Build Coastguard WorkerNot a stand alone software component.
61*35ffd701SAndroid Build Coastguard WorkerGmmLib is built as dynamic library for Intel media driver and Compute runtime for OpenCL
62*35ffd701SAndroid Build Coastguard Worker
63*35ffd701SAndroid Build Coastguard WorkerSupported Platforms
64*35ffd701SAndroid Build Coastguard Worker-------------------
65*35ffd701SAndroid Build Coastguard WorkerIntel Atom and Core Processors supporting Gen8/Gen9/Gen10 graphics devices
66*35ffd701SAndroid Build Coastguard Worker
67*35ffd701SAndroid Build Coastguard WorkerBDW (Broadwell)
68*35ffd701SAndroid Build Coastguard Worker
69*35ffd701SAndroid Build Coastguard WorkerSKL (Skylake, Kaby Lake, Coffee Lake)
70*35ffd701SAndroid Build Coastguard Worker
71*35ffd701SAndroid Build Coastguard WorkerBXTx (BXT: Broxton, APL: Apollo Lake, GLK: Gemini Lake)
72*35ffd701SAndroid Build Coastguard Worker
73*35ffd701SAndroid Build Coastguard WorkerKBLx (KBL: Kaby Lake, CFL: Coffe Lake, WHL: Whiskey Lake, CML: Comet Lake, AML: Amber Lake)
74*35ffd701SAndroid Build Coastguard Worker
75*35ffd701SAndroid Build Coastguard WorkerCNL (Cannonlake)
76*35ffd701SAndroid Build Coastguard Worker
77*35ffd701SAndroid Build Coastguard WorkerICL (Icelake)
78*35ffd701SAndroid Build Coastguard Worker
79*35ffd701SAndroid Build Coastguard WorkerTGLx (TGL: Tiger Lake, RKL: Rocket Lake)
80*35ffd701SAndroid Build Coastguard Worker
81*35ffd701SAndroid Build Coastguard WorkerADLx (ADL-S: Alder Lake S, ADL-P: Alder Lake P, ADL-N: Alder Lake N)
82*35ffd701SAndroid Build Coastguard Worker
83*35ffd701SAndroid Build Coastguard WorkerXE_LP (DG1)
84*35ffd701SAndroid Build Coastguard Worker
85*35ffd701SAndroid Build Coastguard WorkerXE_HP (XE_HP_SDV)
86*35ffd701SAndroid Build Coastguard Worker
87*35ffd701SAndroid Build Coastguard WorkerXE_HPC (PVC: Ponte Vecchio)
88*35ffd701SAndroid Build Coastguard Worker
89*35ffd701SAndroid Build Coastguard WorkerXE_HPG (DG2, ACM: Alchemist)
90*35ffd701SAndroid Build Coastguard Worker
91*35ffd701SAndroid Build Coastguard WorkerXe_LPG (MTL: Meteor Lake, ARL: Arrow Lake)
92*35ffd701SAndroid Build Coastguard Worker
93*35ffd701SAndroid Build Coastguard WorkerXe2_HPG (BMG: Battlemage, LNL: Lunar Lake)
94*35ffd701SAndroid Build Coastguard Worker
95*35ffd701SAndroid Build Coastguard WorkerRelease Tags
96*35ffd701SAndroid Build Coastguard Worker============
97*35ffd701SAndroid Build Coastguard Worker
98*35ffd701SAndroid Build Coastguard WorkerGmmlib Release tag versioning schema follows:
99*35ffd701SAndroid Build Coastguard Worker
100*35ffd701SAndroid Build Coastguard Worker| Tag ``intel-gmmlib-<x>.<y>.<z>`` will be stable release series with the same API and ABI version with only bug fixes where,
101*35ffd701SAndroid Build Coastguard Worker| x = GMMLIB_API_MAJOR_VERSION + 10,
102*35ffd701SAndroid Build Coastguard Worker| y = GMMLIB_API_MINOR_VERSION,
103*35ffd701SAndroid Build Coastguard Worker| z = RELEASE NUMBER which is incremented as 0,1,2,...n for changes including new flag, bug fixes, etc.
104*35ffd701SAndroid Build Coastguard Worker|
105*35ffd701SAndroid Build Coastguard Worker| Example:
106*35ffd701SAndroid Build Coastguard Worker|   For GMM library ``libigdgmm.so.12.0.0``,
107*35ffd701SAndroid Build Coastguard Worker|   Tag = ``intel-gmmlib-22.0.0`` where,
108*35ffd701SAndroid Build Coastguard Worker|        22 = GMMLIB_API_MAJOR_VERSION + 10 = 12 + 10
109*35ffd701SAndroid Build Coastguard Worker|        0 = GMMLIB_API_MINOR_VERSION
110*35ffd701SAndroid Build Coastguard Worker|        0 = RELEASE NUMBER
111*35ffd701SAndroid Build Coastguard Worker|
112*35ffd701SAndroid Build Coastguard WorkerOn potential ABI break changes,
113*35ffd701SAndroid Build Coastguard Worker
114*35ffd701SAndroid Build Coastguard Worker| Tag ``intel-gmmlib-<x>.<y>.<z>`` becomes ``intel-gmmlib-<x + 1>.0.0``
115*35ffd701SAndroid Build Coastguard Worker| i.e ``intel-gmmlib-22.5.3`` becomes ``intel-gmmlib-23.0.0``
116*35ffd701SAndroid Build Coastguard Worker
117*35ffd701SAndroid Build Coastguard WorkerKnown Issues and Limitations
118*35ffd701SAndroid Build Coastguard Worker============================
119*35ffd701SAndroid Build Coastguard WorkerCurrent Gmmlib support only limited to Linux
120*35ffd701SAndroid Build Coastguard Worker
121*35ffd701SAndroid Build Coastguard Worker(*) Other names and brands may be claimed as property of others.
122*35ffd701SAndroid Build Coastguard Worker---------------------------------------------------------------
123*35ffd701SAndroid Build Coastguard Worker
124