Module Name: src
Committed By: mrg
Date: Sun Mar 1 07:46:04 UTC 2015
Modified Files:
src/distrib/sets: mkvars.mk sets.subr
src/distrib/sets/lists/xdebug: md.amd64 md.i386
src/distrib/sets/lists/xserver: md.amd64 md.i386
src/external/mit/xorg/server/drivers: Makefile
src/share/mk: bsd.README bsd.own.mk
Added Files:
src/external/mit/xorg/server/drivers/xf86-video-radeon-kms: Makefile
Log Message:
add build framework to choose between xf86-video-ati 6.x (UMS/KMS)
and 7.x (KMS only), and switch x86 to the latest (KMS only) version.
(if someone can make x86 install both radeon_drv.so.[67] and leave
the default symlink to .7, that would be nice. renaming it so that
it's easier to choose via xorg.conf is a little more tricky..)
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/distrib/sets/mkvars.mk
cvs rdiff -u -r1.162 -r1.163 src/distrib/sets/sets.subr
cvs rdiff -u -r1.10 -r1.11 src/distrib/sets/lists/xdebug/md.amd64
cvs rdiff -u -r1.11 -r1.12 src/distrib/sets/lists/xdebug/md.i386
cvs rdiff -u -r1.75 -r1.76 src/distrib/sets/lists/xserver/md.amd64
cvs rdiff -u -r1.94 -r1.95 src/distrib/sets/lists/xserver/md.i386
cvs rdiff -u -r1.63 -r1.64 src/external/mit/xorg/server/drivers/Makefile
cvs rdiff -u -r0 -r1.1 \
src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile
cvs rdiff -u -r1.337 -r1.338 src/share/mk/bsd.README
cvs rdiff -u -r1.843 -r1.844 src/share/mk/bsd.own.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/mkvars.mk
diff -u src/distrib/sets/mkvars.mk:1.15 src/distrib/sets/mkvars.mk:1.16
--- src/distrib/sets/mkvars.mk:1.15 Sun Jan 26 21:33:53 2014
+++ src/distrib/sets/mkvars.mk Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: mkvars.mk,v 1.15 2014/01/26 21:33:53 joerg Exp $
+# $NetBSD: mkvars.mk,v 1.16 2015/03/01 07:46:04 mrg Exp $
MKEXTRAVARS= \
MACHINE \
@@ -21,6 +21,7 @@ MKEXTRAVARS= \
MKSOFTFLOAT \
MKXORG \
MKXORG_SERVER \
+ MKX11RADEONKMS \
X11FLAVOR \
USE_INET6 \
USE_KERBEROS \
Index: src/distrib/sets/sets.subr
diff -u src/distrib/sets/sets.subr:1.162 src/distrib/sets/sets.subr:1.163
--- src/distrib/sets/sets.subr:1.162 Mon Jan 5 03:45:31 2015
+++ src/distrib/sets/sets.subr Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: sets.subr,v 1.162 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: sets.subr,v 1.163 2015/03/01 07:46:04 mrg Exp $
#
#
@@ -179,7 +179,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g
# In each file, a record consists of a path and a System Package name,
# separated by whitespace. E.g.,
#
-# # $NetBSD: sets.subr,v 1.162 2015/01/05 03:45:31 mrg Exp $
+# # $NetBSD: sets.subr,v 1.163 2015/03/01 07:46:04 mrg Exp $
# . base-sys-root [keyword[,...]]
# ./altroot base-sys-root
# ./bin base-sys-root
@@ -261,6 +261,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g
# ssp ${HAVE_SSP} != no
# tpm ${MKTPM} != no
# x11 ${MKX11} != no && ${X11FLAVOUR} != "Xorg"
+# x11radeonkms ${MKX11} != no && ${MKX11RADEONKMS} != no
# xorg ${MKX11} != no && ${X11FLAVOUR} == "Xorg"
# xorg_server ${MKXORG_SERVER} != no
# yp ${MKYP} != no
Index: src/distrib/sets/lists/xdebug/md.amd64
diff -u src/distrib/sets/lists/xdebug/md.amd64:1.10 src/distrib/sets/lists/xdebug/md.amd64:1.11
--- src/distrib/sets/lists/xdebug/md.amd64:1.10 Mon Jan 5 03:45:31 2015
+++ src/distrib/sets/lists/xdebug/md.amd64 Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.10 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.amd64,v 1.11 2015/03/01 07:46:04 mrg Exp $
./usr/X11R7/lib/libI810XvMC_g.a -unknown- debuglib,xorg
./usr/X11R7/lib/libIntelXvMC_g.a -unknown- debuglib,xorg
./usr/X11R7/lib/libchromeXvMCPro_g.a -unknown- debuglib,xorg
@@ -146,7 +146,8 @@
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/openchrome_drv.so.0.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug,!x11radeonkms
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.7.debug -unknown- xorg,debug,x11radeonkms
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3_drv.so.0.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3virge_drv.so.1.debug -unknown- xorg,debug
Index: src/distrib/sets/lists/xdebug/md.i386
diff -u src/distrib/sets/lists/xdebug/md.i386:1.11 src/distrib/sets/lists/xdebug/md.i386:1.12
--- src/distrib/sets/lists/xdebug/md.i386:1.11 Mon Jan 5 03:45:31 2015
+++ src/distrib/sets/lists/xdebug/md.i386 Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.11 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.i386,v 1.12 2015/03/01 07:46:04 mrg Exp $
./usr/X11R6/lib/modules/extensions/libGLcore_g.a -unknown- debuglib,x11
./usr/X11R6/lib/modules/extensions/libdbe_g.a -unknown- debuglib,x11
./usr/X11R6/lib/modules/extensions/libextmod_g.a -unknown- debuglib,x11
@@ -196,7 +196,8 @@
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/openchrome_drv.so.0.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug,!x11radeonkms
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.7.debug -unknown- xorg,debug,x11radeonkms
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3_drv.so.0.debug -unknown- xorg,debug
./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3virge_drv.so.1.debug -unknown- xorg,debug
Index: src/distrib/sets/lists/xserver/md.amd64
diff -u src/distrib/sets/lists/xserver/md.amd64:1.75 src/distrib/sets/lists/xserver/md.amd64:1.76
--- src/distrib/sets/lists/xserver/md.amd64:1.75 Mon Jan 5 03:45:31 2015
+++ src/distrib/sets/lists/xserver/md.amd64 Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.75 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.amd64,v 1.76 2015/03/01 07:46:04 mrg Exp $
./usr/X11R6/bin/X -unknown- x11
./usr/X11R6/bin/XFree86 -unknown- x11
./usr/X11R6/bin/gtf -unknown- x11
@@ -446,7 +446,8 @@
./usr/X11R7/lib/modules/drivers/r128_drv.so -unknown- xorg
./usr/X11R7/lib/modules/drivers/r128_drv.so.6 -unknown- xorg
./usr/X11R7/lib/modules/drivers/radeon_drv.so -unknown- xorg
-./usr/X11R7/lib/modules/drivers/radeon_drv.so.6 -unknown- xorg
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.6 -unknown- xorg,!x11radeonkms
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.7 -unknown- xorg,x11radeonkms
./usr/X11R7/lib/modules/drivers/radeonhd_drv.so -unknown- xorg
./usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1 -unknown- xorg
./usr/X11R7/lib/modules/drivers/s3_drv.so -unknown- xorg
Index: src/distrib/sets/lists/xserver/md.i386
diff -u src/distrib/sets/lists/xserver/md.i386:1.94 src/distrib/sets/lists/xserver/md.i386:1.95
--- src/distrib/sets/lists/xserver/md.i386:1.94 Mon Jan 5 03:45:31 2015
+++ src/distrib/sets/lists/xserver/md.i386 Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.94 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.i386,v 1.95 2015/03/01 07:46:04 mrg Exp $
./usr/X11R6/bin/X -unknown- x11
./usr/X11R6/bin/XFree86 -unknown- x11
./usr/X11R6/bin/gtf -unknown- x11
@@ -486,7 +486,8 @@
./usr/X11R7/lib/modules/drivers/r128_drv.so -unknown- xorg
./usr/X11R7/lib/modules/drivers/r128_drv.so.6 -unknown- xorg
./usr/X11R7/lib/modules/drivers/radeon_drv.so -unknown- xorg
-./usr/X11R7/lib/modules/drivers/radeon_drv.so.6 -unknown- xorg
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.6 -unknown- xorg,!x11radeonkms
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.7 -unknown- xorg,x11radeonkms
./usr/X11R7/lib/modules/drivers/radeonhd_drv.so -unknown- xorg
./usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1 -unknown- xorg
./usr/X11R7/lib/modules/drivers/s3_drv.so -unknown- xorg
Index: src/external/mit/xorg/server/drivers/Makefile
diff -u src/external/mit/xorg/server/drivers/Makefile:1.63 src/external/mit/xorg/server/drivers/Makefile:1.64
--- src/external/mit/xorg/server/drivers/Makefile:1.63 Thu Jul 19 19:23:52 2012
+++ src/external/mit/xorg/server/drivers/Makefile Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.63 2012/07/19 19:23:52 macallan Exp $
+# $NetBSD: Makefile,v 1.64 2015/03/01 07:46:04 mrg Exp $
# xf86-input drivers
@@ -22,6 +22,13 @@ SUBDIR+= \
# xf86-video drivers
+# Set this to "no" to build the UMS-happy 6.x driver, vs KMS 7.x
+.if ${MKX11RADEONKMS:U} != "no"
+RADEON_SUBDIR=radeon
+.else
+RADEON_SUBDIR=radeon-kms
+.endif
+
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= \
@@ -48,7 +55,7 @@ SUBDIR+= \
xf86-video-nv \
xf86-video-openchrome \
xf86-video-r128 \
- xf86-video-radeon \
+ xf86-video-${RADEON_SUBDIR} \
xf86-video-radeonhd \
xf86-video-s3 \
xf86-video-s3virge \
@@ -89,7 +96,7 @@ SUBDIR+= \
xf86-video-mga \
xf86-video-nv \
xf86-video-r128 \
- xf86-video-radeon \
+ xf86-video-${RADEON_SUBDIR} \
xf86-video-radeonhd \
xf86-video-s3 \
xf86-video-s3virge \
@@ -129,7 +136,7 @@ SUBDIR+= \
xf86-video-mga \
xf86-video-neomagic \
xf86-video-nv \
- xf86-video-radeon \
+ xf86-video-${RADEON_SUBDIR} \
xf86-video-radeonhd \
xf86-video-s3 \
xf86-video-s3virge \
@@ -189,7 +196,7 @@ SUBDIR+= \
xf86-video-mach64 \
xf86-video-mga \
xf86-video-nv \
- xf86-video-radeon \
+ xf86-video-${RADEON_SUBDIR} \
xf86-video-r128 \
xf86-video-tdfx \
xf86-video-wsfb
@@ -214,7 +221,7 @@ SUBDIR+= \
xf86-video-mach64 \
xf86-video-mga \
xf86-video-nv \
- xf86-video-radeon \
+ xf86-video-${RADEON_SUBDIR} \
xf86-video-r128 \
xf86-video-tdfx \
xf86-video-wsfb
@@ -251,7 +258,7 @@ SUBDIR+= \
xf86-video-mach64 \
xf86-video-mga \
xf86-video-r128 \
- xf86-video-radeon \
+ xf86-video-${RADEON_SUBDIR} \
xf86-video-suncg6 \
xf86-video-sunffb \
xf86-video-sunleo \
Index: src/share/mk/bsd.README
diff -u src/share/mk/bsd.README:1.337 src/share/mk/bsd.README:1.338
--- src/share/mk/bsd.README:1.337 Sun Nov 30 15:53:29 2014
+++ src/share/mk/bsd.README Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.README,v 1.337 2014/11/30 15:53:29 uebayasi Exp $
+# $NetBSD: bsd.README,v 1.338 2015/03/01 07:46:04 mrg Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
@@ -412,6 +412,11 @@ MKX11MOTIF: If "yes" and ${X11FLAVOUR} i
using the X11MOTIFPATH variable.
Default: no
+MKX11RADEONKMS If "no", build the xf86-video-ati 6.x driver (the last one
+ with user-mode switching support), otherwise build the
+ kernek-mode switching (KMS) requiring driver.
+ Default: yes on i386 and amd64, yes elsewhere.
+
MKYP If "no", disables building of YP (NIS)
infrastructure (libraries and support programs).
Default: yes
Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.843 src/share/mk/bsd.own.mk:1.844
--- src/share/mk/bsd.own.mk:1.843 Thu Feb 26 04:49:16 2015
+++ src/share/mk/bsd.own.mk Sun Mar 1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.own.mk,v 1.843 2015/02/26 04:49:16 snj Exp $
+# $NetBSD: bsd.own.mk,v 1.844 2015/03/01 07:46:04 mrg Exp $
# This needs to be before bsd.init.mk
.if defined(BSD_MK_COMPAT_FILE)
@@ -1299,7 +1299,7 @@ X11SRCDIR.xf86-input-${_i}?= ${X11SRCDIR
.endfor
.for _v in \
- ag10e apm ark ast ati chips cirrus crime \
+ ag10e apm ark ast ati ati-kms chips cirrus crime \
geode glint i128 i740 igs imstt intel mach64 mga \
neomagic newport nsc nv nvxbox openchrome pnozz \
r128 radeonhd rendition \
@@ -1309,6 +1309,12 @@ X11SRCDIR.xf86-input-${_i}?= ${X11SRCDIR
X11SRCDIR.xf86-video-${_v}?= ${X11SRCDIRMIT}/xf86-video-${_v}/dist
.endfor
+# Build the ati 6.x (UMS supported) or 7.x (KMS demanded) drivers
+.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386"
+MKX11RADEONKMS?= yes
+.endif
+MKX11RADEONKMS?= no
+
.if ${X11FLAVOUR} == "Xorg"
X11DRI?= yes
.endif
Added files:
Index: src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile
diff -u /dev/null src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile:1.1
--- /dev/null Sun Mar 1 07:46:04 2015
+++ src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile Sun Mar 1 07:46:04 2015
@@ -0,0 +1,55 @@
+# $NetBSD: Makefile,v 1.1 2015/03/01 07:46:04 mrg Exp $
+
+.include <bsd.own.mk>
+
+DRIVER= xf86-video-ati-kms
+DRIVER_NAME= radeon_drv
+
+.PATH: ${X11SRCDIR.${DRIVER}}/src/AtomBios
+SRCS.ATOMBIOS= \
+ CD_Operations.c \
+ Decoder.c \
+ hwserv_drv.c
+
+.if ${X11DRI} != "no"
+SRCS.DRI= radeon_dri.c
+CPPFLAGS+= ${X11FLAGS.DRI}
+.endif
+
+.if ${X11DRI} != "no"
+# XXX
+. if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+SRCS.KMS= radeon_dri2.c radeon_kms.c drmmode_display.c radeon_vbo.c
+CPPFLAGS+= -DXF86DRM_MODE
+LIBDPLIBS+= drm_radeon ${.CURDIR}/../../../lib/libdrm_radeon
+. endif
+.endif
+
+SRCS.EXA= radeon_exa.c r600_exa.c r6xx_accel.c \
+ r600_textured_videofuncs.c r600_shader.c radeon_exa_shared.c \
+ evergreen_exa.c evergreen_accel.c evergreen_shader.c \
+ evergreen_textured_videofuncs.c cayman_accel.c cayman_shader.c
+SRCS.KMS= radeon_dri2.c radeon_kms.c drmmode_display.c radeon_vbo.c \
+ radeon_bo_helper.c
+# XXX not yet
+SRCS.GLAMOR= radeon_glamor.c
+
+SRCS= radeon_accel.c radeon_video.c \
+ radeon_misc.c radeon_probe.c \
+ radeon_textured_video.c radeon_xvmc.c \
+ $(SRCS.EXA) \
+ $(SRCS.KMS)
+
+MAN= radeon.4
+
+CPPFLAGS+= -DHAVE_CONFIG_H
+CPPFLAGS+= -I${DESTDIR}${X11INCDIR}/X11 \
+ -I${DESTDIR}${X11INCDIR}/X11/dri \
+ -I${DESTDIR}${X11INCDIR}/libdrm \
+ -I${DESTDIR}${X11INCDIR}/pixman-1 \
+ -I${X11SRCDIR.${DRIVER}}/../include
+
+# XXX
+COPTS+= -Wno-error
+
+.include "../Makefile.xf86-driver"