Commit 0deebed7 by Chris Forbes

Adjust Android vulkan build

- Add initial device-side build configuration for LLVM7 - Made platform headers module available everywhere (host, device+core, device+vendor) - Added missing source files from src/Vulkan/* - Adjusted SPIRV-Tools build to be available to vendor code, and static only (otherwise we end up with a .so for it in the vendor image) Bug: b/122837488 Change-Id: I9be0eaf91c90a6967fe9d3f8350c94c530f61122 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28409Tested-by: 's avatarChris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarGreg Hartman <ghartman@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
parent 94e0305a
...@@ -91,6 +91,8 @@ cc_defaults { ...@@ -91,6 +91,8 @@ cc_defaults {
cc_library_headers { cc_library_headers {
name: "swiftshader_platform_headers", name: "swiftshader_platform_headers",
host_supported: true, host_supported: true,
device_supported: true,
vendor_available: true,
export_include_dirs: ["include"], export_include_dirs: ["include"],
} }
...@@ -101,13 +103,6 @@ cc_library_headers { ...@@ -101,13 +103,6 @@ cc_library_headers {
export_include_dirs: ["include/Android"], export_include_dirs: ["include/Android"],
} }
cc_library_headers {
name: "swiftshadervk_platform_headers",
vendor: true,
device_supported: true,
export_include_dirs: ["include"],
}
subdirs = [ subdirs = [
"src", "src",
"third_party/llvm-subzero", "third_party/llvm-subzero",
......
...@@ -187,6 +187,32 @@ cc_defaults { ...@@ -187,6 +187,32 @@ cc_defaults {
} }
cc_defaults { cc_defaults {
name: "libswiftshadervk_llvm_defaults",
srcs: [
"Reactor/Reactor.cpp",
"Reactor/LLVMReactor.cpp",
"Reactor/Routine.cpp",
"Reactor/LLVMRoutine.cpp",
"Reactor/LLVMRoutineManager.cpp",
],
cflags: [
"-DREACTOR_LLVM_VERSION=7",
"-Wno-unused-parameter",
"-Wno-implicit-fallthrough",
],
static_libs: [
"libLLVM7_swiftshader",
],
shared_libs: [
"libcutils",
],
}
cc_defaults {
name: "libswiftshader_subzero_defaults", name: "libswiftshader_subzero_defaults",
defaults: [ "libswiftshader_common_defaults", "swiftshader_subzero" ], defaults: [ "libswiftshader_common_defaults", "swiftshader_subzero" ],
...@@ -234,6 +260,24 @@ cc_library_static { ...@@ -234,6 +260,24 @@ cc_library_static {
} }
cc_library_static { cc_library_static {
name: "libswiftshadervk_llvm",
device_supported: true,
host_supported: false,
vendor: true,
defaults: [ "libswiftshadervk_llvm_defaults" ],
}
cc_library_static {
name: "libswiftshadervk_llvm_debug",
device_supported: true,
host_supported: false,
vendor: true,
defaults: [ "libswiftshadervk_llvm_defaults" ],
}
cc_library_static {
name: "libswiftshader_subzero", name: "libswiftshader_subzero",
defaults: [ "libswiftshader_common", "libswiftshader_subzero_defaults" ], defaults: [ "libswiftshader_common", "libswiftshader_subzero_defaults" ],
...@@ -539,10 +583,10 @@ cc_library_shared { ...@@ -539,10 +583,10 @@ cc_library_shared {
// Vulkan // Vulkan
cc_defaults { cc_defaults {
name: "libvk_swiftshader", name: "libvk_swiftshader_defaults",
device_supported: true, device_supported: true,
host_supported: true, host_supported: false,
vendor: true, vendor: true,
defaults: [ "swiftshader_common" ], defaults: [ "swiftshader_common" ],
...@@ -559,6 +603,7 @@ cc_defaults { ...@@ -559,6 +603,7 @@ cc_defaults {
"-Wno-implicit-fallthrough", "-Wno-implicit-fallthrough",
"-Wno-unused-parameter", "-Wno-unused-parameter",
"-Wno-unused-local-typedef", "-Wno-unused-local-typedef",
"-Wno-missing-field-initializers",
], ],
cppflags: [ cppflags: [
...@@ -568,11 +613,13 @@ cc_defaults { ...@@ -568,11 +613,13 @@ cc_defaults {
local_include_dirs: [ "Vulkan" ], local_include_dirs: [ "Vulkan" ],
version_script: "Vulkan/libvk_swiftshader.lds",
target: { target: {
android: { android: {
relative_install_path: "hw", relative_install_path: "hw",
header_libs: [ header_libs: [
"swiftshadervk_platform_headers", "swiftshader_platform_headers",
], ],
shared_libs: [ shared_libs: [
"libnativewindow", "libnativewindow",
...@@ -582,9 +629,6 @@ cc_defaults { ...@@ -582,9 +629,6 @@ cc_defaults {
"liblog", "liblog",
], ],
}, },
android_arm64: {
enabled: false,
}
}, },
} }
...@@ -605,34 +649,14 @@ cc_defaults { ...@@ -605,34 +649,14 @@ cc_defaults {
"Common/Socket.cpp", "Common/Socket.cpp",
"Common/Thread.cpp", "Common/Thread.cpp",
"Common/Timer.cpp", "Common/Timer.cpp",
"Device/Blitter.cpp", "Common/DebugAndroid.cpp",
"Device/Clipper.cpp", "Device/*.cpp",
"Device/Color.cpp", "Pipeline/*.cpp",
"Device/Config.cpp", "Vulkan/*.cpp",
"Device/Context.cpp", ],
"Device/ETC_Decoder.cpp",
"Device/Matrix.cpp", static_libs: [
"Device/PixelProcessor.cpp", "swiftshader_spirv-tools",
"Device/Plane.cpp",
"Device/Point.cpp",
"Device/QuadRasterizer.cpp",
"Device/Renderer.cpp",
"Device/Sampler.cpp",
"Device/SetupProcessor.cpp",
"Device/SwiftConfig.cpp",
"Device/Vector.cpp",
"Device/VertexProcessor.cpp",
"Pipeline/ComputeProgram.cpp",
"Pipeline/Constants.cpp",
"Pipeline/PixelProgram.cpp",
"Pipeline/PixelRoutine.cpp",
"Pipeline/SamplerCore.cpp",
"Pipeline/SetupRoutine.cpp",
"Pipeline/ShaderCore.cpp",
"Pipeline/SpirvShader.cpp",
"Pipeline/SpirvShader_dbg.cpp",
"Pipeline/VertexProgram.cpp",
"Pipeline/VertexRoutine.cpp",
], ],
include_dirs: [ include_dirs: [
...@@ -641,58 +665,53 @@ cc_defaults { ...@@ -641,58 +665,53 @@ cc_defaults {
], ],
} }
cc_defaults { cc_library_shared {
name: "libvk_swiftshader_debug_default", name: "vulkan.pastel",
defaults: [ "libvk_swiftshader" ], target: {
android_arm: {
enabled: false
},
},
cflags: [ static_libs: [
"-UNDEBUG", "libswiftshadervk_llvm_debug",
"-g", "libLLVM7_swiftshader",
"-O0",
"-DDEFAULT_THREAD_COUNT=1",
], ],
}
cc_defaults { host_supported: false,
name: "swiftshadervk_client_libraries_subzero_or_llvm_debug",
defaults: [ "libvk_swiftshader_debug_default" ], defaults: [
"libvk_swiftshader_common_defaults",
"libvk_swiftshader_defaults"
],
}
cc_library_shared {
name: "vulkan.pastel.debug",
target: { target: {
android_arm: { android_arm: {
static_libs: [ enabled: false
"libswiftshader_subzero_debug",
"libsubzero",
"libLLVMSupport_subzero",
],
},
android: {
static_libs: [
"libswiftshader_llvm_debug",
"libLLVM_swiftshader",
],
},
host: {
static_libs: [
"libswiftshader_llvm_debug",
"libLLVM_swiftshader",
],
}, },
}, },
}
cc_library_shared { static_libs: [
name: "libvk_swiftshader_debug", "libswiftshadervk_llvm_debug",
"libLLVM7_swiftshader",
],
device_supported: true, host_supported: false,
cflags: [
"-UNDEBUG",
"-g",
"-O0",
"-DDEFAULT_THREAD_COUNT=1",
],
defaults: [ defaults: [
"swiftshadervk_client_libraries_subzero_or_llvm_debug",
"libvk_swiftshader_common_defaults", "libvk_swiftshader_common_defaults",
"libvk_swiftshader" "libvk_swiftshader_defaults",
], ],
} }
\ No newline at end of file
...@@ -214,8 +214,9 @@ genrule { // FIXME this relies on `git` which is no good on build machines ...@@ -214,8 +214,9 @@ genrule { // FIXME this relies on `git` which is no good on build machines
"$(location build-version.inc)", "$(location build-version.inc)",
} }
cc_library { cc_library_static {
name: "swiftshader_spirv-tools", name: "swiftshader_spirv-tools",
vendor_available: true,
sdk_version: "27", sdk_version: "27",
srcs: [ srcs: [
"source/*.cpp", "source/*.cpp",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment