aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-06-20 10:27:28 -0700
committerEric Anholt <[email protected]>2019-07-01 11:14:10 -0700
commit20294dceebc23236e33b22578245f7e6f41b6997 (patch)
tree8789bcc99e0bb1af73d6194af248e4eae015287c
parent52a39a332fec1e5a8d686558b9a71e42bcfcbb0f (diff)
mesa: Enable asm unconditionally, now that gen_matypes is gone.
Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]>
-rw-r--r--Android.common.mk3
-rw-r--r--Android.mk7
-rw-r--r--meson.build94
-rw-r--r--meson_options.txt6
-rw-r--r--src/mesa/Android.libmesa_dricore.mk2
-rw-r--r--src/mesa/Android.libmesa_st_mesa.mk2
6 files changed, 33 insertions, 81 deletions
diff --git a/Android.common.mk b/Android.common.mk
index 327f13f5a38..825b60381d0 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -103,12 +103,9 @@ ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo true),true)
LOCAL_CFLAGS += -DHAVE_SYS_SHM_H
endif
-ifeq ($(strip $(MESA_ENABLE_ASM)),true)
ifeq ($(TARGET_ARCH),x86)
LOCAL_CFLAGS += \
-DUSE_X86_ASM
-
-endif
endif
ifeq ($(ARCH_ARM_HAVE_NEON),true)
LOCAL_CFLAGS_arm += -DUSE_ARM_ASM
diff --git a/Android.mk b/Android.mk
index 5fe028c6d19..8d274e56836 100644
--- a/Android.mk
+++ b/Android.mk
@@ -83,13 +83,6 @@ endif
$(foreach d, $(MESA_BUILD_CLASSIC) $(MESA_BUILD_GALLIUM), $(eval $(d) := true))
-# host and target must be the same arch to generate matypes.h
-ifeq ($(TARGET_ARCH),$(HOST_ARCH))
-MESA_ENABLE_ASM := true
-else
-MESA_ENABLE_ASM := false
-endif
-
ifneq ($(filter true, $(HAVE_GALLIUM_RADEONSI)),)
MESA_ENABLE_LLVM := true
endif
diff --git a/meson.build b/meson.build
index fd247fe00a9..5cce7eb018a 100644
--- a/meson.build
+++ b/meson.build
@@ -49,7 +49,6 @@ with_vulkan_icd_dir = get_option('vulkan-icd-dir')
with_tests = get_option('build-tests')
with_valgrind = get_option('valgrind')
with_libunwind = get_option('libunwind')
-with_asm = get_option('asm')
with_glx_read_only_text = get_option('glx-read-only-text')
with_glx_direct = get_option('glx-direct')
with_osmesa = get_option('osmesa')
@@ -972,69 +971,42 @@ endif
# TODO: shared/static? Is this even worth doing?
-# When cross compiling we generally need to turn off the use of assembly,
-# because mesa's assembly relies on building an executable for the host system,
-# and running it to get information about struct sizes. There is at least one
-# case of cross compiling where we can use asm, and that's x86_64 -> x86 when
-# host OS == build OS, since in that case the build machine can run the host's
-# binaries.
-if with_asm and meson.is_cross_build()
- if build_machine.system() != host_machine.system()
- # TODO: It may be possible to do this with an exe_wrapper (like wine).
- message('Cross compiling from one OS to another, disabling assembly.')
- with_asm = false
- elif not (build_machine.cpu_family().startswith('x86') and host_machine.cpu_family() == 'x86')
- # FIXME: Gentoo always sets -m32 for x86_64 -> x86 builds, resulting in an
- # x86 -> x86 cross compile. We use startswith rather than == to handle this
- # case.
- # TODO: There may be other cases where the 64 bit version of the
- # architecture can run 32 bit binaries (aarch64 and armv7 for example)
- message('''
- Cross compiling to different architectures, and the host cannot run
- the build machine's binaries. Disabling assembly.
- ''')
- with_asm = false
- endif
-endif
-
with_asm_arch = ''
-if with_asm
- if host_machine.cpu_family() == 'x86'
- if system_has_kms_drm or host_machine.system() == 'gnu'
- with_asm_arch = 'x86'
- pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM',
- '-DUSE_SSE_ASM']
-
- if with_glx_read_only_text
- pre_args += ['-DGLX_X86_READONLY_TEXT']
- endif
- endif
- elif host_machine.cpu_family() == 'x86_64'
- if system_has_kms_drm
- with_asm_arch = 'x86_64'
- pre_args += ['-DUSE_X86_64_ASM']
- endif
- elif host_machine.cpu_family() == 'arm'
- if system_has_kms_drm
- with_asm_arch = 'arm'
- pre_args += ['-DUSE_ARM_ASM']
- endif
- elif host_machine.cpu_family() == 'aarch64'
- if system_has_kms_drm
- with_asm_arch = 'aarch64'
- pre_args += ['-DUSE_AARCH64_ASM']
- endif
- elif host_machine.cpu_family() == 'sparc64'
- if system_has_kms_drm
- with_asm_arch = 'sparc'
- pre_args += ['-DUSE_SPARC_ASM']
- endif
- elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() == 'little'
- if system_has_kms_drm
- with_asm_arch = 'ppc64le'
- pre_args += ['-DUSE_PPC64LE_ASM']
+if host_machine.cpu_family() == 'x86'
+ if system_has_kms_drm or host_machine.system() == 'gnu'
+ with_asm_arch = 'x86'
+ pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM',
+ '-DUSE_SSE_ASM']
+
+ if with_glx_read_only_text
+ pre_args += ['-DGLX_X86_READONLY_TEXT']
endif
endif
+elif host_machine.cpu_family() == 'x86_64'
+ if system_has_kms_drm
+ with_asm_arch = 'x86_64'
+ pre_args += ['-DUSE_X86_64_ASM']
+ endif
+elif host_machine.cpu_family() == 'arm'
+ if system_has_kms_drm
+ with_asm_arch = 'arm'
+ pre_args += ['-DUSE_ARM_ASM']
+ endif
+elif host_machine.cpu_family() == 'aarch64'
+ if system_has_kms_drm
+ with_asm_arch = 'aarch64'
+ pre_args += ['-DUSE_AARCH64_ASM']
+ endif
+elif host_machine.cpu_family() == 'sparc64'
+ if system_has_kms_drm
+ with_asm_arch = 'sparc'
+ pre_args += ['-DUSE_SPARC_ASM']
+ endif
+elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() == 'little'
+ if system_has_kms_drm
+ with_asm_arch = 'ppc64le'
+ pre_args += ['-DUSE_PPC64LE_ASM']
+ endif
endif
# Check for standard headers and functions
diff --git a/meson_options.txt b/meson_options.txt
index 1f72faabee8..2a549c7dc37 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -228,12 +228,6 @@ option(
description : 'Enable GLVND support.'
)
option(
- 'asm',
- type : 'boolean',
- value : true,
- description : 'Build assembly code if possible'
-)
-option(
'glx-read-only-text',
type : 'boolean',
value : false,
diff --git a/src/mesa/Android.libmesa_dricore.mk b/src/mesa/Android.libmesa_dricore.mk
index 792117767b4..8eb6aabe836 100644
--- a/src/mesa/Android.libmesa_dricore.mk
+++ b/src/mesa/Android.libmesa_dricore.mk
@@ -39,11 +39,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_SRC_FILES := \
$(MESA_FILES)
-ifeq ($(strip $(MESA_ENABLE_ASM)),true)
ifeq ($(TARGET_ARCH),x86)
LOCAL_SRC_FILES += $(X86_FILES)
endif # x86
-endif # MESA_ENABLE_ASM
ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
LOCAL_WHOLE_STATIC_LIBRARIES := \
diff --git a/src/mesa/Android.libmesa_st_mesa.mk b/src/mesa/Android.libmesa_st_mesa.mk
index ddfd03059c5..16153a3c5bd 100644
--- a/src/mesa/Android.libmesa_st_mesa.mk
+++ b/src/mesa/Android.libmesa_st_mesa.mk
@@ -42,11 +42,9 @@ LOCAL_GENERATED_SOURCES := \
$(MESA_GEN_GLSL_H) \
$(MESA_GEN_NIR_H)
-ifeq ($(strip $(MESA_ENABLE_ASM)),true)
ifeq ($(TARGET_ARCH),x86)
LOCAL_SRC_FILES += $(X86_FILES)
endif # x86
-endif # MESA_ENABLE_ASM
ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
LOCAL_WHOLE_STATIC_LIBRARIES := \