diff options
author | Roman Kiryanov <rkir@google.com> | 2020-05-19 18:07:23 -0700 |
---|---|---|
committer | Roman Kiryanov <rkir@google.com> | 2020-05-26 12:14:32 -0700 |
commit | a07b54a645a97cc75ba27cc27783567fd83c2ee1 (patch) | |
tree | d57281f4cbaedb3d20ecf9d28ba1de70bedb994d | |
parent | 0e9e325609763ee2bf4f2675428583adf0736969 (diff) | |
download | goldfish-opengl-a07b54a645a97cc75ba27cc27783567fd83c2ee1.tar.gz |
Retire duplicate qemu_pipe and gralloc_cb headers
Bug: 154151802
Test: build
Signed-off-by: Roman Kiryanov <rkir@google.com>
Merged-In: I3c0eb4470b1a2e7d67be3e4e16297b411b69dd76
Change-Id: I9bd934d1e86507dc91377b6d8f8ad5cc0184bf2f
36 files changed, 161 insertions, 436 deletions
@@ -130,6 +130,8 @@ ifeq (true,$(GOLDFISH_OPENGL_SHOULD_BUILD)) # Note that the build system will complain if you try to import a # module that hasn't been declared yet anyway. # +include $(GOLDFISH_OPENGL_PATH)/shared/qemupipe/Android.mk +include $(GOLDFISH_OPENGL_PATH)/shared/gralloc_cb/Android.mk include $(GOLDFISH_OPENGL_PATH)/shared/GoldfishAddressSpace/Android.mk include $(GOLDFISH_OPENGL_PATH)/shared/OpenglCodecCommon/Android.mk diff --git a/CMakeLists.txt b/CMakeLists.txt index db73df08..80c99c4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,9 @@ # instead run make from .../device/generic/goldfish-opengl # which will re-generate this file. set(GOLDFISH_DEVICE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) -android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/./Android.mk" "0b19effd5baa9428a2961d09cf6eba20e8ed0993cfde4dbc57de783d73a4b3de") +android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/./Android.mk" "a370ddecca4c7d13811527b2f1f30e2f0ef5153a58edeb36eeb306c41efb9158") +add_subdirectory(shared/qemupipe) +add_subdirectory(shared/gralloc_cb) add_subdirectory(shared/GoldfishAddressSpace) add_subdirectory(shared/OpenglCodecCommon) add_subdirectory(system/GLESv1_enc) diff --git a/android-emu/CMakeLists.txt b/android-emu/CMakeLists.txt index 1137d16c..cfdf39b0 100644 --- a/android-emu/CMakeLists.txt +++ b/android-emu/CMakeLists.txt @@ -7,4 +7,4 @@ android_add_library(TARGET androidemu SHARED LICENSE Apache-2.0 SRC android/base target_include_directories(androidemu PRIVATE ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(androidemu PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"androidemu\"") target_compile_options(androidemu PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-missing-field-initializers" "-fstrict-aliasing") -target_link_libraries(androidemu PRIVATE cutils utils log OpenglCodecCommon_host android-emu-shared)
\ No newline at end of file +target_link_libraries(androidemu PRIVATE cutils utils log OpenglCodecCommon_host android-emu-shared PRIVATE qemupipe_host)
\ No newline at end of file diff --git a/shared/OpenglCodecCommon/Android.mk b/shared/OpenglCodecCommon/Android.mk index 2bf0ac94..d9970d5c 100644 --- a/shared/OpenglCodecCommon/Android.mk +++ b/shared/OpenglCodecCommon/Android.mk @@ -18,7 +18,6 @@ ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST)) commonSources += \ goldfish_dma_host.cpp \ - qemu_pipe_host.cpp \ else @@ -30,6 +29,12 @@ endif ### CodecCommon guest ############################################## $(call emugl-begin-shared-library,libOpenglCodecCommon$(GOLDFISH_OPENGL_LIB_SUFFIX)) +ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST)) +$(call emugl-import,libqemupipe$(GOLDFISH_OPENGL_LIB_SUFFIX)) +else +$(call emugl-export,STATIC_LIBRARIES,libqemupipe.ranchu) +endif + LOCAL_SRC_FILES := $(commonSources) LOCAL_CFLAGS += -DLOG_TAG=\"eglCodecCommon\" diff --git a/shared/OpenglCodecCommon/CMakeLists.txt b/shared/OpenglCodecCommon/CMakeLists.txt index b8562218..6a1ac4ac 100644 --- a/shared/OpenglCodecCommon/CMakeLists.txt +++ b/shared/OpenglCodecCommon/CMakeLists.txt @@ -1,10 +1,10 @@ # This is an autogenerated file! Do not edit! # instead run make from .../device/generic/goldfish-opengl # which will re-generate this file. -android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon/Android.mk" "bebd16d098aaa8fb6a984f9f9e5cea7b6eda8f5409c2e684127572a137063fd3") -set(OpenglCodecCommon_host_src GLClientState.cpp GLESTextureUtils.cpp ChecksumCalculator.cpp GLSharedGroup.cpp glUtils.cpp IndexRangeCache.cpp SocketStream.cpp TcpStream.cpp auto_goldfish_dma_context.cpp goldfish_dma_host.cpp qemu_pipe_host.cpp) -android_add_library(TARGET OpenglCodecCommon_host SHARED LICENSE Apache-2.0 SRC GLClientState.cpp GLESTextureUtils.cpp ChecksumCalculator.cpp GLSharedGroup.cpp glUtils.cpp IndexRangeCache.cpp SocketStream.cpp TcpStream.cpp auto_goldfish_dma_context.cpp goldfish_dma_host.cpp qemu_pipe_host.cpp) -target_include_directories(OpenglCodecCommon_host PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon/Android.mk" "87f5c2c694647e3a38b4da1b4c653b99cd27d934b60ecd43aff59d3765daabfd") +set(OpenglCodecCommon_host_src GLClientState.cpp GLESTextureUtils.cpp ChecksumCalculator.cpp GLSharedGroup.cpp glUtils.cpp IndexRangeCache.cpp SocketStream.cpp TcpStream.cpp auto_goldfish_dma_context.cpp goldfish_dma_host.cpp) +android_add_library(TARGET OpenglCodecCommon_host SHARED LICENSE Apache-2.0 SRC GLClientState.cpp GLESTextureUtils.cpp ChecksumCalculator.cpp GLSharedGroup.cpp glUtils.cpp IndexRangeCache.cpp SocketStream.cpp TcpStream.cpp auto_goldfish_dma_context.cpp goldfish_dma_host.cpp) +target_include_directories(OpenglCodecCommon_host PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(OpenglCodecCommon_host PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"eglCodecCommon\"") target_compile_options(OpenglCodecCommon_host PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-unused-private-field") -target_link_libraries(OpenglCodecCommon_host PRIVATE android-emu-shared cutils utils log)
\ No newline at end of file +target_link_libraries(OpenglCodecCommon_host PRIVATE android-emu-shared cutils utils log PRIVATE qemupipe_host)
\ No newline at end of file diff --git a/shared/OpenglCodecCommon/goldfish_dma.cpp b/shared/OpenglCodecCommon/goldfish_dma.cpp index 99d831a5..f3cefec5 100644 --- a/shared/OpenglCodecCommon/goldfish_dma.cpp +++ b/shared/OpenglCodecCommon/goldfish_dma.cpp @@ -14,8 +14,7 @@ #include "goldfish_dma.h" -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include <qemu_pipe.h> +#include <qemu_pipe_bp.h> #if PLATFORM_SDK_VERSION < 26 #include <cutils/log.h> @@ -34,6 +33,7 @@ #include <stdlib.h> #include <stdlib.h> #include <string.h> +#include <unistd.h> /* There is an ioctl associated with goldfish dma driver. * Make it conflict with ioctls that are not likely to be used diff --git a/shared/OpenglCodecCommon/gralloc_cb.h b/shared/OpenglCodecCommon/gralloc_cb.h deleted file mode 100644 index 5fea3557..00000000 --- a/shared/OpenglCodecCommon/gralloc_cb.h +++ /dev/null @@ -1,133 +0,0 @@ -/* -* Copyright 2011 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. -*/ - -#if !(defined(HOST_BUILD) || defined(ALLOW_DEPRECATED_QEMU_PIPE_HEADERS)) -#error include <gralloc_cb_bp.h> instead from libgralloc_cb.ranchu -#endif - -#ifndef __GRALLOC_CB_H__ -#define __GRALLOC_CB_H__ - -#include <cutils/native_handle.h> -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include "qemu_pipe.h" - -const uint32_t CB_HANDLE_MAGIC_MASK = 0xFFFFFFF0; -const uint32_t CB_HANDLE_MAGIC_BASE = 0xABFABFA0; - -#define CB_HANDLE_NUM_INTS(nfd) \ - ((sizeof(*this)-sizeof(native_handle_t)-nfd*sizeof(int32_t))/sizeof(int32_t)) - -struct cb_handle_t : public native_handle_t { - cb_handle_t(int32_t p_bufferFd, - QEMU_PIPE_HANDLE p_hostHandleRefCountFd, - uint32_t p_magic, - uint32_t p_hostHandle, - int32_t p_usage, - int32_t p_width, - int32_t p_height, - int32_t p_format, - int32_t p_glFormat, - int32_t p_glType, - uint32_t p_bufSize, - void* p_bufPtr, - uint64_t p_mmapedOffset) - : bufferFd(p_bufferFd), - hostHandleRefCountFd(p_hostHandleRefCountFd), - magic(p_magic), - hostHandle(p_hostHandle), - usage(p_usage), - width(p_width), - height(p_height), - format(p_format), - glFormat(p_glFormat), - glType(p_glType), - bufferSize(p_bufSize), - mmapedOffsetLo(static_cast<uint32_t>(p_mmapedOffset)), - mmapedOffsetHi(static_cast<uint32_t>(p_mmapedOffset >> 32)), - lockedLeft(0), - lockedTop(0), - lockedWidth(0), - lockedHeight(0) { - version = sizeof(native_handle); - numFds = ((bufferFd >= 0) ? 1 : 0) + (qemu_pipe_valid(hostHandleRefCountFd) ? 1 : 0); - numInts = 0; // has to be overwritten in children classes - setBufferPtr(p_bufPtr); - } - - void* getBufferPtr() const { - const uint64_t addr = (uint64_t(bufferPtrHi) << 32) | bufferPtrLo; - return reinterpret_cast<void*>(static_cast<uintptr_t>(addr)); - } - - void setBufferPtr(void* ptr) { - const uint64_t addr = static_cast<uint64_t>(reinterpret_cast<uintptr_t>(ptr)); - bufferPtrLo = uint32_t(addr); - bufferPtrHi = uint32_t(addr >> 32); - } - - uint64_t getMmapedOffset() const { - return (uint64_t(mmapedOffsetHi) << 32) | mmapedOffsetLo; - } - - uint32_t allocatedSize() const { - return getBufferPtr() ? bufferSize : 0; - } - - bool isValid() const { - return (version == sizeof(native_handle)) - && (magic & CB_HANDLE_MAGIC_MASK) == CB_HANDLE_MAGIC_BASE; - } - - static cb_handle_t* from(void* p) { - if (!p) { return NULL; } - cb_handle_t* cb = static_cast<cb_handle_t*>(p); - return cb->isValid() ? cb : NULL; - } - - static const cb_handle_t* from(const void* p) { - return from(const_cast<void*>(p)); - } - - static cb_handle_t* from_unconst(const void* p) { - return from(const_cast<void*>(p)); - } - - // fds - int32_t bufferFd; // underlying buffer file handle - QEMU_PIPE_HANDLE hostHandleRefCountFd; // guest side refcounter to hostHandle - - // ints - uint32_t magic; // magic number in order to validate a pointer - uint32_t hostHandle; // the host reference to this buffer - int32_t usage; // usage bits the buffer was created with - int32_t width; // buffer width - int32_t height; // buffer height - int32_t format; // real internal pixel format format - int32_t glFormat; // OpenGL format enum used for host h/w color buffer - int32_t glType; // OpenGL type enum used when uploading to host - uint32_t bufferSize; // buffer size and location - uint32_t bufferPtrLo; - uint32_t bufferPtrHi; - uint32_t mmapedOffsetLo; - uint32_t mmapedOffsetHi; - int32_t lockedLeft; // region of buffer locked for s/w write - int32_t lockedTop; - int32_t lockedWidth; - int32_t lockedHeight; -}; - -#endif //__GRALLOC_CB_H__ diff --git a/shared/OpenglCodecCommon/qemu_pipe.h b/shared/OpenglCodecCommon/qemu_pipe.h deleted file mode 100644 index 87014f11..00000000 --- a/shared/OpenglCodecCommon/qemu_pipe.h +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (C) 2011 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. - */ - -#if !(defined(HOST_BUILD) || defined(ALLOW_DEPRECATED_QEMU_PIPE_HEADERS)) -#error include <qemu_pipe_bp.h> instead from libqemupipe.ranchu -#endif - -#ifndef ANDROID_INCLUDE_HARDWARE_QEMU_PIPE_H -#define ANDROID_INCLUDE_HARDWARE_QEMU_PIPE_H - -#include <sys/types.h> -#include <stdint.h> -#include <errno.h> - -#define QEMU_PIPE_RETRY(exp) ({ \ - __typeof__(exp) _rc; \ - do { \ - _rc = (exp); \ - } while (qemu_pipe_try_again(_rc)); \ - _rc; }) - -#ifdef HOST_BUILD - -typedef void* QEMU_PIPE_HANDLE; - -#define QEMU_PIPE_INVALID_HANDLE NULL - -QEMU_PIPE_HANDLE qemu_pipe_open(const char* pipeName); -void qemu_pipe_close(QEMU_PIPE_HANDLE pipe); - -ssize_t qemu_pipe_read(QEMU_PIPE_HANDLE pipe, void* buffer, size_t len); -ssize_t qemu_pipe_write(QEMU_PIPE_HANDLE pipe, const void* buffer, size_t len); - -bool qemu_pipe_try_again(int ret); -bool qemu_pipe_valid(QEMU_PIPE_HANDLE pipe); - -void qemu_pipe_print_error(QEMU_PIPE_HANDLE pipe); - -#else - -typedef int QEMU_PIPE_HANDLE; - -#define QEMU_PIPE_INVALID_HANDLE (-1) - -#ifndef QEMU_PIPE_PATH -#define QEMU_PIPE_PATH "/dev/qemu_pipe" -#endif - -#if PLATFORM_SDK_VERSION < 26 -#include <cutils/log.h> -#else -#include <log/log.h> -#endif -#ifdef __ANDROID__ -#include <sys/cdefs.h> -#endif -#include <unistd.h> -#include <fcntl.h> -#include <sys/mman.h> -#include <pthread.h> /* for pthread_once() */ -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#ifndef D -# define D(...) do{}while(0) -#endif - -/* Try to open a new Qemu fast-pipe. This function returns a file descriptor - * that can be used to communicate with a named service managed by the - * emulator. - * - * This file descriptor can be used as a standard pipe/socket descriptor. - * - * 'pipeName' is the name of the emulator service you want to connect to. - * E.g. 'opengles' or 'camera'. - * - * On success, return a valid file descriptor - * Returns -1 on error, and errno gives the error code, e.g.: - * - * EINVAL -> unknown/unsupported pipeName - * ENOSYS -> fast pipes not available in this system. - * - * ENOSYS should never happen, except if you're trying to run within a - * misconfigured emulator. - * - * You should be able to open several pipes to the same pipe service, - * except for a few special cases (e.g. GSM modem), where EBUSY will be - * returned if more than one client tries to connect to it. - */ - -static __inline__ bool -qemu_pipe_try_again(int ret) { - return (ret < 0) && (errno == EINTR || errno == EAGAIN); -} - -static __inline__ ssize_t -qemu_pipe_write_fully(QEMU_PIPE_HANDLE pipe, const void* buffer, ssize_t len); - -static __inline__ QEMU_PIPE_HANDLE -qemu_pipe_open_ns(const char* ns, const char* pipeName, int flags) { - char buff[256]; - int buffLen; - QEMU_PIPE_HANDLE fd; - - if (pipeName == NULL || pipeName[0] == '\0') { - errno = EINVAL; - return -1; - } - - if (ns) { - buffLen = snprintf(buff, sizeof(buff), "pipe:%s:%s", ns, pipeName); - } else { - buffLen = snprintf(buff, sizeof(buff), "pipe:%s", pipeName); - } - - fd = QEMU_PIPE_RETRY(open(QEMU_PIPE_PATH, flags)); - if (fd < 0 && errno == ENOENT) { - fd = QEMU_PIPE_RETRY(open("/dev/goldfish_pipe", flags)); - } - if (fd < 0) { - D("%s: Could not open " QEMU_PIPE_PATH ": %s", __FUNCTION__, strerror(errno)); - //errno = ENOSYS; - return -1; - } - - if (qemu_pipe_write_fully(fd, buff, buffLen + 1)) { - D("%s: Could not connect to %s pipe service: %s", __FUNCTION__, pipeName, strerror(errno)); - return -1; - } - - return fd; -} - -static __inline__ QEMU_PIPE_HANDLE -qemu_pipe_open(const char* pipeName) { - return qemu_pipe_open_ns(NULL, pipeName, O_RDWR | O_NONBLOCK); -} - -static __inline__ void -qemu_pipe_close(QEMU_PIPE_HANDLE pipe) { - close(pipe); -} - -static __inline__ ssize_t -qemu_pipe_read(QEMU_PIPE_HANDLE pipe, void* buffer, size_t len) { - return read(pipe, buffer, len); -} - -static __inline__ ssize_t -qemu_pipe_write(QEMU_PIPE_HANDLE pipe, const void* buffer, size_t len) { - return write(pipe, buffer, len); -} - -static __inline__ bool -qemu_pipe_valid(QEMU_PIPE_HANDLE pipe) { - return pipe >= 0; -} - -static __inline__ void -qemu_pipe_print_error(QEMU_PIPE_HANDLE pipe) { - ALOGE("pipe error: fd %d errno %d", pipe, errno); -} - - -#endif // !HOST_BUILD - -static __inline__ ssize_t -qemu_pipe_read_fully(QEMU_PIPE_HANDLE pipe, void* buffer, ssize_t len) { - char* p = (char*)buffer; - - while (len > 0) { - ssize_t n = QEMU_PIPE_RETRY(qemu_pipe_read(pipe, p, len)); - if (n < 0) return n; - - p += n; - len -= n; - } - - return 0; -} - -static __inline__ ssize_t -qemu_pipe_write_fully(QEMU_PIPE_HANDLE pipe, const void* buffer, ssize_t len) { - const char* p = (const char*)buffer; - - while (len > 0) { - ssize_t n = QEMU_PIPE_RETRY(qemu_pipe_write(pipe, p, len)); - if (n < 0) return n; - - p += n; - len -= n; - } - - return 0; -} - -#endif /* ANDROID_INCLUDE_HARDWARE_QEMU_PIPE_H */ diff --git a/shared/gralloc_cb/Android.mk b/shared/gralloc_cb/Android.mk new file mode 100644 index 00000000..9c1f0382 --- /dev/null +++ b/shared/gralloc_cb/Android.mk @@ -0,0 +1,10 @@ +ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST)) + +LOCAL_PATH := $(call my-dir) + +$(call emugl-begin-static-library,libgralloc_cb$(GOLDFISH_OPENGL_LIB_SUFFIX)) +LOCAL_SRC_FILES := empty.cpp +$(call emugl-export,C_INCLUDES,$(LOCAL_PATH)/include) +$(call emugl-end-module) + +endif diff --git a/shared/gralloc_cb/CMakeLists.txt b/shared/gralloc_cb/CMakeLists.txt new file mode 100644 index 00000000..f9e7b713 --- /dev/null +++ b/shared/gralloc_cb/CMakeLists.txt @@ -0,0 +1,10 @@ +# This is an autogenerated file! Do not edit! +# instead run make from .../device/generic/goldfish-opengl +# which will re-generate this file. +android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/Android.mk" "8d9adf5ce35036abff985952ba984a3fcefcc2156ff36facfe51ba7d7adaab9d") +set(gralloc_cb_host_src empty.cpp) +android_add_library(TARGET gralloc_cb_host LICENSE Apache-2.0 SRC empty.cpp) +target_include_directories(gralloc_cb_host PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_compile_definitions(gralloc_cb_host PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN") +target_compile_options(gralloc_cb_host PRIVATE "-fvisibility=default" "-Wno-unused-parameter") +target_link_libraries(gralloc_cb_host PRIVATE android-emu-shared)
\ No newline at end of file diff --git a/shared/gralloc_cb/empty.cpp b/shared/gralloc_cb/empty.cpp new file mode 100644 index 00000000..40a8c178 --- /dev/null +++ b/shared/gralloc_cb/empty.cpp @@ -0,0 +1 @@ +/* empty */ diff --git a/shared/qemupipe/Android.bp b/shared/qemupipe/Android.bp index ba8de3b2..fe72943d 100644 --- a/shared/qemupipe/Android.bp +++ b/shared/qemupipe/Android.bp @@ -23,7 +23,10 @@ cc_library_headers { cc_library { name: "libqemupipe.ranchu", vendor_available: true, - srcs: ["qemu_pipe.cpp"], + srcs: [ + "qemu_pipe_common.cpp", + "qemu_pipe_guest.cpp", + ], header_libs: ["libqemupipe-types.ranchu"], export_header_lib_headers: ["libqemupipe-types.ranchu"], shared_libs: ["liblog"], diff --git a/shared/qemupipe/Android.mk b/shared/qemupipe/Android.mk new file mode 100644 index 00000000..f6659822 --- /dev/null +++ b/shared/qemupipe/Android.mk @@ -0,0 +1,16 @@ +ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST)) + +LOCAL_PATH := $(call my-dir) + +$(call emugl-begin-static-library,libqemupipe$(GOLDFISH_OPENGL_LIB_SUFFIX)) + +LOCAL_SRC_FILES := \ + qemu_pipe_common.cpp \ + qemu_pipe_host.cpp + +$(call emugl-export,SHARED_LIBRARIES,android-emu-shared) +$(call emugl-export,C_INCLUDES,$(LOCAL_PATH)/include-types) +$(call emugl-export,C_INCLUDES,$(LOCAL_PATH)/include) +$(call emugl-end-module) + +endif diff --git a/shared/qemupipe/CMakeLists.txt b/shared/qemupipe/CMakeLists.txt new file mode 100644 index 00000000..22296814 --- /dev/null +++ b/shared/qemupipe/CMakeLists.txt @@ -0,0 +1,10 @@ +# This is an autogenerated file! Do not edit! +# instead run make from .../device/generic/goldfish-opengl +# which will re-generate this file. +android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/Android.mk" "8554a162304f69cc357d5e35cf614ca278135bf4cea3431da69a08b9af234777") +set(qemupipe_host_src qemu_pipe_common.cpp qemu_pipe_host.cpp) +android_add_library(TARGET qemupipe_host LICENSE Apache-2.0 SRC qemu_pipe_common.cpp qemu_pipe_host.cpp) +target_include_directories(qemupipe_host PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_compile_definitions(qemupipe_host PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN") +target_compile_options(qemupipe_host PRIVATE "-fvisibility=default" "-Wno-unused-parameter") +target_link_libraries(qemupipe_host PRIVATE android-emu-shared)
\ No newline at end of file diff --git a/shared/qemupipe/qemu_pipe_common.cpp b/shared/qemupipe/qemu_pipe_common.cpp new file mode 100644 index 00000000..859bd3fe --- /dev/null +++ b/shared/qemupipe/qemu_pipe_common.cpp @@ -0,0 +1,43 @@ +// Copyright 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. + +#include <qemu_pipe_bp.h> + +int qemu_pipe_read_fully(QEMU_PIPE_HANDLE pipe, void* buffer, int size) { + char* p = (char*)buffer; + + while (size > 0) { + int n = QEMU_PIPE_RETRY(qemu_pipe_read(pipe, p, size)); + if (n < 0) return n; + + p += n; + size -= n; + } + + return 0; +} + +int qemu_pipe_write_fully(QEMU_PIPE_HANDLE pipe, const void* buffer, int size) { + const char* p = (const char*)buffer; + + while (size > 0) { + int n = QEMU_PIPE_RETRY(qemu_pipe_write(pipe, p, size)); + if (n < 0) return n; + + p += n; + size -= n; + } + + return 0; +} diff --git a/shared/qemupipe/qemu_pipe.cpp b/shared/qemupipe/qemu_pipe_guest.cpp index 6a07796b..1732a518 100644 --- a/shared/qemupipe/qemu_pipe.cpp +++ b/shared/qemupipe/qemu_pipe_guest.cpp @@ -74,34 +74,6 @@ void qemu_pipe_close(int pipe) { close(pipe); } -int qemu_pipe_read_fully(int pipe, void* buffer, int size) { - char* p = (char*)buffer; - - while (size > 0) { - int n = QEMU_PIPE_RETRY(qemu_pipe_read(pipe, p, size)); - if (n < 0) return n; - - p += n; - size -= n; - } - - return 0; -} - -int qemu_pipe_write_fully(int pipe, const void* buffer, int size) { - const char* p = (const char*)buffer; - - while (size > 0) { - int n = QEMU_PIPE_RETRY(qemu_pipe_write(pipe, p, size)); - if (n < 0) return n; - - p += n; - size -= n; - } - - return 0; -} - int qemu_pipe_read(int pipe, void* buffer, int size) { return read(pipe, buffer, size); } diff --git a/shared/OpenglCodecCommon/qemu_pipe_host.cpp b/shared/qemupipe/qemu_pipe_host.cpp index 76e3c92e..38f2f631 100644 --- a/shared/OpenglCodecCommon/qemu_pipe_host.cpp +++ b/shared/qemupipe/qemu_pipe_host.cpp @@ -11,7 +11,8 @@ // 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. -#include "qemu_pipe.h" + +#include <qemu_pipe_bp.h> #include "android/emulation/hostdevices/HostGoldfishPipe.h" @@ -33,15 +34,15 @@ void qemu_pipe_close(QEMU_PIPE_HANDLE pipe) { HostGoldfishPipeDevice::get()->close(pipe); } -ssize_t qemu_pipe_read(QEMU_PIPE_HANDLE pipe, void* buffer, size_t len) { +int qemu_pipe_read(QEMU_PIPE_HANDLE pipe, void* buffer, int len) { return HostGoldfishPipeDevice::get()->read(pipe, buffer, len); } -ssize_t qemu_pipe_write(QEMU_PIPE_HANDLE pipe, const void* buffer, size_t len) { +int qemu_pipe_write(QEMU_PIPE_HANDLE pipe, const void* buffer, int len) { return HostGoldfishPipeDevice::get()->write(pipe, buffer, len); } -bool qemu_pipe_try_again(int ret) { +int qemu_pipe_try_again(int ret) { if (ret < 0) { int err = HostGoldfishPipeDevice::get()->getErrno(); return err == EINTR || err == EAGAIN; @@ -50,10 +51,6 @@ bool qemu_pipe_try_again(int ret) { } } -bool qemu_pipe_valid(QEMU_PIPE_HANDLE pipe) { - return pipe != NULL; -} - void qemu_pipe_print_error(QEMU_PIPE_HANDLE pipe) { int err = HostGoldfishPipeDevice::get()->getErrno(); ALOGE("pipe error: pipe %p err %d", pipe, err); diff --git a/system/GLESv1/CMakeLists.txt b/system/GLESv1/CMakeLists.txt index 60ea3c44..5436e5f6 100644 --- a/system/GLESv1/CMakeLists.txt +++ b/system/GLESv1/CMakeLists.txt @@ -4,7 +4,7 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/GLESv1/Android.mk" "e095cb082e3791719749cfc80b90560afd7348eb0d7895449d2509aa129bea75") set(GLESv1_CM_emulation_src gl.cpp) android_add_library(TARGET GLESv1_CM_emulation SHARED LICENSE Apache-2.0 SRC gl.cpp) -target_include_directories(GLESv1_CM_emulation PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(GLESv1_CM_emulation PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(GLESv1_CM_emulation PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"GLES_emulation\"") target_compile_options(GLESv1_CM_emulation PRIVATE "-fvisibility=default" "-Wno-unused-parameter") -target_link_libraries(GLESv1_CM_emulation PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host)
\ No newline at end of file +target_link_libraries(GLESv1_CM_emulation PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE gralloc_cb_host GoldfishAddressSpace_host qemupipe_host)
\ No newline at end of file diff --git a/system/GLESv1_enc/CMakeLists.txt b/system/GLESv1_enc/CMakeLists.txt index 8acc4fff..0a9bc52b 100644 --- a/system/GLESv1_enc/CMakeLists.txt +++ b/system/GLESv1_enc/CMakeLists.txt @@ -4,7 +4,7 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc/Android.mk" "953e6b7371d10eed63a4be555f8f1fb6f347338484a78102fa8f55dff96f5d3b") set(GLESv1_enc_src GLEncoder.cpp GLEncoderUtils.cpp gl_client_context.cpp gl_enc.cpp gl_entry.cpp) android_add_library(TARGET GLESv1_enc SHARED LICENSE Apache-2.0 SRC GLEncoder.cpp GLEncoderUtils.cpp gl_client_context.cpp gl_enc.cpp gl_entry.cpp) -target_include_directories(GLESv1_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(GLESv1_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(GLESv1_enc PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"emuglGLESv1_enc\"") target_compile_options(GLESv1_enc PRIVATE "-fvisibility=default" "-Wno-unused-parameter") -target_link_libraries(GLESv1_enc PRIVATE OpenglCodecCommon_host cutils utils log android-emu-shared)
\ No newline at end of file +target_link_libraries(GLESv1_enc PRIVATE OpenglCodecCommon_host cutils utils log android-emu-shared PRIVATE qemupipe_host)
\ No newline at end of file diff --git a/system/GLESv2/CMakeLists.txt b/system/GLESv2/CMakeLists.txt index c316682e..d90502a0 100644 --- a/system/GLESv2/CMakeLists.txt +++ b/system/GLESv2/CMakeLists.txt @@ -4,7 +4,7 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/GLESv2/Android.mk" "d8f9dda69ec57ad8b7a65f02c3335b16a4724f612dec1d1a2cd793c28c0a10f9") set(GLESv2_emulation_src gl2.cpp) android_add_library(TARGET GLESv2_emulation SHARED LICENSE Apache-2.0 SRC gl2.cpp) -target_include_directories(GLESv2_emulation PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(GLESv2_emulation PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(GLESv2_emulation PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"GLESv2_emulation\"") target_compile_options(GLESv2_emulation PRIVATE "-fvisibility=default" "-Wno-unused-parameter") -target_link_libraries(GLESv2_emulation PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host)
\ No newline at end of file +target_link_libraries(GLESv2_emulation PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE gralloc_cb_host GoldfishAddressSpace_host qemupipe_host)
\ No newline at end of file diff --git a/system/GLESv2_enc/CMakeLists.txt b/system/GLESv2_enc/CMakeLists.txt index e501c29b..39a479fc 100644 --- a/system/GLESv2_enc/CMakeLists.txt +++ b/system/GLESv2_enc/CMakeLists.txt @@ -4,7 +4,7 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc/Android.mk" "df543672d1f36e43fb783b08200aa85dbf3a2e7167f8ecd7e4c01c80e6fd1650") set(GLESv2_enc_src GL2EncoderUtils.cpp GL2Encoder.cpp GLESv2Validation.cpp gl2_client_context.cpp gl2_enc.cpp gl2_entry.cpp IOStream2.cpp) android_add_library(TARGET GLESv2_enc SHARED LICENSE Apache-2.0 SRC GL2EncoderUtils.cpp GL2Encoder.cpp GLESv2Validation.cpp gl2_client_context.cpp gl2_enc.cpp gl2_entry.cpp IOStream2.cpp) -target_include_directories(GLESv2_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(GLESv2_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(GLESv2_enc PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"emuglGLESv2_enc\"") target_compile_options(GLESv2_enc PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-unused-private-field") -target_link_libraries(GLESv2_enc PRIVATE OpenglCodecCommon_host cutils utils log android-emu-shared)
\ No newline at end of file +target_link_libraries(GLESv2_enc PRIVATE OpenglCodecCommon_host cutils utils log android-emu-shared PRIVATE qemupipe_host)
\ No newline at end of file diff --git a/system/OpenglSystemCommon/Android.mk b/system/OpenglSystemCommon/Android.mk index 86d3dd19..fa24719c 100644 --- a/system/OpenglSystemCommon/Android.mk +++ b/system/OpenglSystemCommon/Android.mk @@ -4,8 +4,12 @@ $(call emugl-begin-shared-library,libOpenglSystemCommon) $(call emugl-import,libGLESv1_enc libGLESv2_enc lib_renderControl_enc) ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST)) $(call emugl-import,libGoldfishAddressSpace$(GOLDFISH_OPENGL_LIB_SUFFIX)) +$(call emugl-import,libqemupipe$(GOLDFISH_OPENGL_LIB_SUFFIX)) +$(call emugl-import,libgralloc_cb$(GOLDFISH_OPENGL_LIB_SUFFIX)) else $(call emugl-export,STATIC_LIBRARIES,libGoldfishAddressSpace) +$(call emugl-export,STATIC_LIBRARIES,libqemupipe.ranchu) +$(call emugl-export,HEADER_LIBRARIES,libgralloc_cb.ranchu) endif LOCAL_SRC_FILES := \ diff --git a/system/OpenglSystemCommon/CMakeLists.txt b/system/OpenglSystemCommon/CMakeLists.txt index b76d6ac9..ff4947aa 100644 --- a/system/OpenglSystemCommon/CMakeLists.txt +++ b/system/OpenglSystemCommon/CMakeLists.txt @@ -1,10 +1,10 @@ # This is an autogenerated file! Do not edit! # instead run make from .../device/generic/goldfish-opengl # which will re-generate this file. -android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/Android.mk" "921ccd71f620cc2404efee541de2a2c55cec1b6fa13e98f98eb905d22bd0b0c6") +android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/Android.mk" "1a769e79e22604f569e4345e4f432bb4bd41ca810d479b69887007b5d9bec528") set(OpenglSystemCommon_src FormatConversions.cpp HostConnection.cpp QemuPipeStream.cpp ProcessPipe.cpp AddressSpaceStream.cpp ThreadInfo_host.cpp) android_add_library(TARGET OpenglSystemCommon SHARED LICENSE Apache-2.0 SRC FormatConversions.cpp HostConnection.cpp QemuPipeStream.cpp ProcessPipe.cpp AddressSpaceStream.cpp ThreadInfo_host.cpp) -target_include_directories(OpenglSystemCommon PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(OpenglSystemCommon PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(OpenglSystemCommon PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN") target_compile_options(OpenglSystemCommon PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-unused-variable") -target_link_libraries(OpenglSystemCommon PRIVATE android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host)
\ No newline at end of file +target_link_libraries(OpenglSystemCommon PRIVATE android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE gralloc_cb_host GoldfishAddressSpace_host qemupipe_host)
\ No newline at end of file diff --git a/system/OpenglSystemCommon/HostConnection.cpp b/system/OpenglSystemCommon/HostConnection.cpp index c5075fc2..b9c97c93 100644 --- a/system/OpenglSystemCommon/HostConnection.cpp +++ b/system/OpenglSystemCommon/HostConnection.cpp @@ -66,8 +66,7 @@ using goldfish_vk::VkEncoder; #include "QemuPipeStream.h" #include "TcpStream.h" #include "ThreadInfo.h" -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include "gralloc_cb.h" +#include <gralloc_cb_bp.h> #ifdef VIRTIO_GPU diff --git a/system/OpenglSystemCommon/ProcessPipe.cpp b/system/OpenglSystemCommon/ProcessPipe.cpp index 56f1e528..a15f2fd9 100644 --- a/system/OpenglSystemCommon/ProcessPipe.cpp +++ b/system/OpenglSystemCommon/ProcessPipe.cpp @@ -17,8 +17,7 @@ #include "ProcessPipe.h" #include "renderControl_enc.h" -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include <qemu_pipe.h> +#include <qemu_pipe_bp.h> #if PLATFORM_SDK_VERSION < 26 #include <cutils/log.h> diff --git a/system/OpenglSystemCommon/QemuPipeStream.cpp b/system/OpenglSystemCommon/QemuPipeStream.cpp index 55f5fe85..d5fca2b5 100644 --- a/system/OpenglSystemCommon/QemuPipeStream.cpp +++ b/system/OpenglSystemCommon/QemuPipeStream.cpp @@ -14,8 +14,7 @@ * limitations under the License. */ #include "QemuPipeStream.h" -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include <qemu_pipe.h> +#include <qemu_pipe_bp.h> #if PLATFORM_SDK_VERSION < 26 #include <cutils/log.h> diff --git a/system/OpenglSystemCommon/QemuPipeStream.h b/system/OpenglSystemCommon/QemuPipeStream.h index 9ca44597..4e779eb8 100644 --- a/system/OpenglSystemCommon/QemuPipeStream.h +++ b/system/OpenglSystemCommon/QemuPipeStream.h @@ -23,8 +23,7 @@ #include <stdlib.h> #include "IOStream.h" -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include <qemu_pipe.h> +#include <qemu_pipe_bp.h> #ifdef __Fuchsia__ #include <fuchsia/hardware/goldfish/cpp/fidl.h> diff --git a/system/egl/Android.mk b/system/egl/Android.mk index 58663e5a..6e239b2a 100644 --- a/system/egl/Android.mk +++ b/system/egl/Android.mk @@ -6,6 +6,12 @@ $(call emugl-begin-shared-library,libEGL_emulation) $(call emugl-import,libOpenglSystemCommon) $(call emugl-set-shared-library-subpath,egl) +ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST)) +$(call emugl-import,libqemupipe$(GOLDFISH_OPENGL_LIB_SUFFIX)) +else +$(call emugl-export,STATIC_LIBRARIES,libqemupipe.ranchu) +endif + LOCAL_CFLAGS += -DLOG_TAG=\"EGL_emulation\" -DEGL_EGLEXT_PROTOTYPES -DWITH_GLES2 LOCAL_CFLAGS += -Wno-gnu-designator diff --git a/system/egl/CMakeLists.txt b/system/egl/CMakeLists.txt index 8ffe44a7..08db0c82 100644 --- a/system/egl/CMakeLists.txt +++ b/system/egl/CMakeLists.txt @@ -1,10 +1,10 @@ # This is an autogenerated file! Do not edit! # instead run make from .../device/generic/goldfish-opengl # which will re-generate this file. -android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/egl/Android.mk" "53f944775eac93c4fff6cb2b10ec932462422eb0e4ae0fb616f2f16bb0baf4af") +android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/egl/Android.mk" "597fba46fce0876a62ef3c0bc8f3a0264503214b62b0b0da092ee90fe60f09e1") set(EGL_emulation_src eglDisplay.cpp egl.cpp ClientAPIExts.cpp) android_add_library(TARGET EGL_emulation SHARED LICENSE Apache-2.0 SRC eglDisplay.cpp egl.cpp ClientAPIExts.cpp) -target_include_directories(EGL_emulation PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(EGL_emulation PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(EGL_emulation PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"EGL_emulation\"" "-DEGL_EGLEXT_PROTOTYPES") target_compile_options(EGL_emulation PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-gnu-designator") -target_link_libraries(EGL_emulation PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host)
\ No newline at end of file +target_link_libraries(EGL_emulation PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE gralloc_cb_host GoldfishAddressSpace_host qemupipe_host)
\ No newline at end of file diff --git a/system/egl/egl.cpp b/system/egl/egl.cpp index b3d38161..834207b6 100644 --- a/system/egl/egl.cpp +++ b/system/egl/egl.cpp @@ -34,8 +34,7 @@ #include "EGLImage.h" #include "ProcessPipe.h" -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include <qemu_pipe.h> +#include <qemu_pipe_bp.h> #include "GLEncoder.h" #ifdef WITH_GLES2 diff --git a/system/gralloc/CMakeLists.txt b/system/gralloc/CMakeLists.txt index ed90e7ff..b9720062 100644 --- a/system/gralloc/CMakeLists.txt +++ b/system/gralloc/CMakeLists.txt @@ -4,17 +4,17 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/gralloc/Android.mk" "09618d9293855148fb310e67065028da8c7f6dcf936b02b5695292c82ed4724e") set(gralloc.goldfish_src gralloc_old.cpp) android_add_library(TARGET gralloc.goldfish SHARED LICENSE Apache-2.0 SRC gralloc_old.cpp) -target_include_directories(gralloc.goldfish PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(gralloc.goldfish PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(gralloc.goldfish PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"gralloc_goldfish\"") target_compile_options(gralloc.goldfish PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-missing-field-initializers" "-Wno-gnu-designator") -target_link_libraries(gralloc.goldfish PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log GLESv2_enc _renderControl_enc GLESv1_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host) +target_link_libraries(gralloc.goldfish PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log GLESv2_enc _renderControl_enc GLESv1_enc OpenglCodecCommon_host PRIVATE gralloc_cb_host GoldfishAddressSpace_host qemupipe_host) # This is an autogenerated file! Do not edit! # instead run make from .../device/generic/goldfish-opengl # which will re-generate this file. android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/gralloc/Android.mk" "09618d9293855148fb310e67065028da8c7f6dcf936b02b5695292c82ed4724e") set(gralloc.ranchu_src gralloc_old.cpp) android_add_library(TARGET gralloc.ranchu SHARED LICENSE Apache-2.0 SRC gralloc_old.cpp) -target_include_directories(gralloc.ranchu PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(gralloc.ranchu PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(gralloc.ranchu PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"gralloc_ranchu\"") target_compile_options(gralloc.ranchu PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-missing-field-initializers" "-Wno-gnu-designator") -target_link_libraries(gralloc.ranchu PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log GLESv2_enc _renderControl_enc GLESv1_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host)
\ No newline at end of file +target_link_libraries(gralloc.ranchu PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log GLESv2_enc _renderControl_enc GLESv1_enc OpenglCodecCommon_host PRIVATE gralloc_cb_host GoldfishAddressSpace_host qemupipe_host)
\ No newline at end of file diff --git a/system/gralloc/gralloc_30.cpp b/system/gralloc/gralloc_30.cpp index e2299218..b67f4c57 100644 --- a/system/gralloc/gralloc_30.cpp +++ b/system/gralloc/gralloc_30.cpp @@ -32,13 +32,12 @@ #include <hardware/hardware.h> #include <hardware/gralloc.h> -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#include "../../shared/OpenglCodecCommon/gralloc_cb.h" +#include <gralloc_cb_bp.h> #include "gralloc_common.h" #include "goldfish_address_space.h" #include "HostConnection.h" #include "FormatConversions.h" -#include "qemu_pipe.h" +#include <qemu_pipe_bp.h> #define CRASH(MSG) \ do { \ diff --git a/system/gralloc/gralloc_old.cpp b/system/gralloc/gralloc_old.cpp index abb51ccb..7af9dfe9 100644 --- a/system/gralloc/gralloc_old.cpp +++ b/system/gralloc/gralloc_old.cpp @@ -23,13 +23,7 @@ #include <sys/mman.h> #include <hardware/gralloc.h> -#define ALLOW_DEPRECATED_QEMU_PIPE_HEADERS -#if PLATFORM_SDK_VERSION < 28 -#include "gralloc_cb.h" -#else -#include "../../shared/OpenglCodecCommon/gralloc_cb.h" -#endif - +#include <gralloc_cb_bp.h> #include "gralloc_common.h" #include "goldfish_dma.h" @@ -39,7 +33,7 @@ #include "ProcessPipe.h" #include "ThreadInfo.h" #include "glUtils.h" -#include "qemu_pipe.h" +#include <qemu_pipe_bp.h> #if PLATFORM_SDK_VERSION < 26 #include <cutils/log.h> diff --git a/system/renderControl_enc/CMakeLists.txt b/system/renderControl_enc/CMakeLists.txt index c874e256..8a42acb0 100644 --- a/system/renderControl_enc/CMakeLists.txt +++ b/system/renderControl_enc/CMakeLists.txt @@ -4,7 +4,7 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc/Android.mk" "780a007ac7a3d2255372ddf40e03aeb10e4c759343d2532f6ddf769f4df73810") set(_renderControl_enc_src renderControl_client_context.cpp renderControl_enc.cpp renderControl_entry.cpp) android_add_library(TARGET _renderControl_enc SHARED LICENSE Apache-2.0 SRC renderControl_client_context.cpp renderControl_enc.cpp renderControl_entry.cpp) -target_include_directories(_renderControl_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) +target_include_directories(_renderControl_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest) target_compile_definitions(_renderControl_enc PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN") target_compile_options(_renderControl_enc PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-unused-function") -target_link_libraries(_renderControl_enc PRIVATE OpenglCodecCommon_host cutils utils log android-emu-shared)
\ No newline at end of file +target_link_libraries(_renderControl_enc PRIVATE OpenglCodecCommon_host cutils utils log android-emu-shared PRIVATE qemupipe_host)
\ No newline at end of file diff --git a/system/vulkan/CMakeLists.txt b/system/vulkan/CMakeLists.txt index 27505316..65bc00a5 100644 --- a/system/vulkan/CMakeLists.txt +++ b/system/vulkan/CMakeLists.txt @@ -4,7 +4,7 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/vulkan/Android.mk" "5cb873c72cc859fac3800961059c1b203ed1abb400ee643178c18e04961d49e8") set(vulkan.ranchu_src func_table.cpp goldfish_vulkan.cpp) android_add_library(TARGET vulkan.ranchu SHARED LICENSE Apache-2.0 SRC func_table.cpp goldfish_vulkan.cpp) -target_include_directories(vulkan.ranchu PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/system/vulkan ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/host/include) +target_include_directories(vulkan.ranchu PRIVATE ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon/bionic-include ${GOLDFISH_DEVICE_ROOT}/system/OpenglSystemCommon ${GOLDFISH_DEVICE_ROOT}/bionic/libc/private ${GOLDFISH_DEVICE_ROOT}/bionic/libc/platform ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/shared/gralloc_cb/include ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv2_enc ${GOLDFISH_DEVICE_ROOT}/system/GLESv1_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/system/vulkan ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/host/include) target_compile_definitions(vulkan.ranchu PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"goldfish_vulkan\"" "-DVK_USE_PLATFORM_ANDROID_KHR" "-DVK_NO_PROTOTYPES") target_compile_options(vulkan.ranchu PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-missing-field-initializers" "-fvisibility=hidden" "-fstrict-aliasing" "-Wno-unused-function") -target_link_libraries(vulkan.ranchu PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host)
\ No newline at end of file +target_link_libraries(vulkan.ranchu PRIVATE OpenglSystemCommon android-emu-shared vulkan_enc gui androidemu cutils utils log _renderControl_enc GLESv2_enc GLESv1_enc OpenglCodecCommon_host PRIVATE gralloc_cb_host GoldfishAddressSpace_host qemupipe_host)
\ No newline at end of file diff --git a/system/vulkan_enc/CMakeLists.txt b/system/vulkan_enc/CMakeLists.txt index 50113adf..5b970156 100644 --- a/system/vulkan_enc/CMakeLists.txt +++ b/system/vulkan_enc/CMakeLists.txt @@ -4,7 +4,7 @@ android_validate_sha256("${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc/Android.mk" "103f3f10c8af73d3d5c4263c4faa5bb70ebdbfbc9ed6f068a338d57344e2aa45") set(vulkan_enc_src AndroidHardwareBuffer.cpp HostVisibleMemoryVirtualization.cpp Resources.cpp Validation.cpp VulkanStreamGuest.cpp VulkanHandleMapping.cpp ResourceTracker.cpp VkEncoder.cpp goldfish_vk_extension_structs_guest.cpp goldfish_vk_marshaling_guest.cpp goldfish_vk_deepcopy_guest.cpp goldfish_vk_handlemap_guest.cpp goldfish_vk_transform_guest.cpp) android_add_library(TARGET vulkan_enc SHARED LICENSE Apache-2.0 SRC AndroidHardwareBuffer.cpp HostVisibleMemoryVirtualization.cpp Resources.cpp Validation.cpp VulkanStreamGuest.cpp VulkanHandleMapping.cpp ResourceTracker.cpp VkEncoder.cpp goldfish_vk_extension_structs_guest.cpp goldfish_vk_marshaling_guest.cpp goldfish_vk_deepcopy_guest.cpp goldfish_vk_handlemap_guest.cpp goldfish_vk_transform_guest.cpp) -target_include_directories(vulkan_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/host/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/host/include/vulkan) +target_include_directories(vulkan_enc PRIVATE ${GOLDFISH_DEVICE_ROOT}/shared/GoldfishAddressSpace/include ${GOLDFISH_DEVICE_ROOT}/android-emu ${GOLDFISH_DEVICE_ROOT}/system/renderControl_enc ${GOLDFISH_DEVICE_ROOT}/shared/OpenglCodecCommon ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include-types ${GOLDFISH_DEVICE_ROOT}/shared/qemupipe/include ${GOLDFISH_DEVICE_ROOT}/system/vulkan_enc ${GOLDFISH_DEVICE_ROOT}/./host/include/libOpenglRender ${GOLDFISH_DEVICE_ROOT}/./system/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/guest ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/host/include ${GOLDFISH_DEVICE_ROOT}/./../../../external/qemu/android/android-emugl/host/include/vulkan) target_compile_definitions(vulkan_enc PRIVATE "-DWITH_GLES2" "-DPLATFORM_SDK_VERSION=29" "-DGOLDFISH_HIDL_GRALLOC" "-DEMULATOR_OPENGL_POST_O=1" "-DHOST_BUILD" "-DANDROID" "-DGL_GLEXT_PROTOTYPES" "-DPAGE_SIZE=4096" "-DGOLDFISH_VULKAN" "-DLOG_TAG=\"goldfish_vulkan\"" "-DVK_ANDROID_native_buffer" "-DVK_GOOGLE_address_space" "-DVK_USE_PLATFORM_ANDROID_KHR" "-DVK_NO_PROTOTYPES" "-D__ANDROID_API__=28") target_compile_options(vulkan_enc PRIVATE "-fvisibility=default" "-Wno-unused-parameter" "-Wno-missing-field-initializers" "-Werror" "-fstrict-aliasing") -target_link_libraries(vulkan_enc PRIVATE gui log android-emu-shared androidemu cutils utils _renderControl_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host)
\ No newline at end of file +target_link_libraries(vulkan_enc PRIVATE gui log android-emu-shared androidemu cutils utils _renderControl_enc OpenglCodecCommon_host PRIVATE GoldfishAddressSpace_host qemupipe_host)
\ No newline at end of file |