blob: e66086041a50ce8b0800b4b7e061b88ef37973ef [file] [log] [blame]
//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
genrule {
name: "glesv1_dec_cuttlefish_gensrc",
srcs: ["GLESv1_dec/*"],
tools: ["emugen_cuttlefish"],
cmd: "$(location emugen_cuttlefish) " +
"-i device/generic/opengl-transport/host/libs/virglrenderer/GLESv1_dec " +
"-D $(genDir) gles1",
out: ["gles1_dec.cpp"],
}
genrule {
name: "glesv1_dec_cuttlefish_genhdr",
srcs: ["GLESv1_dec/*"],
tools: ["emugen_cuttlefish"],
cmd: "$(location emugen_cuttlefish) " +
"-i device/generic/opengl-transport/host/libs/virglrenderer/GLESv1_dec " +
"-D $(genDir) gles1",
out: [
"gles1_dec.h",
"gles1_opcodes.h",
"gles1_server_context.h",
"gles1_server_proc.h",
],
}
genrule {
name: "glesv3_dec_cuttlefish_gensrc",
srcs: ["GLESv3_dec/*"],
tools: ["emugen_cuttlefish"],
cmd: "$(location emugen_cuttlefish) " +
"-i device/generic/opengl-transport/host/libs/virglrenderer/GLESv3_dec " +
"-D $(genDir) gles3",
out: ["gles3_dec.cpp"],
}
genrule {
name: "glesv3_dec_cuttlefish_genhdr",
srcs: ["GLESv3_dec/*"],
tools: ["emugen_cuttlefish"],
cmd: "$(location emugen_cuttlefish) " +
"-i device/generic/opengl-transport/host/libs/virglrenderer/GLESv3_dec " +
"-D $(genDir) gles3",
out: [
"gles3_dec.h",
"gles3_opcodes.h",
"gles3_server_context.h",
"gles3_server_proc.h",
],
}
genrule {
name: "rendercontrol_dec_cuttlefish_gensrc",
srcs: ["renderControl_dec/*"],
tools: ["emugen_cuttlefish"],
cmd: "$(location emugen_cuttlefish) " +
"-i device/generic/opengl-transport/host/libs/virglrenderer/renderControl_dec " +
"-D $(genDir) renderControl",
out: ["renderControl_dec.cpp"],
}
genrule {
name: "rendercontrol_dec_cuttlefish_genhdr",
srcs: ["renderControl_dec/*"],
tools: ["emugen_cuttlefish"],
cmd: "$(location emugen_cuttlefish) " +
"-i device/generic/opengl-transport/host/libs/virglrenderer/renderControl_dec " +
"-D $(genDir) renderControl",
out: [
"renderControl_dec.h",
"renderControl_opcodes.h",
"renderControl_server_context.h",
"renderControl_server_proc.h",
],
}
genrule {
name: "gles1_core_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/gles1_core.entries"],
out: ["gles1_core_functions.h"],
}
genrule {
name: "gles1_extensions_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/gles1_extensions.entries"],
out: ["gles1_extensions_functions.h"],
}
genrule {
name: "egl_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/egl.entries"],
out: ["egl_functions.h"],
}
genrule {
name: "gles3_only_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/gles3_only.entries"],
out: ["gles3_only_functions.h"],
}
genrule {
name: "gles31_only_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/gles31_only.entries"],
out: ["gles31_only_functions.h"],
}
genrule {
name: "gles2_extensions_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/gles2_extensions.entries"],
out: ["gles2_extensions_functions.h"],
}
genrule {
name: "egl_extensions_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/egl_extensions.entries"],
out: ["egl_extensions_functions.h"],
}
genrule {
name: "gles2_core_functions_hdr",
tool_files: ["gen_entries.py"],
cmd: "python device/generic/opengl-transport/host/libs/virglrenderer/gen_entries.py --mode=funcargs $(in) --output $(out)",
srcs: ["OpenGLESDispatch/gles2_core.entries"],
out: ["gles2_core_functions.h"],
}
cc_library_host_shared {
name: "libvirglrenderer_cuttlefish",
include_dirs: [
"external/libdrm",
"external/libdrm/include",
"device/generic/goldfish-opengl/system",
],
local_include_dirs: [
"GLESv1_dec",
"GLESv3_dec",
"include",
"renderControl_dec",
],
srcs: [
"AVDVirglRenderer.cpp",
"ChecksumCalculator.cpp",
"GLESv1.cpp",
"GLESv3.cpp",
"Gralloc1.cpp",
"OpenGLESDispatch/EGLDispatch.cpp",
"OpenGLESDispatch/GLESv1Dispatch.cpp",
"OpenGLESDispatch/GLESv3Dispatch.cpp",
"RenderControl.cpp",
],
cflags: ["-Wno-unused-parameter", "-DOPENGL_DEBUG_PRINTOUT"],
host_ldlibs: [ "-ldl" ],
generated_sources: [
"glesv1_dec_cuttlefish_gensrc",
"glesv3_dec_cuttlefish_gensrc",
"rendercontrol_dec_cuttlefish_gensrc",
],
generated_headers: [
"glesv1_dec_cuttlefish_genhdr",
"glesv3_dec_cuttlefish_genhdr",
"rendercontrol_dec_cuttlefish_genhdr",
"gles1_core_functions_hdr",
"gles1_extensions_functions_hdr",
"egl_functions_hdr",
"gles3_only_functions_hdr",
"gles31_only_functions_hdr",
"gles2_extensions_functions_hdr",
"egl_extensions_functions_hdr",
"gles2_core_functions_hdr",
],
header_libs: [
"virtio_gpu_uapi_headers",
"virgl_headers"
],
// TODO(b/118466250): Make this work on the Mac
version_script : "libvirglrenderer.lds",
defaults: [ "cuttlefish_host_only" ],
}