From bf05e067577a8d8e87a377dfb357806b67b6afca Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 20 Jul 2014 22:13:34 +0100 Subject: [PATCH] android: gallium/freedreno: add preliminary build For all the people interested in testing the freedreno driver on their Android devices. The next commit will hook these up within the libEGL driver (via the gallium-egl backend). There may be some rough edges but those can be sorted when a willing builder/tester comes along. v2: - s/freefreno/freedreno/. Spotted by Matt Turner. - Use the installed libdrm headers. Cc: "10.1 10.2" Cc: Rob Clark Cc: freedreno@lists.freedesktop.org Signed-off-by: Emil Velikov --- Android.mk | 4 +- src/gallium/Android.mk | 5 +++ src/gallium/drivers/freedreno/Android.mk | 44 +++++++++++++++++++++ src/gallium/winsys/freedreno/drm/Android.mk | 37 +++++++++++++++++ 4 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 src/gallium/drivers/freedreno/Android.mk create mode 100644 src/gallium/winsys/freedreno/drm/Android.mk diff --git a/Android.mk b/Android.mk index 05ed62f5941..b50a8e0712e 100644 --- a/Android.mk +++ b/Android.mk @@ -24,7 +24,7 @@ # BOARD_GPU_DRIVERS should be defined. The valid values are # # classic drivers: i915 i965 -# gallium drivers: swrast i915g ilo nouveau r300g r600g radeonsi vmwgfx +# gallium drivers: swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx # # The main target is libGLES_mesa. For each classic driver enabled, a DRI # module will also be built. DRI modules will be loaded by libGLES_mesa. @@ -42,7 +42,7 @@ DRM_TOP := external/drm DRM_GRALLOC_TOP := hardware/drm_gralloc classic_drivers := i915 i965 -gallium_drivers := swrast i915g ilo nouveau r300g r600g radeonsi vmwgfx +gallium_drivers := swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS)) diff --git a/src/gallium/Android.mk b/src/gallium/Android.mk index e365d6773b9..767361a8a23 100644 --- a/src/gallium/Android.mk +++ b/src/gallium/Android.mk @@ -34,6 +34,11 @@ SUBDIRS := \ # swrast SUBDIRS += winsys/sw/android drivers/softpipe +# freedreno +ifneq ($(filter freedreno, $(MESA_GPU_DRIVERS)),) +SUBDIRS += winsys/freedreno/drm drivers/freedreno +endif + # i915g ifneq ($(filter i915g, $(MESA_GPU_DRIVERS)),) SUBDIRS += winsys/i915/drm drivers/i915 diff --git a/src/gallium/drivers/freedreno/Android.mk b/src/gallium/drivers/freedreno/Android.mk new file mode 100644 index 00000000000..6cab31fd714 --- /dev/null +++ b/src/gallium/drivers/freedreno/Android.mk @@ -0,0 +1,44 @@ +# Copyright (C) 2014 Emil Velikov +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +LOCAL_PATH := $(call my-dir) + +# get C_SOURCES +include $(LOCAL_PATH)/Makefile.sources + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + $(C_SOURCES) \ + $(a2xx_SOURCES) \ + $(a3xx_SOURCES) + +LOCAL_CFLAGS := \ + -Wno-packed-bitfield-compat + +LOCAL_C_INCLUDES := \ + $(LOCAL_PATH)/ir3 \ + $(TARGET_OUT_HEADERS)/libdrm \ + $(TARGET_OUT_HEADERS)/freedreno + +LOCAL_MODULE := libmesa_pipe_freedreno + +include $(GALLIUM_COMMON_MK) +include $(BUILD_STATIC_LIBRARY) diff --git a/src/gallium/winsys/freedreno/drm/Android.mk b/src/gallium/winsys/freedreno/drm/Android.mk new file mode 100644 index 00000000000..7bd31d92419 --- /dev/null +++ b/src/gallium/winsys/freedreno/drm/Android.mk @@ -0,0 +1,37 @@ +# Copyright (C) 2014 Emil Velikov +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +LOCAL_PATH := $(call my-dir) + +# get C_SOURCES +include $(LOCAL_PATH)/Makefile.sources + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(C_SOURCES) + +LOCAL_C_INCLUDES := \ + $(TARGET_OUT_HEADERS)/libdrm \ + $(TARGET_OUT_HEADERS)/freedreno + +LOCAL_MODULE := libmesa_winsys_freedreno + +include $(GALLIUM_COMMON_MK) +include $(BUILD_STATIC_LIBRARY) -- 2.30.2