Experimental opm support

This commit is contained in:
mittorn 2016-04-22 19:02:06 +00:00
parent 42bbdc2f3c
commit d1e8dce81a
3 changed files with 123 additions and 4 deletions

View file

@ -6,4 +6,58 @@ override TARGET_arm_debug_CFLAGS :=
override TARGET_thumb_debug_CFLAGS :=
override TARGET_CFLAGS :=
obj/local/x86/objs/xash/client/gl_studio.o: NDK_APP_CFLAGS += -a --aaaa -ftree-parallelize-loops=$(XASH_THREAD_NUM) aaa
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_game.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_frame.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_parse.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_warp.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_main.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_tent.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_events.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_sprite.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_image.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_cull.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rpart.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_beams.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rlight.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rsurf.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rmain.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_dsp.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_utils.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_vox.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_mouth.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_stream.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_load.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_mix.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_draw.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_decals.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/soundlib/snd_wav.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_tga.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_wad.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_bmp.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_quant.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/console.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/net_buffer.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/net_encode.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/mod_studio.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/pm_trace.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/pm_surface.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/cvar.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/cmd.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/network.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/crtlib.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/crclib.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/filesystem.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/infostring.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/gamma.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/mathlib.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/matrixlib.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/touch.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_move.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_pmove.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_world.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_phys.o: override NDK_APP_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
include $(call all-subdir-makefiles)

View file

@ -11,11 +11,13 @@ else
APP_PLATFORM := android-8
endif
# if non-zero, works only if single ABI selected
XASH_THREAD_NUM ?= 0
CFLAGS_OPT := -O3 -fomit-frame-pointer -ggdb -funsafe-math-optimizations -ftree-vectorize -fgraphite-identity -floop-interchange -funsafe-loop-optimizations -finline-limit=1024
CFLAGS_OPT_ARM := -mthumb -mfpu=neon -mcpu=cortex-a9 -pipe -mvectorize-with-neon-quad -DVECTORIZE_SINCOS -fPIC
CFLAGS_OPT_ARMv5 :=-march=armv6 -mfpu=vfp -marm -pipe
CFLAGS_OPT_X86 := -mtune=atom -march=atom -mssse3 -mfpmath=sse -funroll-loops -pipe -DVECTORIZE_SINCOS
CFLAGS_OPT := -O3 -fno-omit-frame-pointer -ggdb -funsafe-math-optimizations -ftree-vectorize -fgraphite-identity -floop-interchange -funsafe-loop-optimizations -finline-limit=512 -ftree-loop-distribution -fprefetch-loop-arrays -floop-strip-mine -ftree-loop-if-convert -ftree-loop-distribution -pipe
CFLAGS_OPT_ARM := -mthumb -mfpu=neon -mcpu=cortex-a9 -mvectorize-with-neon-quad -DVECTORIZE_SINCOS -fPIC
CFLAGS_OPT_ARMv5 :=-march=armv6 -mfpu=vfp -marm
CFLAGS_OPT_X86 := -mtune=atom -march=atom -mssse3 -mfpmath=sse -funroll-loops -DVECTORIZE_SINCOS
CFLAGS_HARDFP := -D_NDK_MATH_NO_SOFTFP=1 -mhard-float -mfloat-abi=hard -DLOAD_HARDFP -DSOFTFP_LINK
APPLICATIONMK_PATH = $(call my-dir)

View file

@ -11,3 +11,66 @@ endif
ifeq ($(TARGET_ARCH_ABI),x86)
LOCAL_CFLAGS += $(CFLAGS_OPT_X86)
endif
ifneq ($(XASH_THREAD_NUM),0)
ifneq (,$(findstring $(LOCAL_MODULE),nanogl server client))
#LOCAL_LDFLAGS += -fopenmp -ftree-parallelize-loops=$(XASH_THREAD_NUM)
LOCAL_CFLAGS += -ftree-parallelize-loops=$(XASH_THREAD_NUM)
endif
LOCAL_LDFLAGS += -fopenmp -ftree-parallelize-loops=$(XASH_THREAD_NUM)
# this works only if single ABI selected
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_studio.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_game.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_frame.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_parse.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_warp.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_main.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_tent.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/cl_events.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_sprite.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_image.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_cull.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rpart.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_beams.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rlight.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rsurf.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_rmain.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_dsp.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_utils.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_vox.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_mouth.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_stream.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_load.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
#obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/s_mix.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_draw.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/client/gl_decals.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/soundlib/snd_wav.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_tga.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_wad.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_bmp.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/imagelib/img_quant.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/console.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/net_buffer.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/net_encode.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/mod_studio.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/pm_trace.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/pm_surface.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/cvar.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/cmd.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/network.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/crtlib.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/crclib.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/filesystem.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/infostring.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/gamma.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/mathlib.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/matrixlib.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/common/touch.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_move.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_pmove.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_world.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
obj/local/$(TARGET_ARCH_ABI)/objs/xash/server/sv_phys.o: override PRIVATE_CC = $(TARGET_CC) -ftree-parallelize-loops=$(XASH_THREAD_NUM)
endif