X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.libretro;h=069290cc5eb4fa2bb87922c04352a268a66d7c9b;hb=2ea8a96c595c83914505970883d096bd55dcc75d;hp=a3bb43aaf21509e40c82154b6b45afa57731f798;hpb=a1242082a082e66ea5b389b13810532f033e2a94;p=pcsx_rearmed.git diff --git a/Makefile.libretro b/Makefile.libretro index a3bb43aa..069290cc 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -49,12 +49,15 @@ EXTRA_LDFLAGS = # select some defaults ifneq (,$(findstring $(ARCH_DETECTED),arm aarch64)) DYNAREC = ari64 -ifneq ($(findstring __thumb__,$(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h)),) +ifneq (,$(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h | grep 'define __thumb__')) # must disable thumb as ari64 can't handle it CFLAGS += -marm endif +ifneq (,$(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h | grep 'HAVE_NEON32')) + BUILTIN_GPU = neon +endif endif -ifneq (,$(findstring $(ARCH_DETECTED),x86_64 aarch64)) +ifneq (,$(findstring $(ARCH_DETECTED),i686 x86_64 aarch64)) BUILTIN_GPU = neon endif @@ -525,8 +528,9 @@ endif ifndef ARCH ARCH = $(ARCH_DETECTED) endif -ifndef HAVE_NEON -HAVE_NEON = $(shell $(CC) -E -dD - < /dev/null 2> /dev/null | grep -q __ARM_NEON__ && echo 1 || echo 0) +ifndef HAVE_NEON_ASM +# asm for 32bit only +HAVE_NEON_ASM = $(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h | grep -q HAVE_NEON32 && echo 1 || echo 0) endif ifeq ($(NO_UNDEF_CHECK)$(shell ld -v 2> /dev/null | awk '{print $$1}'),GNU) MAIN_LDFLAGS += -Wl,--no-undefined @@ -534,6 +538,15 @@ endif ifdef ALLOW_LIGHTREC_ON_ARM CFLAGS += -DALLOW_LIGHTREC_ON_ARM endif +ifeq ($(BUILTIN_GPU),neon) +ifneq (,$(findstring $(ARCH),x86 i686)) + CFLAGS_GPU_NEON ?= -msse2 # required +endif +ifeq ($(ARCH),x86_64) + CFLAGS_GPU_NEON ?= -mssse3 # optional, for more perf +endif +CFLAGS += $(CFLAGS_GPU_NEON) +endif TARGET ?= libretro.so PLATFORM = libretro @@ -551,6 +564,16 @@ NO_CONFIG_MAK = yes #endif #endif +$(info TARGET: $(TARGET)) +$(info platform: $(platform)) +$(info ARCH: $(ARCH)) +$(info DYNAREC: $(DYNAREC)) +$(info BUILTIN_GPU: $(BUILTIN_GPU)) +$(info CC: $(CC)) +$(info CFLAGS: $(CFLAGS)) +$(info MAIN_LDLIBS: $(MAIN_LDLIBS)) +$(info ) + include Makefile # no special AS needed for gpu_neon