summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorWuZhen <wuzhen@jidemail.com>2016-02-24 21:36:10 +0800
committerMauro Rossi <issor.oruam@gmail.com>2016-11-01 20:41:59 +0100
commit74f550427c7fffe637917e2caa79a6bb6c378db4 (patch)
tree55150d573ccc68a330acf59fd46c34204301b761 /src/mesa
parent8fc46649adfa99b1f316bd34555a0ac8dd99737d (diff)
downloadexternal_mesa3d-74f550427c7fffe637917e2caa79a6bb6c378db4.zip
external_mesa3d-74f550427c7fffe637917e2caa79a6bb6c378db4.tar.gz
external_mesa3d-74f550427c7fffe637917e2caa79a6bb6c378db4.tar.bz2
android: enable x86 asm and sse4 for x86 and x86_64
Support multilib compilation use runtime feature selection. NO_REF_TASK Tested: local run Change-Id: Iee7961effdecde09cfbdaf09455bfb0912699ae3 Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/Android.gen.mk25
-rw-r--r--src/mesa/Android.libmesa_dricore.mk20
-rw-r--r--src/mesa/Android.libmesa_sse41.mk5
-rw-r--r--src/mesa/Android.libmesa_st_mesa.mk18
-rw-r--r--src/mesa/Android.mesa_gen_matypes.mk7
-rw-r--r--src/mesa/drivers/dri/i965/Android.mk5
6 files changed, 44 insertions, 36 deletions
diff --git a/src/mesa/Android.gen.mk b/src/mesa/Android.gen.mk
index e567102..e04482b 100644
--- a/src/mesa/Android.gen.mk
+++ b/src/mesa/Android.gen.mk
@@ -45,10 +45,11 @@ LOCAL_SRC_FILES := $(filter-out $(sources), $(LOCAL_SRC_FILES))
LOCAL_C_INCLUDES += $(intermediates)/main
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
-ifeq ($(TARGET_ARCH),x86)
-sources += x86/matypes.h
-LOCAL_C_INCLUDES += $(intermediates)/x86
-endif
+LOCAL_GENERATED_SOURCES_x86 += $(addprefix $(intermediates)/, x86/matypes.h)
+LOCAL_GENERATED_SOURCES_x86_64 += $(addprefix $(intermediates)/, x86_64/matypes.h)
+
+LOCAL_C_INCLUDES_x86 += $(intermediates)/x86
+LOCAL_C_INCLUDES_x86_64 += $(intermediates)/x86_64
endif
sources += main/git_sha1.h
@@ -79,12 +80,22 @@ $(intermediates)/main/git_sha1.h: $(wildcard $(MESA_TOP)/.git/HEAD)
> $@; \
fi
-matypes_deps := \
- $(BUILD_OUT_EXECUTABLES)/mesa_gen_matypes$(BUILD_EXECUTABLE_SUFFIX) \
+matypes_deps32 := \
+ $(BUILD_OUT_EXECUTABLES)/mesa_gen_matypes32$(BUILD_EXECUTABLE_SUFFIX) \
+ $(LOCAL_PATH)/main/mtypes.h \
+ $(LOCAL_PATH)/tnl/t_context.h
+
+matypes_deps64 := \
+ $(BUILD_OUT_EXECUTABLES)/mesa_gen_matypes64$(BUILD_EXECUTABLE_SUFFIX) \
$(LOCAL_PATH)/main/mtypes.h \
$(LOCAL_PATH)/tnl/t_context.h
-$(intermediates)/x86/matypes.h: $(matypes_deps)
+$(intermediates)/x86/matypes.h: $(matypes_deps32)
+ @mkdir -p $(dir $@)
+ @echo "MATYPES: $(PRIVATE_MODULE) <= $(notdir $@)"
+ $(hide) $< > $@
+
+$(intermediates)/x86_64/matypes.h: $(matypes_deps64)
@mkdir -p $(dir $@)
@echo "MATYPES: $(PRIVATE_MODULE) <= $(notdir $@)"
$(hide) $< > $@
diff --git a/src/mesa/Android.libmesa_dricore.mk b/src/mesa/Android.libmesa_dricore.mk
index 86196ce..8de90b8 100644
--- a/src/mesa/Android.libmesa_dricore.mk
+++ b/src/mesa/Android.libmesa_dricore.mk
@@ -31,6 +31,7 @@ LOCAL_PATH := $(call my-dir)
# Import the following variables:
# MESA_FILES
# X86_FILES
+# X86_64_FILES
include $(LOCAL_PATH)/Makefile.sources
include $(CLEAR_VARS)
@@ -42,19 +43,10 @@ LOCAL_SRC_FILES := \
$(MESA_FILES)
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
-ifeq ($(TARGET_ARCH),x86)
- LOCAL_SRC_FILES += $(X86_FILES)
-endif # x86
+ LOCAL_SRC_FILES_x86 += $(X86_FILES)
+ LOCAL_SRC_FILES_x86_64 += $(X86_64_FILES)
endif # MESA_ENABLE_ASM
-ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libmesa_sse41
-LOCAL_CFLAGS := \
- -msse4.1 \
- -DUSE_SSE41
-endif
-
LOCAL_C_INCLUDES := \
$(MESA_TOP)/src/mapi \
$(MESA_TOP)/src/mesa/main \
@@ -69,6 +61,12 @@ LOCAL_GENERATED_SOURCES += \
LOCAL_WHOLE_STATIC_LIBRARIES += \
libmesa_program
+LOCAL_WHOLE_STATIC_LIBRARIES_x86 += \
+ libmesa_sse41 \
+
+LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += \
+ libmesa_sse41 \
+
include $(LOCAL_PATH)/Android.gen.mk
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
diff --git a/src/mesa/Android.libmesa_sse41.mk b/src/mesa/Android.libmesa_sse41.mk
index 8562da6..3668785 100644
--- a/src/mesa/Android.libmesa_sse41.mk
+++ b/src/mesa/Android.libmesa_sse41.mk
@@ -20,7 +20,7 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
-ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
+ifneq ($(filter x86 x86_64,$(TARGET_ARCH)),)
LOCAL_PATH := $(call my-dir)
@@ -33,6 +33,9 @@ LOCAL_MODULE := libmesa_sse41
LOCAL_SRC_FILES += \
$(X86_SSE41_FILES)
+LOCAL_CFLAGS += \
+ -msse4.1 \
+
LOCAL_C_INCLUDES := \
$(MESA_TOP)/src/mapi \
$(MESA_TOP)/src/gallium/include \
diff --git a/src/mesa/Android.libmesa_st_mesa.mk b/src/mesa/Android.libmesa_st_mesa.mk
index 3905ddc..b934dbb 100644
--- a/src/mesa/Android.libmesa_st_mesa.mk
+++ b/src/mesa/Android.libmesa_st_mesa.mk
@@ -43,18 +43,10 @@ LOCAL_SRC_FILES := \
LOCAL_GENERATED_SOURCES := $(MESA_GEN_GLSL_H)
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
-ifeq ($(TARGET_ARCH),x86)
- LOCAL_SRC_FILES += $(X86_FILES)
-endif # x86
+ LOCAL_SRC_FILES_x86 += $(X86_FILES)
+ LOCAL_SRC_FILES_x86_64 += $(X86_64_FILES)
endif # MESA_ENABLE_ASM
-ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libmesa_sse41
-LOCAL_CFLAGS := \
- -DUSE_SSE41
-endif
-
LOCAL_C_INCLUDES := \
$(MESA_TOP)/src/mapi \
$(MESA_TOP)/src/mesa/main \
@@ -65,6 +57,12 @@ LOCAL_C_INCLUDES := \
LOCAL_WHOLE_STATIC_LIBRARIES += \
libmesa_program
+LOCAL_WHOLE_STATIC_LIBRARIES_x86 += \
+ libmesa_sse41 \
+
+LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += \
+ libmesa_sse41 \
+
LOCAL_STATIC_LIBRARIES += libmesa_nir libmesa_glsl
include $(LOCAL_PATH)/Android.gen.mk
diff --git a/src/mesa/Android.mesa_gen_matypes.mk b/src/mesa/Android.mesa_gen_matypes.mk
index 4fcf73a..163f0e2 100644
--- a/src/mesa/Android.mesa_gen_matypes.mk
+++ b/src/mesa/Android.mesa_gen_matypes.mk
@@ -25,13 +25,16 @@
# ---------------------------------------------------------------------
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
-ifeq ($(TARGET_ARCH),x86)
+ifneq ($(filter x86 x86_64,$(TARGET_ARCH)),)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mesa_gen_matypes
+LOCAL_MULTILIB := both
+LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
+LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
LOCAL_IS_HOST_MODULE := true
LOCAL_C_INCLUDES := \
@@ -43,5 +46,5 @@ LOCAL_SRC_FILES := \
include $(MESA_COMMON_MK)
include $(BUILD_HOST_EXECUTABLE)
-endif # x86
+endif # x86 x86_64
endif # MESA_ENABLE_ASM
diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk
index b4f1adf..cfaa3f8 100644
--- a/src/mesa/drivers/dri/i965/Android.mk
+++ b/src/mesa/drivers/dri/i965/Android.mk
@@ -168,11 +168,6 @@ endif
LOCAL_CFLAGS := \
$(MESA_DRI_CFLAGS)
-ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
-LOCAL_CFLAGS += \
- -DUSE_SSE41
-endif
-
LOCAL_C_INCLUDES := \
$(MESA_DRI_C_INCLUDES)