OSDN Git Service

Prevent floating-point error accumulation during blitting.
[android-x86/external-swiftshader.git] / src / Android.mk
1 LOCAL_PATH:= $(call my-dir)
2
3 COMMON_C_INCLUDES += \
4         bionic \
5         $(LOCAL_PATH)/../include \
6         $(LOCAL_PATH)/OpenGL/ \
7         $(LOCAL_PATH)
8
9 ifdef use_subzero
10 COMMON_C_INCLUDES += \
11         $(LOCAL_PATH)/../third_party/subzero/ \
12         $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \
13         $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \
14         $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/
15 else
16 COMMON_C_INCLUDES += \
17         $(LOCAL_PATH)/../third_party/LLVM/include
18 endif
19
20 # Project Treble is introduced from Oreo MR1
21 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
22 COMMON_SHARED_LIBRARIES := libnativewindow liblog
23 COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers
24 COMMON_STATIC_LIBRARIES := libarect
25 endif
26
27 # Marshmallow does not have stlport, but comes with libc++ by default
28 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
29 COMMON_C_INCLUDES += external/stlport/stlport
30 endif
31
32 COMMON_SRC_FILES := \
33         Common/CPUID.cpp \
34         Common/Configurator.cpp \
35         Common/DebugAndroid.cpp \
36         Common/GrallocAndroid.cpp \
37         Common/Half.cpp \
38         Common/Math.cpp \
39         Common/Memory.cpp \
40         Common/Resource.cpp \
41         Common/Socket.cpp \
42         Common/Thread.cpp \
43         Common/Timer.cpp
44
45 COMMON_SRC_FILES += \
46         Main/Config.cpp \
47         Main/FrameBuffer.cpp \
48         Main/FrameBufferAndroid.cpp \
49         Main/SwiftConfig.cpp
50
51 ifdef use_subzero
52 COMMON_SRC_FILES += \
53         Reactor/SubzeroReactor.cpp \
54         Reactor/Routine.cpp \
55         Reactor/Optimizer.cpp
56 else
57 COMMON_SRC_FILES += \
58         Reactor/LLVMReactor.cpp \
59         Reactor/Routine.cpp \
60         Reactor/LLVMRoutine.cpp \
61         Reactor/LLVMRoutineManager.cpp
62 endif
63
64 COMMON_SRC_FILES += \
65         Renderer/Blitter.cpp \
66         Renderer/Clipper.cpp \
67         Renderer/Color.cpp \
68         Renderer/Context.cpp \
69         Renderer/ETC_Decoder.cpp \
70         Renderer/Matrix.cpp \
71         Renderer/PixelProcessor.cpp \
72         Renderer/Plane.cpp \
73         Renderer/Point.cpp \
74         Renderer/QuadRasterizer.cpp \
75         Renderer/Renderer.cpp \
76         Renderer/Sampler.cpp \
77         Renderer/SetupProcessor.cpp \
78         Renderer/Surface.cpp \
79         Renderer/TextureStage.cpp \
80         Renderer/Vector.cpp \
81         Renderer/VertexProcessor.cpp \
82
83 COMMON_SRC_FILES += \
84         Shader/Constants.cpp \
85         Shader/PixelPipeline.cpp \
86         Shader/PixelProgram.cpp \
87         Shader/PixelRoutine.cpp \
88         Shader/PixelShader.cpp \
89         Shader/SamplerCore.cpp \
90         Shader/SetupRoutine.cpp \
91         Shader/Shader.cpp \
92         Shader/ShaderCore.cpp \
93         Shader/VertexPipeline.cpp \
94         Shader/VertexProgram.cpp \
95         Shader/VertexRoutine.cpp \
96         Shader/VertexShader.cpp \
97
98 COMMON_SRC_FILES += \
99         OpenGL/common/Image.cpp \
100         OpenGL/common/Object.cpp \
101         OpenGL/common/MatrixStack.cpp \
102
103 COMMON_CFLAGS := \
104         -DLOG_TAG=\"swiftshader\" \
105         -Wall \
106         -Werror \
107         -Wno-format \
108         -Wno-switch \
109         -Wno-unused-local-typedef \
110         -Wno-unused-parameter \
111         -Wno-unused-value \
112         -Wno-unused-variable \
113         -Wno-implicit-exception-spec-mismatch \
114         -Wno-overloaded-virtual \
115         -Wno-non-virtual-dtor \
116         -Wno-attributes \
117         -Wno-unknown-attributes \
118         -Wno-unknown-warning-option \
119         -fno-operator-names \
120         -msse2 \
121         -D__STDC_CONSTANT_MACROS \
122         -D__STDC_LIMIT_MACROS \
123         -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
124         -std=c++11 \
125         -DNO_SANITIZE_FUNCTION=
126
127 ifneq (16,${PLATFORM_SDK_VERSION})
128 COMMON_CFLAGS += -Xclang -fuse-init-array
129 else
130 COMMON_CFLAGS += -D__STDC_INT64__
131 endif
132
133 # gralloc1 is introduced from N MR1
134 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
135 COMMON_CFLAGS += -DHAVE_GRALLOC1
136 COMMON_C_INCLUDES += \
137         system/core/libsync/include \
138         system/core/libsync
139 endif
140
141 # Common Subzero defines
142 COMMON_CFLAGS += -DALLOW_DUMP=0 -DALLOW_TIMERS=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=0 -DALLOW_WASM=0 -DICE_THREAD_LOCAL_HACK=1
143
144 # Subzero target
145 LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
146 LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
147 LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
148
149 include $(CLEAR_VARS)
150 LOCAL_CLANG := true
151 LOCAL_MODULE := swiftshader_top_release
152 LOCAL_VENDOR_MODULE := true
153 LOCAL_MODULE_TAGS := optional
154 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
155 LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
156 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
157 LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
158 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
159 LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
160 include $(BUILD_STATIC_LIBRARY)
161
162 include $(CLEAR_VARS)
163 LOCAL_CLANG := true
164 LOCAL_MODULE := swiftshader_top_debug
165 LOCAL_VENDOR_MODULE := true
166 LOCAL_MODULE_TAGS := optional
167 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
168 LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
169 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
170 LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
171 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
172 LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
173 include $(BUILD_STATIC_LIBRARY)
174
175 include $(call all-makefiles-under,$(LOCAL_PATH))