[Mesa-dev] [PATCH 8/8] i965: Build i965_dri.so for Android

Chia-I Wu olv at lunarg.com
Fri Aug 26 22:51:11 PDT 2011


On Sat, Aug 27, 2011 at 9:54 AM, Chad Versace <chad at chad-versace.us> wrote:
> This just gets the driver to build. I have not yet tested if the driver
> actually works.
>
> Signed-off-by: Chad Versace <chad at chad-versace.us>
> ---
>  Android.mk                           |    3 +-
>  src/mesa/drivers/dri/Android.mk      |   61 ++++++++++++++++++++++++++++++++++
>  src/mesa/drivers/dri/i965/Android.mk |   61 ++++++++++++++++++++++++++++++++++
>  3 files changed, 124 insertions(+), 1 deletions(-)
>  create mode 100644 src/mesa/drivers/dri/Android.mk
>  create mode 100644 src/mesa/drivers/dri/i965/Android.mk
>
> diff --git a/Android.mk b/Android.mk
> index ab1778e..e9711ba 100644
> --- a/Android.mk
> +++ b/Android.mk
> @@ -35,7 +35,7 @@ MESA_PYTHON2 := python
>  DRM_TOP := external/drm
>  DRM_GRALLOC_TOP := hardware/drm_gralloc
>
> -classic_drivers :=
> +classic_drivers := i965
Please also update the comments at the top.  BTW, I am fine replacing
all classic/CLASSIC by dri/DRI if that is preferred.

>  gallium_drivers := swrast r600g
>
>  MESA_GPU_DRIVERS := $(BOARD_GPU_DRIVERS)
> @@ -74,6 +74,7 @@ SUBDIRS := \
>        src/mapi \
>        src/glsl \
>        src/mesa \
> +       src/mesa/drivers/dri \
>        src/mesa/drivers/dri/common \
>        src/egl/main
The directory should be added only when MESA_BUILD_CLASSIC is true.

Is it cleaner to remove src/mesa/drivers/dri/common from here and let
src/mesa/drivers/dri/Android.mk handle it?  So it will be the
Android.mk in charge of DRI drivers, similar to the role of
src/gallium/Android.mk.

> diff --git a/src/mesa/drivers/dri/Android.mk b/src/mesa/drivers/dri/Android.mk
> new file mode 100644
> index 0000000..c0a1da3
> --- /dev/null
> +++ b/src/mesa/drivers/dri/Android.mk
> @@ -0,0 +1,61 @@
> +#
> +# Copyright (C) 2011 Intel Corporation
> +#
> +# 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)
> +
> +# Import mesa_dri_common_INCLUDES.
> +include $(LOCAL_PATH)/common/Makefile.sources
> +
> +#-----------------------------------------------
> +# Variables common to all DRI drivers
> +
> +MESA_DRI_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/dri
> +MESA_DRI_MODULE_UNSTRIPPED_PATH := $(TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED)/dri
> +
> +MESA_DRI_C_INCLUDES := \
> +       $(mesa_dri_common_INCLUDES) \
> +       $(DRM_TOP) \
> +       $(DRM_TOP)/include/drm \
> +       external/expat/lib
> +
> +MESA_DRI_WHOLE_STATIC_LIBRARIES := \
> +       libmesa_dri_common
> +
> +MESA_DRI_SHARED_LIBRARIES := \
> +       libcutils \
> +       libdl \
> +       libdrm \
> +       libexpat \
> +       libglapi \
> +       liblog \
> +       libmesa_dricore
> +
> +#-----------------------------------------------
> +# Build drivers
> +
> +drivers :=
> +
> +ifneq ($(filter i965, $(MESA_GPU_DRIVERS)),)
> +       drivers += i965
> +endif
> +
> +include $(patsubst %, $(LOCAL_PATH)/%/Android.mk, $(drivers))
> diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk
> new file mode 100644
> index 0000000..3925ef3
> --- /dev/null
> +++ b/src/mesa/drivers/dri/i965/Android.mk
> @@ -0,0 +1,61 @@
> +#
> +# Copyright (C) 2011 Intel Corporation
> +# Copyright (C) 2010-2011 Chia-I Wu <olvaffe at gmail.com>
> +# Copyright (C) 2010-2011 LunarG
> +#
> +# 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)
> +include $(CLEAR_VARS)
> +
> +LOCAL_MODULE := i965_dri
> +LOCAL_MODULE_PATH := $(MESA_DRI_MODULE_PATH)
> +LOCAL_UNSTRIPPED_PATH := $(MESA_DRI_MODULE_UNSTRIPPED_PATH)
> +
> +# Import variables i965_*.
> +include $(LOCAL_PATH)/Makefile.sources
> +
> +# Overriding LOCAL_CC below is an ugly workaround.  We cannot place -std=c99
> +# in LOCAL_C_FLAGS because Android appends LOCAL_C_FLAGS to LOCAL_CPP_FLAGS.
> +LOCAL_CC := $(CC) -std=c99
> +
> +LOCAL_C_FLAGS := \
> +       $(MESA_DRI_C_FLAGS) \
> +       -DI965
> +
> +LOCAL_C_INCLUDES := \
> +       $(i965_INCLUDES) \
> +       $(MESA_DRI_C_INCLUDES) \
> +       $(DRM_TOP)/intel
> +
> +LOCAL_SRC_FILES := \
> +       $(i965_C_SOURCES) \
> +       $(i965_CXX_SOURCES) \
> +       $(i965_ASM_SOURCES)
> +
> +LOCAL_WHOLE_STATIC_LIBRARIES := \
> +       $(MESA_DRI_WHOLE_STATIC_LIBRARIES)
> +
> +LOCAL_SHARED_LIBRARIES := \
> +       $(MESA_DRI_SHARED_LIBRARIES) \
> +       libdrm_intel
> +
> +include $(MESA_COMMON_MK)
> +include $(BUILD_SHARED_LIBRARY)
> --
> 1.7.6
>
>



-- 
olv at LunarG.com


More information about the mesa-dev mailing list