blob: 3d9102e97704267414ead3c9121b506f28b50ba2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/../Android.common.mk
ocl_config_file = $(LOCAL_PATH)/OCLConfig.h
$(shell echo "// the configured options and settings for LIBCL" > $(ocl_config_file))
$(shell echo "#define LIBCL_DRIVER_VERSION_MAJOR 1" >> $(ocl_config_file))
$(shell echo "#define LIBCL_DRIVER_VERSION_MINOR 1" >> $(ocl_config_file))
$(shell echo "#define LIBCL_C_VERSION_MAJOR 1" >> $(ocl_config_file))
$(shell echo "#define LIBCL_C_VERSION_MINOR 2" >> $(ocl_config_file))
LOCAL_C_INCLUDES := $(TOP_C_INCLUDE) $(BEIGNET_ROOT_PATH)/backend/src/backend/ $(BEIGNET_ROOT_PATH)
LOCAL_C_INCLUDES += $(DRM_INCLUDE_PATH)
LOCAL_C_INCLUDES += $(LLVM_INCLUDE_DIRS)
LOCAL_C_INCLUDES += hardware/drm_gralloc
LOCAL_CPPFLAGS := $(TOP_CPPFLAGS) -std=c++11 -DHAS_USERPTR
LOCAL_CFLAGS := $(TOP_CFLAGS) -DHAS_USERPTR
OPTIONAL_EGL_LIBRARY :=
LOCAL_LDFLAGS := -Wl,-Bsymbolic
LOCAL_LDLIBS := -lm -ldl
LOCAL_SHARED_LIBRARIES += liblog libcutils
LOCAL_ADDITIONAL_DEPENDENCIES := $(GBE_BIN_GENERATER)
LOCAL_MODULE := libcl
LOCAL_REQUIRED_MODULES := $(HOST_OUT_EXECUTABLES)/gbe_bin_generater
LOCAL_ADDITIONAL_DEPENDENCIES := $(BEIGNET_ROOT_PATH)/backend/src/Android.mk
KERNEL_PATH := $(BEIGNET_ROOT_PATH)/src/kernels
KERNEL_NAMES := cl_internal_copy_buf_align4 \
cl_internal_copy_buf_align16 \
cl_internal_copy_buf_unalign_same_offset \
cl_internal_copy_buf_unalign_dst_offset \
cl_internal_copy_buf_unalign_src_offset \
cl_internal_copy_buf_rect \
cl_internal_copy_buf_rect_align4 \
cl_internal_copy_image_1d_to_1d \
cl_internal_copy_image_2d_to_2d \
cl_internal_copy_image_3d_to_2d \
cl_internal_copy_image_2d_to_3d \
cl_internal_copy_image_3d_to_3d \
cl_internal_copy_image_2d_to_2d_array \
cl_internal_copy_image_1d_array_to_1d_array \
cl_internal_copy_image_2d_array_to_2d_array \
cl_internal_copy_image_2d_array_to_2d \
cl_internal_copy_image_2d_array_to_3d \
cl_internal_copy_image_3d_to_2d_array \
cl_internal_copy_image_2d_to_buffer \
cl_internal_copy_image_2d_to_buffer_align16 \
cl_internal_copy_image_3d_to_buffer \
cl_internal_copy_buffer_to_image_2d \
cl_internal_copy_buffer_to_image_2d_align16 \
cl_internal_copy_buffer_to_image_3d \
cl_internal_fill_buf_align8 \
cl_internal_fill_buf_align4 \
cl_internal_fill_buf_align2 \
cl_internal_fill_buf_unalign \
cl_internal_fill_buf_align128 \
cl_internal_fill_image_1d \
cl_internal_fill_image_1d_array \
cl_internal_fill_image_2d \
cl_internal_fill_image_2d_array \
cl_internal_fill_image_3d
BUILT_IN_NAME := cl_internal_built_in_kernel
GBE_BIN_GENERATER := $(HOST_OUT_EXECUTABLES)/gbe_bin_generater
$(shell rm $(KERNEL_PATH)/$(BUILT_IN_NAME).cl)
define GEN_INTERNAL_KER
# Use the python script to generate the header files.
$(shell $(GBE_BIN_GENERATER) -s $(KERNEL_PATH)/$(1).cl -o $(KERNEL_PATH)/$(1)_str.c)
$(shell cat $(KERNEL_PATH)/$(1).cl >> $(KERNEL_PATH)/$(BUILT_IN_NAME).cl)
endef
$(foreach KERNEL_NAME, ${KERNEL_NAMES}, $(eval $(call GEN_INTERNAL_KER,$(KERNEL_NAME))))
$(shell $(GBE_BIN_GENERATER) -s $(KERNEL_PATH)/$(BUILT_IN_NAME).cl -o $(KERNEL_PATH)/$(BUILT_IN_NAME)_str.c)
GIT_SHA1 = git_sha1.h
$(shell chmod +x $(LOCAL_PATH)/git_sha1.sh)
$(shell $(LOCAL_PATH)/git_sha1.sh $(LOCAL_PATH) ${GIT_SHA1})
LOCAL_SRC_FILES:= \
$(addprefix kernels/,$(addsuffix _str.c, $(KERNEL_NAMES))) \
$(addprefix kernels/,$(addsuffix _str.c, $(BUILT_IN_NAME))) \
cl_api.c \
cl_alloc.c \
cl_kernel.c \
cl_program.c \
cl_gbe_loader.cpp \
cl_sampler.c \
cl_event.c \
cl_enqueue.c \
cl_image.c \
cl_mem.c \
cl_platform_id.c \
cl_extensions.c \
cl_device_id.c \
cl_context.c \
cl_command_queue.c \
cl_command_queue.h \
cl_command_queue_gen7.c \
cl_thread.c \
cl_driver.h \
cl_driver.cpp \
cl_driver_defs.c \
intel/intel_gpgpu.c \
intel/intel_batchbuffer.c \
intel/intel_driver.c \
performance.c \
cl_accelerator_intel.c
LOCAL_SHARED_LIBRARIES := \
libgbe \
libdl \
$(DRM_INTEL_LIBRARY) \
$(DRM_LIBRARY) \
$(OPTIONAL_EGL_LIBRARY) \
libhardware
#LOCAL_CLANG := true
include external/libcxx/libcxx.mk
include $(BUILD_SHARED_LIBRARY)
|