From 644929849ccc1134bb89f1e084761c4febdc4ced Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 31 Aug 2011 12:31:02 +0800 Subject: [PATCH] i915: build i915_dri.so for Android Simple demos such as test-opengl-gl_basic work. SurfaceFlinger does not work yet due to missing GL_OES_draw_texture support (and maybe more). Reviewed-by: Chad Versace --- Android.mk | 4 +- src/mesa/drivers/dri/Android.mk | 4 ++ src/mesa/drivers/dri/i915/Android.mk | 59 ++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 src/mesa/drivers/dri/i915/Android.mk diff --git a/Android.mk b/Android.mk index 7c7c55a1138..a5c9ebc5fa2 100644 --- a/Android.mk +++ b/Android.mk @@ -23,7 +23,7 @@ # BOARD_GPU_DRIVERS should be defined. The valid values are # -# classic drivers: i965 +# classic drivers: i915 i965 # gallium drivers: swrast i915g nouveau r300g r600g vmwgfx # # The main target is libGLES_mesa. For each classic driver enabled, a DRI @@ -36,7 +36,7 @@ MESA_PYTHON2 := python DRM_TOP := external/drm DRM_GRALLOC_TOP := hardware/drm_gralloc -classic_drivers := i965 +classic_drivers := i915 i965 gallium_drivers := swrast i915g nouveau r300g r600g vmwgfx MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS)) diff --git a/src/mesa/drivers/dri/Android.mk b/src/mesa/drivers/dri/Android.mk index 67f656b78a0..577f66408a5 100644 --- a/src/mesa/drivers/dri/Android.mk +++ b/src/mesa/drivers/dri/Android.mk @@ -60,6 +60,10 @@ MESA_DRI_SHARED_LIBRARIES := \ SUBDIRS := common +ifneq ($(filter i915, $(MESA_GPU_DRIVERS)),) + SUBDIRS += i915 +endif + ifneq ($(filter i965, $(MESA_GPU_DRIVERS)),) SUBDIRS += i965 endif diff --git a/src/mesa/drivers/dri/i915/Android.mk b/src/mesa/drivers/dri/i915/Android.mk new file mode 100644 index 00000000000..21b3450b84f --- /dev/null +++ b/src/mesa/drivers/dri/i915/Android.mk @@ -0,0 +1,59 @@ +# +# Copyright (C) 2011 Intel Corporation +# Copyright (C) 2010-2011 Chia-I Wu +# 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 := i915_dri +LOCAL_MODULE_PATH := $(MESA_DRI_MODULE_PATH) +LOCAL_UNSTRIPPED_PATH := $(MESA_DRI_MODULE_UNSTRIPPED_PATH) + +# Import variables i915_*. +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 := $(TARGET_CC) -std=c99 + +LOCAL_CFLAGS := \ + $(MESA_DRI_CFLAGS) \ + -DI915 + +LOCAL_C_INCLUDES := \ + $(addprefix $(MESA_TOP)/,$(i915_INCLUDES)) \ + $(MESA_DRI_C_INCLUDES) \ + $(DRM_TOP)/intel + +LOCAL_SRC_FILES := \ + $(i915_C_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) -- 2.30.2