blob: ebdf6e846e994ca6bbe65853d9c674f8f75af658 [file] [log] [blame]
// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE
// CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
// DEPENDING ON IT IN YOUR PROJECT. ***
package {
default_team: "trendy_team_android_developer_tools",
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "hardware_google_gfxstream_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
// SPDX-license-identifier-BSD
// SPDX-license-identifier-ISC
// SPDX-license-identifier-MIT
// legacy_by_exception_only (by exception only)
// legacy_notice
// legacy_unencumbered
default_applicable_licenses: ["hardware_google_gfxstream_license"],
}
gfxstream_backend_static_deps = [
"gfxstream_base",
"gfxstream_host_common",
"libgfxstream_common_utils",
"libgfxstream_host_features",
"libgfxstream_etc",
"libgfxstream_glestranslator_egl",
"libgfxstream_glestranslator_glescm",
"libgfxstream_glestranslator_glesv2",
"libgfxstream_host_apigen_codec_common",
"libgfxstream_host_compressedtextures",
"libgfxstream_host_dispatch",
"libgfxstream_host_gl_host_common",
"libgfxstream_host_gl_server",
"libgfxstream_host_gles1_dec",
"libgfxstream_host_gles2_dec",
"libgfxstream_host_glestranslator_glcommon",
"libgfxstream_host_glsnapshot",
"libgfxstream_host_rendercontrol_dec",
"libgfxstream_host_vulkan_cereal",
"libgfxstream_host_vulkan_emulatedtextures",
"libgfxstream_host_vulkan_server",
"libgfxstream_thirdparty_glm",
]
gfxstream_backend_magma_static_deps = [
"libgfxstream_host_magma_dec",
"libgfxstream_host_magma_server",
]
cc_defaults {
name: "libgfxstream_backend_defaults",
defaults: ["gfxstream_defaults"],
vendor_available: true,
cflags: [
"-Wno-unused-parameter",
"-Wno-unused-variable",
"-Wno-unused-function",
"-Wno-unreachable-code-loop-increment",
],
header_libs: [
"gfxstream_opengl_headers",
"libgfxstream_host_vulkan_cereal_common",
],
// When this lib is build as a static lib, these static dependencies have
// to be included as a whole, because otherwise they are dropped from the
// built archive.
static: {
whole_static_libs: gfxstream_backend_static_deps,
},
shared: {
static_libs: gfxstream_backend_static_deps,
},
export_static_lib_headers: [
"gfxstream_base",
"libgfxstream_host_features",
"libgfxstream_host_gl_host_common",
"libgfxstream_host_gles2_dec",
"libgfxstream_host_glsnapshot",
"libgfxstream_host_vulkan_cereal",
],
shared_libs: [
"liblog", // gfxstream_base uses this via perfetto-libperfettobase
],
export_include_dirs: [
"include",
],
srcs: [
"Buffer.cpp",
"BlobManager.cpp",
"ChannelStream.cpp",
"ColorBuffer.cpp",
"DisplaySurface.cpp",
"DisplaySurfaceUser.cpp",
"Hwc2.cpp",
"PostWorker.cpp",
"PostWorkerGl.cpp",
"ReadBuffer.cpp",
"render_api.cpp",
"RenderChannelImpl.cpp",
"RenderThread.cpp",
"RenderThreadInfo.cpp",
"RenderThreadInfoGl.cpp",
"RingStream.cpp",
"SyncThread.cpp",
"RenderControl.cpp",
"RenderWindow.cpp",
"RenderLibImpl.cpp",
"RendererImpl.cpp",
"FrameBuffer.cpp",
"GfxStreamAgents.cpp",
"virtio-gpu-gfxstream-renderer.cpp",
"virtio-gpu-gfxstream-renderer-goldfish.cpp",
"VirtioGpuTimelines.cpp",
"VsyncThread.cpp",
],
host_ldlibs: [
"-lpthread",
],
target: {
host: {
srcs: ["NativeSubWindow_x11.cpp"],
},
android: {
srcs: ["NativeSubWindow_android.cpp"],
},
},
}
cc_library {
name: "libgfxstream_backend",
defaults: ["libgfxstream_backend_defaults"],
}
cc_library {
name: "libgfxstream_backend_magma",
defaults: ["libgfxstream_backend_defaults"],
static: {
whole_static_libs: gfxstream_backend_magma_static_deps,
},
shared: {
static_libs: gfxstream_backend_magma_static_deps,
},
export_static_lib_headers: gfxstream_backend_magma_static_deps,
}
cc_test_library {
name: "gfxstream_backend_test_support",
defaults: ["gfxstream_defaults"],
srcs: [
"tests/GLSnapshotTesting.cpp",
"tests/GLTestUtils.cpp",
"tests/GLSnapshotTestDispatch.cpp",
"tests/GLSnapshotTestStateUtils.cpp",
"tests/OpenGLTestContext.cpp",
"tests/SampleApplication.cpp",
"tests/ShaderUtils.cpp",
],
header_libs: [
"gfxstream_opengl_headers",
"libgfxstream_host_vulkan_cereal_common",
],
shared_libs: [
"libbase",
"libgfxstream_backend",
],
export_static_lib_headers: [
"libgfxstream_oswindow_test_support",
],
static_libs: [
"libgfxstream_host_apigen_codec_common",
"gfxstream_base",
"gfxstream_base_test_support",
"gfxstream_host_common_test_support",
"gfxstream_snapshot",
"libgfxstream_oswindow_test_support",
"libgmock",
"liblz4",
],
export_include_dirs: ["tests"],
}
// Run with `atest --host gfxstream_compositorvk_test`
cc_test_host {
name: "gfxstream_compositorvk_test",
defaults: ["gfxstream_defaults"],
header_libs: [
"libgfxstream_host_vulkan_cereal_common",
],
srcs: [
"tests/CompositorVk_unittest.cpp",
],
data: [
"tests/testdata/256x256_android.png",
"tests/testdata/256x256_android_with_transparency.png",
"tests/testdata/256x256_golden_blend_premultiplied.png",
"tests/testdata/256x256_golden_crop.png",
"tests/testdata/256x256_golden_simple_composition.png",
"tests/testdata/256x256_golden_multiple_layers.png",
"tests/testdata/256x256_golden_multiple_targets_0.png",
"tests/testdata/256x256_golden_multiple_targets_1.png",
"tests/testdata/256x256_golden_multiple_targets_2.png",
"tests/testdata/256x256_golden_multiple_targets_3.png",
"tests/testdata/256x256_golden_multiple_targets_4.png",
"tests/testdata/256x256_golden_multiple_targets_5.png",
"tests/testdata/256x256_golden_multiple_targets_6.png",
"tests/testdata/256x256_golden_multiple_targets_7.png",
"tests/testdata/256x256_golden_multiple_targets_8.png",
"tests/testdata/256x256_golden_multiple_targets_9.png",
"tests/testdata/256x256_golden_solid_color.png",
"tests/testdata/256x256_golden_solid_color_above.png",
"tests/testdata/256x256_golden_solid_color_below.png",
"tests/testdata/256x256_golden_transform_none.png",
"tests/testdata/256x256_golden_transform_fliph.png",
"tests/testdata/256x256_golden_transform_flipv.png",
"tests/testdata/256x256_golden_transform_rot90.png",
"tests/testdata/256x256_golden_transform_rot180.png",
"tests/testdata/256x256_golden_transform_rot270.png",
"tests/testdata/256x256_golden_transform_fliphrot90.png",
"tests/testdata/256x256_golden_transform_flipvrot90.png",
],
shared_libs: [
"libbase",
"libgfxstream_backend",
"libgfxstream_common_image",
],
static_libs: [
"libgfxstream_host_vulkan_server",
"libgfxstream_thirdparty_glm",
"libc++fs",
],
test_options: {
// Disabled by default as requires Vulkan.
unit_test: false,
},
test_suites: [
"general-tests",
],
}
// Run with `atest --host gfxstream_framebuffer_tests`
cc_test_host {
name: "gfxstream_framebuffer_tests",
defaults: ["gfxstream_defaults"],
header_libs: [
"libgfxstream_host_vulkan_cereal_common",
],
srcs: [
"tests/FrameBuffer_unittest.cpp",
],
shared_libs: [
"libbase",
"libgfxstream_backend",
],
static_libs: [
"gfxstream_backend_test_support",
"gfxstream_base_test_support",
"gfxstream_base",
"gfxstream_host_common_test_support",
"gfxstream_snapshot",
"libgfxstream_common_image",
"libgfxstream_host_vulkan_server",
"libgfxstream_oswindow_test_support",
"libgfxstream_thirdparty_glm",
"libgmock",
"liblz4",
],
test_options: {
// Disabled by default as requires Vulkan.
unit_test: false,
},
test_suites: [
"general-tests",
],
}
cc_test_host {
name: "gfxstream_magma_tests",
defaults: ["gfxstream_defaults"],
srcs: [
"tests/Magma_unittest.cpp",
],
shared_libs: [
"libbase",
"libgfxstream_backend_magma",
],
test_suites: [
"general-tests",
],
}