blob: 2f8683a22011d9ef87a57714e3f64e6aea9d104a [file] [log] [blame]
Alistair Strachan60f86622018-03-22 17:37:55 -07001//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17cc_defaults {
18 name: "libswiftshader",
Alistair Strachan60f86622018-03-22 17:37:55 -070019 vendor: true,
Chris Forbes69f25352019-08-14 11:09:34 -070020 host_supported: true,
Alistair Strachan60f86622018-03-22 17:37:55 -070021
22 defaults: [ "swiftshader_common" ],
23
24 cflags: [
25 "-D_GNU_SOURCE",
26 "-D__STDC_LIMIT_MACROS",
27 "-D__STDC_CONSTANT_MACROS",
28 "-D__STDC_FORMAT_MACROS",
29 "-DHAVE_GRALLOC1",
30 "-DNO_SANITIZE_FUNCTION=",
31 // FIXME: Use <android/api-level.h> instead?
32 "-DANDROID_PLATFORM_SDK_VERSION=10000",
Nicolas Capens7cfb50c2018-12-08 12:35:32 -080033 "-Wno-implicit-fallthrough",
Alistair Strachan60f86622018-03-22 17:37:55 -070034 "-Wno-unused-parameter",
35 "-Wno-unused-local-typedef",
36 ],
37
38 cppflags: [
39 "-Wno-sign-promo",
40 "-Wno-non-virtual-dtor",
41 ],
42
43 local_include_dirs: [ "OpenGL" ],
44
45 target: {
46 android: {
Chris Forbese7043252019-09-17 19:26:09 -070047 relative_install_path: "egl",
Alistair Strachan60f86622018-03-22 17:37:55 -070048 header_libs: [
49 "swiftshader_platform_headers",
Chris Forbes9f1e03b2020-01-09 11:45:28 -080050 "libnativebase_headers",
Alistair Strachan60f86622018-03-22 17:37:55 -070051 ],
52 shared_libs: [
53 "libnativewindow",
54 "libhardware",
55 "libcutils",
56 "libsync",
57 "liblog",
Chris Forbese7043252019-09-17 19:26:09 -070058 ],
59 static_libs: [
60 "libarect",
Alistair Strachan60f86622018-03-22 17:37:55 -070061 ],
62 },
63
64 host: {
65 header_libs: [
66 "swiftshader_host_headers",
67 "swiftshader_platform_headers",
Chris Forbes9f1e03b2020-01-09 11:45:28 -080068 "libnativebase_headers",
Alistair Strachan60f86622018-03-22 17:37:55 -070069 ],
70
71 // Pretend to build for Android
72 cflags: [ "-D__ANDROID__", "-DANDROID_HOST_BUILD" ],
73
74 allow_undefined_symbols: true,
75 host_ldlibs: ["-ldl"],
76 },
77 },
78}
79
80cc_defaults {
81 name: "libswiftshader_release",
82
83 defaults: [ "libswiftshader" ],
84
85 cflags: [
86 "-fomit-frame-pointer",
87 "-ffunction-sections",
88 "-fdata-sections",
89 "-DANGLE_DISABLE_TRACE",
90 ],
91}
92
93cc_defaults {
94 name: "libswiftshader_debug",
95
96 defaults: [ "libswiftshader" ],
97
98 cflags: [
99 "-UNDEBUG",
100 "-g",
101 "-O0",
102 "-DDEFAULT_THREAD_COUNT=1",
103 ],
104}
105
106// Common libraries
107
108cc_defaults {
109 name: "libswiftshader_common_defaults",
110
111 cflags: [
112 "-DLOG_TAG=\"swiftshader\"",
113 ],
114
115 srcs: [
Alistair Strachan60f86622018-03-22 17:37:55 -0700116 "Common/Configurator.cpp",
Ben Clayton25e06e02020-02-07 11:19:08 +0000117 "Common/CPUID.cpp",
Alistair Strachan60f86622018-03-22 17:37:55 -0700118 "Common/DebugAndroid.cpp",
119 "Common/GrallocAndroid.cpp",
120 "Common/Half.cpp",
121 "Common/Math.cpp",
122 "Common/Memory.cpp",
123 "Common/Resource.cpp",
Ben Clayton25e06e02020-02-07 11:19:08 +0000124 "Common/SharedLibrary.cpp",
Alistair Strachan60f86622018-03-22 17:37:55 -0700125 "Common/Socket.cpp",
126 "Common/Thread.cpp",
127 "Common/Timer.cpp",
128 "Main/Config.cpp",
129 "Main/FrameBuffer.cpp",
130 "Main/FrameBufferAndroid.cpp",
131 "Main/SwiftConfig.cpp",
132 "Renderer/Blitter.cpp",
133 "Renderer/Clipper.cpp",
134 "Renderer/Color.cpp",
135 "Renderer/Context.cpp",
136 "Renderer/ETC_Decoder.cpp",
137 "Renderer/Matrix.cpp",
138 "Renderer/PixelProcessor.cpp",
139 "Renderer/Plane.cpp",
140 "Renderer/Point.cpp",
141 "Renderer/QuadRasterizer.cpp",
142 "Renderer/Renderer.cpp",
143 "Renderer/Sampler.cpp",
144 "Renderer/SetupProcessor.cpp",
145 "Renderer/Surface.cpp",
146 "Renderer/TextureStage.cpp",
147 "Renderer/Vector.cpp",
148 "Renderer/VertexProcessor.cpp",
149 "Shader/Constants.cpp",
150 "Shader/PixelPipeline.cpp",
151 "Shader/PixelProgram.cpp",
152 "Shader/PixelRoutine.cpp",
153 "Shader/PixelShader.cpp",
154 "Shader/SamplerCore.cpp",
155 "Shader/SetupRoutine.cpp",
156 "Shader/Shader.cpp",
157 "Shader/ShaderCore.cpp",
158 "Shader/VertexPipeline.cpp",
159 "Shader/VertexProgram.cpp",
160 "Shader/VertexRoutine.cpp",
161 "Shader/VertexShader.cpp",
162 "OpenGL/common/Image.cpp",
163 "OpenGL/common/Object.cpp",
164 "OpenGL/common/MatrixStack.cpp",
165 ],
166
167 target: {
168 host: {
169 exclude_srcs: [ "Common/DebugAndroid.cpp" ],
170 srcs: [ "Common/Debug.cpp" ],
171 },
172 },
173}
174
175cc_defaults {
176 name: "libswiftshader_llvm_defaults",
177
178 defaults: [ "libswiftshader_common_defaults" ],
179
Ben Clayton25e06e02020-02-07 11:19:08 +0000180 header_libs: [
181 "swiftshader_platform_headers",
182 ],
183
Alistair Strachan60f86622018-03-22 17:37:55 -0700184 srcs: [
Ben Claytonb3b2a4f2020-02-08 14:20:20 +0000185 "Reactor/CPUID.cpp",
186 "Reactor/Debug.cpp",
187 "Reactor/EmulatedReactor.cpp",
188 "Reactor/ExecutableMemory.cpp",
Nicolas Capens41a73022020-01-30 00:30:14 -0500189 "Reactor/LLVMJIT.cpp",
Alistair Strachan60f86622018-03-22 17:37:55 -0700190 "Reactor/LLVMReactor.cpp",
Ben Claytonb3b2a4f2020-02-08 14:20:20 +0000191 "Reactor/Reactor.cpp",
Alistair Strachan60f86622018-03-22 17:37:55 -0700192 ],
193
Ben Claytond632e6d2019-04-12 16:51:47 -0400194 cflags: [
Ben Claytond632e6d2019-04-12 16:51:47 -0400195 "-Wno-unused-parameter",
196 "-Wno-implicit-fallthrough",
197 ],
198
Alistair Strachan60f86622018-03-22 17:37:55 -0700199 static_libs: [
Ben Claytond632e6d2019-04-12 16:51:47 -0400200 "libLLVM7_swiftshader",
Alistair Strachan60f86622018-03-22 17:37:55 -0700201 ],
Ben Clayton25e06e02020-02-07 11:19:08 +0000202
203 shared_libs: [
204 "liblog",
205 ],
Alistair Strachan60f86622018-03-22 17:37:55 -0700206}
207
208cc_defaults {
Chris Forbes0deebed2019-04-05 10:07:33 -0700209 name: "libswiftshadervk_llvm_defaults",
210
Ben Clayton25e06e02020-02-07 11:19:08 +0000211 header_libs: [
212 "swiftshader_platform_headers",
213 ],
214
Chris Forbes0deebed2019-04-05 10:07:33 -0700215 srcs: [
Ben Claytonb3b2a4f2020-02-08 14:20:20 +0000216 "Reactor/CPUID.cpp",
217 "Reactor/Debug.cpp",
218 "Reactor/EmulatedReactor.cpp",
219 "Reactor/ExecutableMemory.cpp",
Nicolas Capens41a73022020-01-30 00:30:14 -0500220 "Reactor/LLVMJIT.cpp",
Chris Forbes0deebed2019-04-05 10:07:33 -0700221 "Reactor/LLVMReactor.cpp",
Ben Claytonb3b2a4f2020-02-08 14:20:20 +0000222 "Reactor/Reactor.cpp",
Chris Forbes0deebed2019-04-05 10:07:33 -0700223 ],
224
225 cflags: [
Chris Forbes0deebed2019-04-05 10:07:33 -0700226 "-Wno-unused-parameter",
227 "-Wno-implicit-fallthrough",
228 ],
229
230 static_libs: [
231 "libLLVM7_swiftshader",
232 ],
233
234 shared_libs: [
235 "libcutils",
Ben Clayton25e06e02020-02-07 11:19:08 +0000236 "liblog",
Chris Forbes0deebed2019-04-05 10:07:33 -0700237 ],
238}
239
240cc_defaults {
Alistair Strachan60f86622018-03-22 17:37:55 -0700241 name: "libswiftshader_common",
242
243 defaults: [ "libswiftshader_release", "libswiftshader_common_defaults" ],
244}
245
246cc_defaults {
247 name: "libswiftshader_common_debug",
248
249 srcs: [ "OpenGL/common/debug.cpp" ],
250
251 defaults: [ "libswiftshader_debug", "libswiftshader_common_defaults" ],
Jason Macnak2ef66b62019-09-20 09:43:46 -0700252
253 shared_libs: [
254 "libutils",
255 ],
Alistair Strachan60f86622018-03-22 17:37:55 -0700256}
257
258cc_library_static {
259 name: "libswiftshader_llvm",
Alistair Strachan60f86622018-03-22 17:37:55 -0700260 defaults: [ "libswiftshader_common", "libswiftshader_llvm_defaults" ],
261}
262
263cc_library_static {
264 name: "libswiftshader_llvm_debug",
Alistair Strachan60f86622018-03-22 17:37:55 -0700265 defaults: [ "libswiftshader_common_debug", "libswiftshader_llvm_defaults" ],
266}
267
268cc_library_static {
Chris Forbes0deebed2019-04-05 10:07:33 -0700269 name: "libswiftshadervk_llvm",
Chris Forbes0deebed2019-04-05 10:07:33 -0700270 vendor: true,
Chris Forbes0deebed2019-04-05 10:07:33 -0700271 defaults: [ "libswiftshadervk_llvm_defaults" ],
272}
273
274cc_library_static {
275 name: "libswiftshadervk_llvm_debug",
Chris Forbes0deebed2019-04-05 10:07:33 -0700276 vendor: true,
Chris Forbes0deebed2019-04-05 10:07:33 -0700277 defaults: [ "libswiftshadervk_llvm_defaults" ],
278}
279
Alistair Strachan60f86622018-03-22 17:37:55 -0700280// compiler libraries
281
282cc_defaults {
283 name: "libswiftshader_compiler_defaults",
284
285 defaults: [ "libswiftshader" ],
286
287 cflags: [
288 "-DLOG_TAG=\"swiftshader_compiler\"",
289 ],
290
291 srcs: [
292 "OpenGL/compiler/preprocessor/DiagnosticsBase.cpp",
293 "OpenGL/compiler/preprocessor/DirectiveHandlerBase.cpp",
294 "OpenGL/compiler/preprocessor/DirectiveParser.cpp",
295 "OpenGL/compiler/preprocessor/ExpressionParser.cpp",
296 "OpenGL/compiler/preprocessor/Input.cpp",
297 "OpenGL/compiler/preprocessor/Lexer.cpp",
298 "OpenGL/compiler/preprocessor/Macro.cpp",
299 "OpenGL/compiler/preprocessor/MacroExpander.cpp",
300 "OpenGL/compiler/preprocessor/Preprocessor.cpp",
301 "OpenGL/compiler/preprocessor/Token.cpp",
302 "OpenGL/compiler/preprocessor/Tokenizer.cpp",
303 "OpenGL/compiler/AnalyzeCallDepth.cpp",
304 "OpenGL/compiler/Compiler.cpp",
305 "OpenGL/compiler/debug.cpp",
306 "OpenGL/compiler/Diagnostics.cpp",
307 "OpenGL/compiler/DirectiveHandler.cpp",
308 "OpenGL/compiler/glslang_lex.cpp",
309 "OpenGL/compiler/glslang_tab.cpp",
310 "OpenGL/compiler/InfoSink.cpp",
311 "OpenGL/compiler/Initialize.cpp",
312 "OpenGL/compiler/InitializeParseContext.cpp",
313 "OpenGL/compiler/IntermTraverse.cpp",
314 "OpenGL/compiler/Intermediate.cpp",
315 "OpenGL/compiler/intermOut.cpp",
316 "OpenGL/compiler/ossource_posix.cpp",
317 "OpenGL/compiler/OutputASM.cpp",
318 "OpenGL/compiler/parseConst.cpp",
319 "OpenGL/compiler/ParseHelper.cpp",
320 "OpenGL/compiler/PoolAlloc.cpp",
321 "OpenGL/compiler/SymbolTable.cpp",
322 "OpenGL/compiler/TranslatorASM.cpp",
323 "OpenGL/compiler/util.cpp",
324 "OpenGL/compiler/ValidateLimitations.cpp",
325 "OpenGL/compiler/ValidateSwitch.cpp",
326 ],
327}
328
329cc_library_static {
330 name: "libswiftshader_compiler",
331
332 defaults: [ "libswiftshader_release", "libswiftshader_compiler_defaults" ],
333}
334
335cc_library_static {
336 name: "libswiftshader_compiler_debug",
337
338 defaults: [ "libswiftshader_debug", "libswiftshader_compiler_defaults" ],
339}
340
341// libEGL libraries
342
343cc_defaults {
Chris Forbes69f25352019-08-14 11:09:34 -0700344 name: "swiftshader_client_libraries",
Alistair Strachan60f86622018-03-22 17:37:55 -0700345
346 defaults: [ "libswiftshader_release" ],
Chris Forbes69f25352019-08-14 11:09:34 -0700347 static_libs: [
348 "libswiftshader_llvm",
349 "libLLVM7_swiftshader",
350 ],
Alistair Strachan60f86622018-03-22 17:37:55 -0700351}
352
353cc_defaults {
Chris Forbes69f25352019-08-14 11:09:34 -0700354 name: "swiftshader_client_libraries_debug",
Alistair Strachan60f86622018-03-22 17:37:55 -0700355
356 defaults: [ "libswiftshader_debug" ],
Chris Forbes69f25352019-08-14 11:09:34 -0700357 static_libs: [
358 "libswiftshader_llvm_debug",
359 "libLLVM7_swiftshader",
360 ],
Alistair Strachan60f86622018-03-22 17:37:55 -0700361}
362
363cc_defaults {
364 name: "libEGL_swiftshader_defaults",
365
366 defaults: [ "libswiftshader" ],
367
368 cflags: [
369 "-DLOG_TAG=\"libEGL_swiftshader\"",
370 "-DEGLAPI=",
371 "-DEGL_EGLEXT_PROTOTYPES",
372 "-Wno-format",
373 ],
374
375 srcs: [
376 "OpenGL/libEGL/Config.cpp",
377 "OpenGL/libEGL/Display.cpp",
378 "OpenGL/libEGL/Surface.cpp",
379 "OpenGL/libEGL/libEGL.cpp",
380 "OpenGL/libEGL/main.cpp",
381 ],
382
383 version_script: "OpenGL/libEGL/libEGL.lds",
384}
385
386cc_library_shared {
387 name: "libEGL_swiftshader",
388
389 defaults: [
390 "libEGL_swiftshader_defaults",
Chris Forbes69f25352019-08-14 11:09:34 -0700391 "swiftshader_client_libraries",
Alistair Strachan60f86622018-03-22 17:37:55 -0700392 ],
393}
394
395cc_library_shared {
396 name: "libEGL_swiftshader_debug",
397
398 defaults: [
399 "libEGL_swiftshader_defaults",
Chris Forbes69f25352019-08-14 11:09:34 -0700400 "swiftshader_client_libraries_debug",
Alistair Strachan60f86622018-03-22 17:37:55 -0700401 ],
402}
403
404// libGLESv1_CM libraries
405
406cc_defaults {
407 name: "libGLESv1_CM_swiftshader_defaults",
408
409 defaults: [ "libswiftshader" ],
410
411 cflags: [
412 "-DLOG_TAG=\"libGLES_CM_swiftshader\"",
413 "-DEGLAPI=",
414 "-DGL_API=",
415 "-DGL_APICALL=",
416 "-DGL_GLEXT_PROTOTYPES",
417 "-Wno-format",
418 ],
419
420 srcs: [
421 "OpenGL/libGLES_CM/Buffer.cpp",
422 "OpenGL/libGLES_CM/Context.cpp",
423 "OpenGL/libGLES_CM/Device.cpp",
424 "OpenGL/libGLES_CM/Framebuffer.cpp",
425 "OpenGL/libGLES_CM/IndexDataManager.cpp",
426 "OpenGL/libGLES_CM/libGLES_CM.cpp",
427 "OpenGL/libGLES_CM/main.cpp",
428 "OpenGL/libGLES_CM/Renderbuffer.cpp",
429 "OpenGL/libGLES_CM/ResourceManager.cpp",
430 "OpenGL/libGLES_CM/Texture.cpp",
431 "OpenGL/libGLES_CM/utilities.cpp",
432 "OpenGL/libGLES_CM/VertexDataManager.cpp",
433 ],
434
435 version_script: "OpenGL/libGLES_CM/libGLES_CM.lds",
436}
437
438cc_library_shared {
439 name: "libGLESv1_CM_swiftshader",
440
441 defaults: [
442 "libGLESv1_CM_swiftshader_defaults",
Chris Forbes69f25352019-08-14 11:09:34 -0700443 "swiftshader_client_libraries",
Alistair Strachan60f86622018-03-22 17:37:55 -0700444 ],
445}
446
447cc_library_shared {
448 name: "libGLESv1_CM_swiftshader_debug",
449
450 defaults: [
451 "libGLESv1_CM_swiftshader_defaults",
Chris Forbes69f25352019-08-14 11:09:34 -0700452 "swiftshader_client_libraries_debug",
Alistair Strachan60f86622018-03-22 17:37:55 -0700453 ],
454}
455
456// libGLESv2 libraries
457
458cc_defaults {
459 name: "libGLESv2_swiftshader_defaults",
460
461 defaults: [ "libswiftshader" ],
462
463 cflags: [
464 "-DLOG_TAG=\"libGLESv2_swiftshader\"",
465 "-DEGLAPI=",
466 "-DGL_API=",
467 "-DGL_APICALL=",
468 "-DGL_GLEXT_PROTOTYPES",
469 "-Wno-format",
470 ],
471
472 srcs: [
473 "OpenGL/libGLESv2/Buffer.cpp",
474 "OpenGL/libGLESv2/Context.cpp",
475 "OpenGL/libGLESv2/Device.cpp",
476 "OpenGL/libGLESv2/Fence.cpp",
477 "OpenGL/libGLESv2/Framebuffer.cpp",
478 "OpenGL/libGLESv2/IndexDataManager.cpp",
479 "OpenGL/libGLESv2/libGLESv2.cpp",
480 "OpenGL/libGLESv2/libGLESv3.cpp",
481 "OpenGL/libGLESv2/main.cpp",
482 "OpenGL/libGLESv2/entry_points.cpp",
483 "OpenGL/libGLESv2/Program.cpp",
484 "OpenGL/libGLESv2/Query.cpp",
485 "OpenGL/libGLESv2/Renderbuffer.cpp",
486 "OpenGL/libGLESv2/ResourceManager.cpp",
487 "OpenGL/libGLESv2/Shader.cpp",
488 "OpenGL/libGLESv2/Texture.cpp",
489 "OpenGL/libGLESv2/TransformFeedback.cpp",
490 "OpenGL/libGLESv2/utilities.cpp",
491 "OpenGL/libGLESv2/VertexArray.cpp",
492 "OpenGL/libGLESv2/VertexDataManager.cpp",
493 ],
494
495 version_script: "OpenGL/libGLESv2/libGLESv2.lds",
496}
497
498cc_library_shared {
499 name: "libGLESv2_swiftshader",
500
501 defaults: [
502 "libGLESv2_swiftshader_defaults",
Chris Forbes69f25352019-08-14 11:09:34 -0700503 "swiftshader_client_libraries",
Alistair Strachan60f86622018-03-22 17:37:55 -0700504 ],
505
506 static_libs: [ "libswiftshader_compiler" ],
507}
508
509cc_library_shared {
510 name: "libGLESv2_swiftshader_debug",
511
512 defaults: [
513 "libGLESv2_swiftshader_defaults",
Chris Forbes69f25352019-08-14 11:09:34 -0700514 "swiftshader_client_libraries_debug",
Alistair Strachan60f86622018-03-22 17:37:55 -0700515 ],
Alistair Strachan60f86622018-03-22 17:37:55 -0700516
517 static_libs: [ "libswiftshader_compiler_debug" ],
518}
Hernan Liatis94e03052019-03-29 11:55:30 -0700519
Hernan Liatis94e03052019-03-29 11:55:30 -0700520
521// Vulkan
522
Tim Van Patten9da287f2019-11-07 10:27:18 -0700523genrule {
524 name: "commit_header",
525 out: ["commit.h"],
526 tool_files: ["commit_id.py"],
527 cmd: "$(location commit_id.py) gen $(genDir)/commit.h",
528}
529
Hernan Liatis94e03052019-03-29 11:55:30 -0700530cc_defaults {
Chris Forbes0deebed2019-04-05 10:07:33 -0700531 name: "libvk_swiftshader_defaults",
Hernan Liatis94e03052019-03-29 11:55:30 -0700532 vendor: true,
533
534 defaults: [ "swiftshader_common" ],
535
536 cflags: [
537 "-D_GNU_SOURCE",
538 "-D__STDC_LIMIT_MACROS",
539 "-D__STDC_CONSTANT_MACROS",
540 "-D__STDC_FORMAT_MACROS",
541 "-DHAVE_GRALLOC1",
542 "-DNO_SANITIZE_FUNCTION=",
543 // FIXME: Use <android/api-level.h> instead?
544 "-DANDROID_PLATFORM_SDK_VERSION=10000",
545 "-Wno-implicit-fallthrough",
546 "-Wno-unused-parameter",
547 "-Wno-unused-local-typedef",
Chris Forbes0deebed2019-04-05 10:07:33 -0700548 "-Wno-missing-field-initializers",
Tim Van Patten9da287f2019-11-07 10:27:18 -0700549 // Enable to output commit hash when SwiftShader is initialized
550 //"-DENABLE_BUILD_VERSION_OUTPUT",
Hernan Liatis94e03052019-03-29 11:55:30 -0700551 ],
552
553 cppflags: [
554 "-Wno-sign-promo",
555 "-Wno-non-virtual-dtor",
556 ],
557
Nicolas Capense3621dc2020-02-25 22:45:42 -0500558 ldflags: [
559 // -Bsymbolic binds symbol references to their global definitions within
560 // a shared object, thereby preventing symbol preemption.
561 "-Wl,-Bsymbolic",
562 ],
563
Hernan Liatis94e03052019-03-29 11:55:30 -0700564 local_include_dirs: [ "Vulkan" ],
565
Lingfeng Yangddee0f32020-02-03 18:04:48 -0800566 version_script: "Vulkan/android_vk_swiftshader.lds",
Chris Forbes0deebed2019-04-05 10:07:33 -0700567
Tim Van Patten9da287f2019-11-07 10:27:18 -0700568 generated_headers: [ "commit_header" ],
569
Hernan Liatis94e03052019-03-29 11:55:30 -0700570 target: {
571 android: {
572 relative_install_path: "hw",
573 header_libs: [
Chris Forbes0deebed2019-04-05 10:07:33 -0700574 "swiftshader_platform_headers",
Chris Forbes9f1e03b2020-01-09 11:45:28 -0800575 "vulkan_headers",
Chris Forbesd6ccc312019-04-23 17:39:58 -0700576 "hwvulkan_headers",
Hernan Liatis94e03052019-03-29 11:55:30 -0700577 ],
578 shared_libs: [
579 "libnativewindow",
580 "libhardware",
581 "libcutils",
582 "libsync",
583 "liblog",
584 ],
Chris Forbes9f1e03b2020-01-09 11:45:28 -0800585 static_libs: [
586 "libarect",
587 ],
Hernan Liatis94e03052019-03-29 11:55:30 -0700588 },
Hernan Liatis94e03052019-03-29 11:55:30 -0700589 },
590}
591
Alexis Hetu1b900872020-02-24 12:09:16 -0500592cc_library_static {
593 name: "swiftshader_debug",
594
595 vendor_available: true,
596
597 cflags: [
598 "-DLOG_TAG=\"swiftshader\"",
599 ],
600
601 srcs: [
602 "System/Debug.cpp",
603 ],
604
605 export_include_dirs: [
606 ".",
607 ],
608
609 shared_libs: [
610 "liblog",
611 ],
612}
613
Hernan Liatis94e03052019-03-29 11:55:30 -0700614cc_defaults {
615 name: "libvk_swiftshader_common_defaults",
616
617 cflags: [
618 "-DLOG_TAG=\"swiftshader\"",
Chris Forbes9f1e03b2020-01-09 11:45:28 -0800619 "-DSWIFTSHADER_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER",
Nicolas Capensa4347a92020-03-01 08:29:25 -0500620 "-DSWIFTSHADER_ENABLE_ASTC", // TODO(b/150130101)
Hernan Liatis94e03052019-03-29 11:55:30 -0700621 ],
622
623 srcs: [
Ben Clayton77c89ff2020-01-08 19:10:14 +0000624 "System/Build.cpp",
Hernan Liatis628604e2019-05-07 15:30:18 -0700625 "System/Configurator.cpp",
Ben Clayton25e06e02020-02-07 11:19:08 +0000626 "System/CPUID.cpp",
Ben Clayton25e06e02020-02-07 11:19:08 +0000627 "System/GrallocAndroid.cpp",
Hernan Liatis628604e2019-05-07 15:30:18 -0700628 "System/Half.cpp",
David 'Digit' Turnerc9fa9fe2019-08-13 19:05:01 +0200629 "System/Linux/MemFd.cpp",
Hernan Liatis628604e2019-05-07 15:30:18 -0700630 "System/Math.cpp",
631 "System/Memory.cpp",
Hernan Liatis628604e2019-05-07 15:30:18 -0700632 "System/Socket.cpp",
Hernan Liatis628604e2019-05-07 15:30:18 -0700633 "System/Timer.cpp",
Chris Forbes0deebed2019-04-05 10:07:33 -0700634 "Device/*.cpp",
635 "Pipeline/*.cpp",
636 "Vulkan/*.cpp",
637 ],
638
639 static_libs: [
Alexis Hetu1b900872020-02-24 12:09:16 -0500640 "swiftshader_astc",
641 "swiftshader_debug",
Ben Claytone693b622019-09-05 12:48:37 +0100642 "swiftshader_marl",
Chris Forbes0deebed2019-04-05 10:07:33 -0700643 "swiftshader_spirv-tools",
Hernan Liatis94e03052019-03-29 11:55:30 -0700644 ],
645
646 include_dirs: [
647 "external/swiftshader/third_party/SPIRV-Headers/include",
648 "external/swiftshader/include"
649 ],
650}
651
Chris Forbes0deebed2019-04-05 10:07:33 -0700652cc_library_shared {
653 name: "vulkan.pastel",
Hernan Liatis94e03052019-03-29 11:55:30 -0700654
Chris Forbes0deebed2019-04-05 10:07:33 -0700655 static_libs: [
656 "libswiftshadervk_llvm_debug",
657 "libLLVM7_swiftshader",
658 ],
659
Chris Forbes0deebed2019-04-05 10:07:33 -0700660 defaults: [
661 "libvk_swiftshader_common_defaults",
662 "libvk_swiftshader_defaults"
663 ],
664}
665
666cc_library_shared {
667 name: "vulkan.pastel.debug",
668
Chris Forbes0deebed2019-04-05 10:07:33 -0700669 static_libs: [
670 "libswiftshadervk_llvm_debug",
671 "libLLVM7_swiftshader",
672 ],
673
Hernan Liatis94e03052019-03-29 11:55:30 -0700674 cflags: [
675 "-UNDEBUG",
676 "-g",
677 "-O0",
678 "-DDEFAULT_THREAD_COUNT=1",
679 ],
Hernan Liatis94e03052019-03-29 11:55:30 -0700680
681 defaults: [
Hernan Liatis94e03052019-03-29 11:55:30 -0700682 "libvk_swiftshader_common_defaults",
Chris Forbes0deebed2019-04-05 10:07:33 -0700683 "libvk_swiftshader_defaults",
Hernan Liatis94e03052019-03-29 11:55:30 -0700684 ],
Chris Forbes0deebed2019-04-05 10:07:33 -0700685}