mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-27 20:24:30 +08:00
android: make DRM optional
For BOARD_GPU_DRIVERS=swrast build, DRM is not needed.
This commit is contained in:
parent
534df79187
commit
09b5f1fd61
@ -38,7 +38,7 @@ DRM_GRALLOC_TOP := hardware/drm_gralloc
|
||||
classic_drivers :=
|
||||
gallium_drivers := swrast i915g nouveau r300g r600g vmwgfx
|
||||
|
||||
MESA_GPU_DRIVERS := $(BOARD_GPU_DRIVERS)
|
||||
MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS))
|
||||
|
||||
# warn about invalid drivers
|
||||
invalid_drivers := $(filter-out \
|
||||
@ -97,12 +97,16 @@ LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_egl
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libglapi \
|
||||
libdrm \
|
||||
libdl \
|
||||
libhardware \
|
||||
liblog \
|
||||
libcutils
|
||||
|
||||
# hardware drivers require DRM
|
||||
ifneq ($(MESA_GPU_DRIVERS),swrast)
|
||||
LOCAL_SHARED_LIBRARIES += libdrm
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
|
||||
|
||||
gallium_DRIVERS :=
|
||||
|
@ -45,8 +45,14 @@ LOCAL_CFLAGS := -DHAVE_ANDROID_BACKEND
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(GALLIUM_TOP)/state_trackers/egl \
|
||||
$(GALLIUM_TOP)/winsys/sw \
|
||||
$(MESA_TOP)/src/egl/main \
|
||||
$(DRM_GRALLOC_TOP)
|
||||
$(MESA_TOP)/src/egl/main
|
||||
|
||||
# swrast only
|
||||
ifeq ($(MESA_GPU_DRIVERS),swrast)
|
||||
LOCAL_CFLAGS += -DANDROID_BACKEND_NO_DRM
|
||||
else
|
||||
LOCAL_C_INCLUDES += $(DRM_GRALLOC_TOP)
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := libmesa_st_egl
|
||||
|
||||
|
@ -136,6 +136,8 @@ get_pipe_format(int native)
|
||||
return fmt;
|
||||
}
|
||||
|
||||
#ifndef ANDROID_BACKEND_NO_DRM
|
||||
|
||||
#include <gralloc_drm_handle.h>
|
||||
static int
|
||||
get_handle_name(buffer_handle_t handle)
|
||||
@ -148,6 +150,16 @@ get_handle_name(buffer_handle_t handle)
|
||||
return (dh) ? dh->name : 0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static int
|
||||
get_handle_name(buffer_handle_t handle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* ANDROID_BACKEND_NO_DRM */
|
||||
|
||||
/**
|
||||
* Import an android_native_buffer_t allocated by the server.
|
||||
*/
|
||||
@ -581,6 +593,7 @@ android_display_init_drm(struct native_display *ndpy)
|
||||
const hw_module_t *mod;
|
||||
int fd, err;
|
||||
|
||||
#ifndef ANDROID_BACKEND_NO_DRM
|
||||
/* get the authorized fd from gralloc */
|
||||
err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &mod);
|
||||
if (!err) {
|
||||
@ -594,6 +607,7 @@ android_display_init_drm(struct native_display *ndpy)
|
||||
adpy->base.screen =
|
||||
adpy->event_handler->new_drm_screen(&adpy->base, NULL, fd);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (adpy->base.screen) {
|
||||
LOGI("using DRM screen");
|
||||
|
@ -39,13 +39,20 @@ LOCAL_C_INCLUDES := \
|
||||
$(GALLIUM_TOP)/state_trackers/vega \
|
||||
$(GALLIUM_TOP)/state_trackers/egl \
|
||||
$(MESA_TOP)/src/egl/main \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(DRM_TOP)/include/drm \
|
||||
$(DRM_TOP)
|
||||
$(MESA_TOP)/src/mesa
|
||||
|
||||
# swrast
|
||||
LOCAL_CFLAGS += -DGALLIUM_SOFTPIPE
|
||||
|
||||
# swrast only
|
||||
ifeq ($(MESA_GPU_DRIVERS),swrast)
|
||||
LOCAL_CFLAGS += -D_EGL_NO_DRM
|
||||
else
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(DRM_TOP)/include/drm \
|
||||
$(DRM_TOP)
|
||||
endif
|
||||
|
||||
ifneq ($(filter i915g, $(MESA_GPU_DRIVERS)),)
|
||||
LOCAL_CFLAGS += -D_EGL_PIPE_I915=1
|
||||
endif
|
||||
|
@ -109,7 +109,7 @@ out:
|
||||
return (*chip_id >= 0);
|
||||
}
|
||||
|
||||
#elif defined(PIPE_OS_ANDROID)
|
||||
#elif defined(PIPE_OS_ANDROID) && !defined(_EGL_NO_DRM)
|
||||
|
||||
#include <xf86drm.h>
|
||||
/* for i915 */
|
||||
|
Loading…
Reference in New Issue
Block a user