xref: /aosp_15_r20/external/gmmlib/Android.bp (revision 35ffd701415c9e32e53136d61a677a8d0a8fc4a5)
1*35ffd701SAndroid Build Coastguard Worker// Copyright (c) 2024, Intel Corporation
2*35ffd701SAndroid Build Coastguard Worker
3*35ffd701SAndroid Build Coastguard Worker// Permission is hereby granted, free of charge, to any person obtaining a
4*35ffd701SAndroid Build Coastguard Worker// copy of this software and associated documentation files (the "Software"),
5*35ffd701SAndroid Build Coastguard Worker// to deal in the Software without restriction, including without limitation
6*35ffd701SAndroid Build Coastguard Worker// the rights to use, copy, modify, merge, publish, distribute, sublicense,
7*35ffd701SAndroid Build Coastguard Worker// and/or sell copies of the Software, and to permit persons to whom the
8*35ffd701SAndroid Build Coastguard Worker// Software is furnished to do so, subject to the following conditions:
9*35ffd701SAndroid Build Coastguard Worker
10*35ffd701SAndroid Build Coastguard Worker// The above copyright notice and this permission notice shall be included
11*35ffd701SAndroid Build Coastguard Worker// in all copies or substantial portions of the Software.
12*35ffd701SAndroid Build Coastguard Worker
13*35ffd701SAndroid Build Coastguard Worker// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14*35ffd701SAndroid Build Coastguard Worker// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15*35ffd701SAndroid Build Coastguard Worker// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16*35ffd701SAndroid Build Coastguard Worker// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
17*35ffd701SAndroid Build Coastguard Worker// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18*35ffd701SAndroid Build Coastguard Worker// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19*35ffd701SAndroid Build Coastguard Worker// OTHER DEALINGS IN THE SOFTWARE.
20*35ffd701SAndroid Build Coastguard Worker
21*35ffd701SAndroid Build Coastguard Workerpackage {
22*35ffd701SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_gmmlib_license"],
23*35ffd701SAndroid Build Coastguard Worker}
24*35ffd701SAndroid Build Coastguard Worker
25*35ffd701SAndroid Build Coastguard Workerlicense {
26*35ffd701SAndroid Build Coastguard Worker    name: "external_gmmlib_license",
27*35ffd701SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
28*35ffd701SAndroid Build Coastguard Worker    license_text: [
29*35ffd701SAndroid Build Coastguard Worker        "LICENSE.md",
30*35ffd701SAndroid Build Coastguard Worker    ],
31*35ffd701SAndroid Build Coastguard Worker}
32*35ffd701SAndroid Build Coastguard Worker
33*35ffd701SAndroid Build Coastguard Workercc_library_shared {
34*35ffd701SAndroid Build Coastguard Worker    name: "libigdgmm_android",
35*35ffd701SAndroid Build Coastguard Worker    vendor: true,
36*35ffd701SAndroid Build Coastguard Worker    srcs: [
37*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmCachePolicy.cpp",
38*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmCachePolicyCommon.cpp",
39*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmGen10CachePolicy.cpp",
40*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmGen11CachePolicy.cpp",
41*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmGen12CachePolicy.cpp",
42*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmGen12dGPUCachePolicy.cpp",
43*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmGen8CachePolicy.cpp",
44*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmGen9CachePolicy.cpp",
45*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmXe2_LPGCachePolicy.cpp",
46*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/CachePolicy/GmmXe_LPGCachePolicy.cpp",
47*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/GlobalInfo/GmmClientContext.cpp",
48*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/GlobalInfo/GmmInfo.cpp",
49*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/GlobalInfo/GmmLibDllMain.cpp",
50*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Platform/GmmGen10Platform.cpp",
51*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Platform/GmmGen11Platform.cpp",
52*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Platform/GmmGen12Platform.cpp",
53*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Platform/GmmGen8Platform.cpp",
54*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Platform/GmmGen9Platform.cpp",
55*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Platform/GmmPlatform.cpp",
56*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Resource/GmmResourceInfo.cpp",
57*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Resource/GmmResourceInfoCommon.cpp",
58*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp",
59*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Resource/GmmRestrictions.cpp",
60*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp",
61*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmGen10Texture.cpp",
62*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmGen11Texture.cpp",
63*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmGen12Texture.cpp",
64*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmGen7Texture.cpp",
65*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmGen8Texture.cpp",
66*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmGen9Texture.cpp",
67*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmTexture.cpp",
68*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmTextureAlloc.cpp",
69*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmTextureOffset.cpp",
70*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmTextureSpecialCases.cpp",
71*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture/GmmXe_LPGTexture.cpp",
72*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/TranslationTable/GmmAuxTable.cpp",
73*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp",
74*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp",
75*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Utility/CpuSwizzleBlt/CpuSwizzleBlt.c",
76*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Utility/GmmLog/GmmLog.cpp",
77*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Utility/GmmUtility.cpp",
78*35ffd701SAndroid Build Coastguard Worker        "Source/Common/AssertTracer/AssertTracer.cpp",
79*35ffd701SAndroid Build Coastguard Worker    ],
80*35ffd701SAndroid Build Coastguard Worker
81*35ffd701SAndroid Build Coastguard Worker    cflags: [
82*35ffd701SAndroid Build Coastguard Worker        "-DGMM_LIB_DLL",
83*35ffd701SAndroid Build Coastguard Worker        "-DGMM_LIB_DLL_EXPORTS",
84*35ffd701SAndroid Build Coastguard Worker        "-DGMM_UNIFIED_LIB",
85*35ffd701SAndroid Build Coastguard Worker        "-DGMM_UNIFY_DAF_API",
86*35ffd701SAndroid Build Coastguard Worker        "-DISTDLIB_UMD",
87*35ffd701SAndroid Build Coastguard Worker        "-DSMALL_POOL_ALLOC",
88*35ffd701SAndroid Build Coastguard Worker        "-DUNUSED_ISTDLIB_MT",
89*35ffd701SAndroid Build Coastguard Worker        "-D_ATL_NO_WIN_SUPPORT",
90*35ffd701SAndroid Build Coastguard Worker        "-D_RELEASE",
91*35ffd701SAndroid Build Coastguard Worker        "-D_X64",
92*35ffd701SAndroid Build Coastguard Worker        "-D__GFX_MACRO_C__",
93*35ffd701SAndroid Build Coastguard Worker        "-D__GMM",
94*35ffd701SAndroid Build Coastguard Worker        "-D__STDC_CONSTANT_MACROS",
95*35ffd701SAndroid Build Coastguard Worker        "-D__STDC_LIMIT_MACROS",
96*35ffd701SAndroid Build Coastguard Worker        "-D__UMD",
97*35ffd701SAndroid Build Coastguard Worker        "-Digfx_gmmumd_dll_EXPORTS",
98*35ffd701SAndroid Build Coastguard Worker        "-fvisibility=hidden",
99*35ffd701SAndroid Build Coastguard Worker        "-fno-omit-frame-pointer",
100*35ffd701SAndroid Build Coastguard Worker        "-march=corei7",
101*35ffd701SAndroid Build Coastguard Worker        "-Werror",
102*35ffd701SAndroid Build Coastguard Worker        "-Wno-logical-op-parentheses",
103*35ffd701SAndroid Build Coastguard Worker        "-Wno-shift-negative-value",
104*35ffd701SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
105*35ffd701SAndroid Build Coastguard Worker    ],
106*35ffd701SAndroid Build Coastguard Worker
107*35ffd701SAndroid Build Coastguard Worker    cppflags: [
108*35ffd701SAndroid Build Coastguard Worker        "-Wno-implicit-fallthrough",
109*35ffd701SAndroid Build Coastguard Worker        "-Wno-missing-braces",
110*35ffd701SAndroid Build Coastguard Worker        "-Wno-unknown-pragmas",
111*35ffd701SAndroid Build Coastguard Worker        "-Wno-parentheses",
112*35ffd701SAndroid Build Coastguard Worker        "-Wno-pragma-pack",
113*35ffd701SAndroid Build Coastguard Worker        "-fexceptions",
114*35ffd701SAndroid Build Coastguard Worker        "-std=c++11",
115*35ffd701SAndroid Build Coastguard Worker        "-fvisibility-inlines-hidden",
116*35ffd701SAndroid Build Coastguard Worker        "-fno-use-cxa-atexit",
117*35ffd701SAndroid Build Coastguard Worker        "-fno-rtti",
118*35ffd701SAndroid Build Coastguard Worker        "-fcheck-new",
119*35ffd701SAndroid Build Coastguard Worker        "-pthread",
120*35ffd701SAndroid Build Coastguard Worker    ],
121*35ffd701SAndroid Build Coastguard Worker
122*35ffd701SAndroid Build Coastguard Worker    local_include_dirs: [
123*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib",
124*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Utility/GmmLog",
125*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/inc",
126*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Utility",
127*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/GlobalInfo",
128*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Texture",
129*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Resource",
130*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/Platform",
131*35ffd701SAndroid Build Coastguard Worker        "Source/util",
132*35ffd701SAndroid Build Coastguard Worker        "Source/inc",
133*35ffd701SAndroid Build Coastguard Worker        "Source/inc/common",
134*35ffd701SAndroid Build Coastguard Worker        "Source/inc/umKmInc",
135*35ffd701SAndroid Build Coastguard Worker    ],
136*35ffd701SAndroid Build Coastguard Worker
137*35ffd701SAndroid Build Coastguard Worker    enabled: false,
138*35ffd701SAndroid Build Coastguard Worker    arch: {
139*35ffd701SAndroid Build Coastguard Worker        x86_64: {
140*35ffd701SAndroid Build Coastguard Worker            enabled: true,
141*35ffd701SAndroid Build Coastguard Worker        },
142*35ffd701SAndroid Build Coastguard Worker    },
143*35ffd701SAndroid Build Coastguard Worker}
144*35ffd701SAndroid Build Coastguard Worker
145*35ffd701SAndroid Build Coastguard Workercc_library_headers {
146*35ffd701SAndroid Build Coastguard Worker    name: "libigdgmm_headers",
147*35ffd701SAndroid Build Coastguard Worker    vendor: true,
148*35ffd701SAndroid Build Coastguard Worker    export_include_dirs: [
149*35ffd701SAndroid Build Coastguard Worker        "Source/GmmLib/inc",
150*35ffd701SAndroid Build Coastguard Worker        "Source/inc",
151*35ffd701SAndroid Build Coastguard Worker        "Source/inc/common",
152*35ffd701SAndroid Build Coastguard Worker    ],
153*35ffd701SAndroid Build Coastguard Worker
154*35ffd701SAndroid Build Coastguard Worker    enabled: false,
155*35ffd701SAndroid Build Coastguard Worker    arch: {
156*35ffd701SAndroid Build Coastguard Worker        x86_64: {
157*35ffd701SAndroid Build Coastguard Worker            enabled: true,
158*35ffd701SAndroid Build Coastguard Worker        },
159*35ffd701SAndroid Build Coastguard Worker    },
160*35ffd701SAndroid Build Coastguard Worker}
161