Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src add build framework to choose between xf86-video-ati 6.x (UM...



details:   https://anonhg.NetBSD.org/src/rev/0f421f32a1cd
branches:  trunk
changeset: 336430:0f421f32a1cd
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sun Mar 01 07:46:04 2015 +0000

description:
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..)

diffstat:

 distrib/sets/lists/xdebug/md.amd64                              |   5 +-
 distrib/sets/lists/xdebug/md.i386                               |   5 +-
 distrib/sets/lists/xserver/md.amd64                             |   5 +-
 distrib/sets/lists/xserver/md.i386                              |   5 +-
 distrib/sets/mkvars.mk                                          |   3 +-
 distrib/sets/sets.subr                                          |   5 +-
 external/mit/xorg/server/drivers/Makefile                       |  21 ++-
 external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile |  55 ++++++++++
 share/mk/bsd.README                                             |   7 +-
 share/mk/bsd.own.mk                                             |  10 +-
 10 files changed, 100 insertions(+), 21 deletions(-)

diffs (truncated from 307 to 300 lines):

diff -r 9807586d02dd -r 0f421f32a1cd distrib/sets/lists/xdebug/md.amd64
--- a/distrib/sets/lists/xdebug/md.amd64        Sun Mar 01 07:05:59 2015 +0000
+++ b/distrib/sets/lists/xdebug/md.amd64        Sun Mar 01 07:46:04 2015 +0000
@@ -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
diff -r 9807586d02dd -r 0f421f32a1cd distrib/sets/lists/xdebug/md.i386
--- a/distrib/sets/lists/xdebug/md.i386 Sun Mar 01 07:05:59 2015 +0000
+++ b/distrib/sets/lists/xdebug/md.i386 Sun Mar 01 07:46:04 2015 +0000
@@ -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
diff -r 9807586d02dd -r 0f421f32a1cd distrib/sets/lists/xserver/md.amd64
--- a/distrib/sets/lists/xserver/md.amd64       Sun Mar 01 07:05:59 2015 +0000
+++ b/distrib/sets/lists/xserver/md.amd64       Sun Mar 01 07:46:04 2015 +0000
@@ -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
diff -r 9807586d02dd -r 0f421f32a1cd distrib/sets/lists/xserver/md.i386
--- a/distrib/sets/lists/xserver/md.i386        Sun Mar 01 07:05:59 2015 +0000
+++ b/distrib/sets/lists/xserver/md.i386        Sun Mar 01 07:46:04 2015 +0000
@@ -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
diff -r 9807586d02dd -r 0f421f32a1cd distrib/sets/mkvars.mk
--- a/distrib/sets/mkvars.mk    Sun Mar 01 07:05:59 2015 +0000
+++ b/distrib/sets/mkvars.mk    Sun Mar 01 07:46:04 2015 +0000
@@ -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 @@
        MKSOFTFLOAT \
        MKXORG \
        MKXORG_SERVER \
+       MKX11RADEONKMS \
        X11FLAVOR \
        USE_INET6 \
        USE_KERBEROS \
diff -r 9807586d02dd -r 0f421f32a1cd distrib/sets/sets.subr
--- a/distrib/sets/sets.subr    Sun Mar 01 07:05:59 2015 +0000
+++ b/distrib/sets/sets.subr    Sun Mar 01 07:46:04 2015 +0000
@@ -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 @@
 # 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 @@
 #      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
diff -r 9807586d02dd -r 0f421f32a1cd external/mit/xorg/server/drivers/Makefile
--- a/external/mit/xorg/server/drivers/Makefile Sun Mar 01 07:05:59 2015 +0000
+++ b/external/mit/xorg/server/drivers/Makefile Sun Mar 01 07:46:04 2015 +0000
@@ -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 @@
 
 # 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 @@
        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 @@
        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 @@
        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 @@
        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 @@
        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 @@
        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 \
diff -r 9807586d02dd -r 0f421f32a1cd external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile   Sun Mar 01 07:46:04 2015 +0000
@@ -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"
diff -r 9807586d02dd -r 0f421f32a1cd share/mk/bsd.README
--- a/share/mk/bsd.README       Sun Mar 01 07:05:59 2015 +0000
+++ b/share/mk/bsd.README       Sun Mar 01 07:46:04 2015 +0000
@@ -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 @@
                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
diff -r 9807586d02dd -r 0f421f32a1cd share/mk/bsd.own.mk
--- a/share/mk/bsd.own.mk       Sun Mar 01 07:05:59 2015 +0000
+++ b/share/mk/bsd.own.mk       Sun Mar 01 07:46:04 2015 +0000
@@ -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 @@
 .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-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"



Home | Main Index | Thread Index | Old Index