// // 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. // package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "device_generic_opengl-transport_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 // SPDX-license-identifier-BSD default_applicable_licenses: ["device_generic_opengl-transport_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 $(location 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 $(location 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 $(location 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 $(location 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 $(location 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 $(location 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 $(location 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 $(location 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_buildhost_only" ], }