mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
targets/xa: provide alternative(static) xa target
Now we can build the xa target (libxatracker) with either static pipe-drivers or shared ones. Currently we default to static. - Remove the unused CFLAGS/CPPFLAGS. - Use GALLIUM_TARGET_CFLAGS where applicable. v2: Update the printout messages at configure. v3: Drop inclusion of the wrapper winsys and softpipe/llvmpipe. Cc: Jakob Bornecrantz <jakob@vmware.com> Cc: Rob Clark <robclark@freedesktop.org> Cc: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
parent
c60a4ba7e3
commit
37e640a073
5 changed files with 115 additions and 23 deletions
16
configure.ac
16
configure.ac
|
|
@ -1910,14 +1910,14 @@ if test -n "$with_gallium_drivers"; then
|
|||
HAVE_GALLIUM_SVGA=yes
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
|
||||
gallium_require_drm_loader
|
||||
gallium_check_st "svga/drm" "dri-vmwgfx" ""
|
||||
gallium_check_st "svga/drm" "dri-vmwgfx" "xa/vmwgfx"
|
||||
;;
|
||||
xi915)
|
||||
HAVE_GALLIUM_I915=yes
|
||||
PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
|
||||
gallium_require_drm_loader
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
|
||||
gallium_check_st "i915/drm" "dri-i915"
|
||||
gallium_check_st "i915/drm" "dri-i915" "xa/i915"
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
;;
|
||||
xilo)
|
||||
|
|
@ -1925,7 +1925,7 @@ if test -n "$with_gallium_drivers"; then
|
|||
PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
|
||||
gallium_require_drm_loader
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS ilo"
|
||||
gallium_check_st "intel/drm" "dri-ilo"
|
||||
gallium_check_st "intel/drm" "dri-ilo" "xa/ilo"
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
;;
|
||||
xr300)
|
||||
|
|
@ -1934,7 +1934,7 @@ if test -n "$with_gallium_drivers"; then
|
|||
gallium_require_drm_loader
|
||||
gallium_require_llvm "Gallium R300"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
|
||||
gallium_check_st "radeon/drm" "r300/dri" "" "" ""
|
||||
gallium_check_st "radeon/drm" "r300/dri" "xa/r300" "" ""
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
;;
|
||||
xr600)
|
||||
|
|
@ -1952,7 +1952,7 @@ if test -n "$with_gallium_drivers"; then
|
|||
if test "x$enable_opencl" = xyes; then
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
|
||||
fi
|
||||
gallium_check_st "radeon/drm" "r600/dri" "" "xvmc/r600" "vdpau/r600" "omx/r600"
|
||||
gallium_check_st "radeon/drm" "r600/dri" "xa/r600" "xvmc/r600" "vdpau/r600" "omx/r600"
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
;;
|
||||
xradeonsi)
|
||||
|
|
@ -1962,7 +1962,7 @@ if test -n "$with_gallium_drivers"; then
|
|||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
|
||||
radeon_llvm_check "radeonsi"
|
||||
require_egl_drm "radeonsi"
|
||||
gallium_check_st "radeon/drm" "radeonsi/dri" "" "" "vdpau/radeonsi" "omx/radeonsi"
|
||||
gallium_check_st "radeon/drm" "radeonsi/dri" "xa/radeonsi" "" "vdpau/radeonsi" "omx/radeonsi"
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
;;
|
||||
xnouveau)
|
||||
|
|
@ -1970,7 +1970,7 @@ if test -n "$with_gallium_drivers"; then
|
|||
PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
|
||||
gallium_require_drm_loader
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau"
|
||||
gallium_check_st "nouveau/drm" "dri-nouveau" "" "xvmc/nouveau" "vdpau/nouveau" "omx/nouveau"
|
||||
gallium_check_st "nouveau/drm" "dri-nouveau" "xa/nouveau" "xvmc/nouveau" "vdpau/nouveau" "omx/nouveau"
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
;;
|
||||
xfreedreno)
|
||||
|
|
@ -1978,7 +1978,7 @@ if test -n "$with_gallium_drivers"; then
|
|||
PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
|
||||
gallium_require_drm_loader
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno"
|
||||
gallium_check_st "freedreno/drm" "dri-freedreno" "" "" ""
|
||||
gallium_check_st "freedreno/drm" "dri-freedreno" "xa/freedreno" "" ""
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
;;
|
||||
xswrast)
|
||||
|
|
|
|||
|
|
@ -30,11 +30,12 @@ AM_CFLAGS = \
|
|||
|
||||
AM_CPPFLAGS = \
|
||||
$(GALLIUM_PIPE_LOADER_DEFINES) \
|
||||
-DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\" \
|
||||
-I$(top_srcdir)/src/gallium/targets/xa \
|
||||
-I$(top_srcdir)/src/gallium/ \
|
||||
-I$(top_srcdir)/src/gallium/winsys \
|
||||
-I$(top_srcdir)/src/gallium/drivers
|
||||
-DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\"
|
||||
|
||||
if HAVE_GALLIUM_STATIC_TARGETS
|
||||
AM_CPPFLAGS += \
|
||||
-DGALLIUM_STATIC_TARGETS=1
|
||||
endif
|
||||
|
||||
xa_includedir = $(includedir)
|
||||
xa_include_HEADERS = \
|
||||
|
|
|
|||
|
|
@ -144,8 +144,12 @@ xa_tracker_create(int drm_fd)
|
|||
if (!xa)
|
||||
return NULL;
|
||||
|
||||
#if GALLIUM_STATIC_TARGETS
|
||||
xa->screen = dd_create_screen(drm_fd);
|
||||
#else
|
||||
if (pipe_loader_drm_probe_fd(&xa->dev, drm_fd, false))
|
||||
xa->screen = pipe_loader_create_screen(xa->dev, PIPE_SEARCH_DIR);
|
||||
#endif
|
||||
if (!xa->screen)
|
||||
goto out_no_screen;
|
||||
|
||||
|
|
@ -192,8 +196,10 @@ xa_tracker_create(int drm_fd)
|
|||
out_no_pipe:
|
||||
xa->screen->destroy(xa->screen);
|
||||
out_no_screen:
|
||||
#if !GALLIUM_STATIC_TARGETS
|
||||
if (xa->dev)
|
||||
pipe_loader_release(&xa->dev, 1);
|
||||
#endif
|
||||
free(xa);
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -204,7 +210,9 @@ xa_tracker_destroy(struct xa_tracker *xa)
|
|||
free(xa->supported_formats);
|
||||
xa_context_destroy(xa->default_ctx);
|
||||
xa->screen->destroy(xa->screen);
|
||||
#if !GALLIUM_STATIC_TARGETS
|
||||
pipe_loader_release(&xa->dev, 1);
|
||||
#endif
|
||||
free(xa);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,14 +22,8 @@
|
|||
|
||||
include $(top_srcdir)/src/gallium/Automake.inc
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/src/gallium/state_trackers/xa \
|
||||
-I$(top_srcdir)/src/gallium/winsys
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(GALLIUM_CFLAGS) \
|
||||
$(LIBDRM_CFLAGS)
|
||||
$(GALLIUM_TARGET_CFLAGS)
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xatracker.pc
|
||||
|
|
@ -40,11 +34,8 @@ nodist_EXTRA_libxatracker_la_SOURCES = dummy.cpp
|
|||
libxatracker_la_SOURCES =
|
||||
|
||||
libxatracker_la_LIBADD = \
|
||||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
|
||||
$(top_builddir)/src/gallium/state_trackers/xa/libxatracker.la \
|
||||
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
|
||||
$(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \
|
||||
$(GALLIUM_PIPE_LOADER_LIBS) \
|
||||
$(LIBDRM_LIBS) \
|
||||
$(GALLIUM_COMMON_LIB_DEPS)
|
||||
|
||||
|
|
@ -59,6 +50,97 @@ libxatracker_la_LDFLAGS += \
|
|||
-Wl,--version-script=$(top_srcdir)/src/gallium/targets/xa/xa.sym
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_STATIC_TARGETS
|
||||
|
||||
STATIC_TARGET_CPPFLAGS =
|
||||
STATIC_TARGET_LIB_DEPS = \
|
||||
$(top_builddir)/src/loader/libloader.la
|
||||
|
||||
if HAVE_GALLIUM_I915
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_I915
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/i915/drm/libi915drm.la \
|
||||
$(top_builddir)/src/gallium/drivers/i915/libi915.la \
|
||||
$(INTEL_LIBS)
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_ILO
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_ILO
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/intel/drm/libintelwinsys.la \
|
||||
$(top_builddir)/src/gallium/drivers/ilo/libilo.la \
|
||||
$(INTEL_LIBS)
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_NOUVEAU
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
|
||||
$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
|
||||
$(NOUVEAU_LIBS)
|
||||
endif
|
||||
|
||||
if NEED_RADEON_DRM_WINSYS
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_RADEON_COMMON
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/drivers/radeon/libradeon.la
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_R300
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_R300
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/drivers/r300/libr300.la \
|
||||
$(top_builddir)/src/gallium/drivers/r300/libr300-helper.la \
|
||||
$(RADEON_LIBS)
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_R600
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/drivers/r600/libr600.la \
|
||||
$(RADEON_LIBS)
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_RADEONSI
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
|
||||
$(RADEON_LIBS)
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_SVGA
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_VMWGFX
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/svga/drm/libsvgadrm.la \
|
||||
$(top_builddir)/src/gallium/drivers/svga/libsvga.la
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_FREEDRENO
|
||||
STATIC_TARGET_CPPFLAGS += -DGALLIUM_FREEDRENO
|
||||
STATIC_TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/freedreno/drm/libfreedrenodrm.la \
|
||||
$(top_builddir)/src/gallium/drivers/freedreno/libfreedreno.la \
|
||||
$(FREEDRENO_LIBS)
|
||||
|
||||
endif
|
||||
|
||||
libxatracker_la_SOURCES += target.c
|
||||
libxatracker_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
|
||||
libxatracker_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
|
||||
|
||||
else # HAVE_GALLIUM_STATIC_TARGETS
|
||||
|
||||
libxatracker_la_LIBADD += \
|
||||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
|
||||
$(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \
|
||||
$(GALLIUM_PIPE_LOADER_LIBS)
|
||||
|
||||
endif # HAVE_GALLIUM_STATIC_TARGETS
|
||||
|
||||
if HAVE_MESA_LLVM
|
||||
libxatracker_la_LIBADD += $(LLVM_LIBS)
|
||||
libxatracker_la_LDFLAGS += $(LLVM_LDFLAGS)
|
||||
|
|
|
|||
1
src/gallium/targets/xa/target.c
Normal file
1
src/gallium/targets/xa/target.c
Normal file
|
|
@ -0,0 +1 @@
|
|||
#include "target-helpers/inline_drm_helper.h"
|
||||
Loading…
Add table
Reference in a new issue