rpms/xorg-x11-drv-nouveau/F-12 nouveau-libdrm-compat.patch, NONE, 1.1 nouveau-nv04_nodcb.patch, NONE, 1.1 nouveau-randr-fixes.patch, NONE, 1.1 xorg-x11-drv-nouveau.spec, 1.66, 1.67

Ben Skeggs bskeggs at fedoraproject.org
Fri Jan 15 01:25:09 UTC 2010


Author: bskeggs

Update of /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13654

Modified Files:
	xorg-x11-drv-nouveau.spec 
Added Files:
	nouveau-libdrm-compat.patch nouveau-nv04_nodcb.patch 
	nouveau-randr-fixes.patch 
Log Message:
* Fri Jan 15 2010 Ben Skeggs <bskeggs at redhat.com> 0.0.15-19.20091105gite1c2efd
- nouveau-nv04_nodcb.patch: assume nv04 doesn't have a DCB table (rh#555202)
- nouveau-randr-fixes.patch: fix fb resize/rotate on <nv50 (rh#532978)
- nouveau-libdrm-compat.patch: fix build against libdrm 2.4.17



nouveau-libdrm-compat.patch:
 nv10_exa.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE nouveau-libdrm-compat.patch ---
diff --git a/src/nv10_exa.c b/src/nv10_exa.c
index fe86fd7..daa12da 100644
--- a/src/nv10_exa.c
+++ b/src/nv10_exa.c
@@ -466,7 +466,7 @@ static Bool NV10SetBuffer(NVPtr pNv, PicturePtr Pict, PixmapPtr pixmap)
 #else
 	OUT_RINGf (chan, 65536.0);
 #endif
-	BEGIN_RING(chan, celsius, NV10TCL_VIEWPORT_SCALE_X, 4);
+	BEGIN_RING(chan, celsius, 0x06e8, 4);
 	OUT_RINGf (chan, -2048.0);
 	OUT_RINGf (chan, -2048.0);
 	OUT_RINGf (chan, 0);

nouveau-nv04_nodcb.patch:
 nv_bios.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- NEW FILE nouveau-nv04_nodcb.patch ---
diff --git a/src/nv_bios.c b/src/nv_bios.c
index 218bf7d..ad8b8df 100644
--- a/src/nv_bios.c
+++ b/src/nv_bios.c
@@ -4476,8 +4476,10 @@ static int parse_dcb_table(ScrnInfoPtr pScrn, struct nvbios *bios, bool twoHeads
 	dcb->entries = 0;
 
 	/* get the offset from 0x36 */
-	dcbptr = ROM16(bios->data[0x36]);
-
+	if (NVPTR(pScrn)->Architecture < NV_ARCH_10)
+		dcbptr = 0;
+	else
+		dcbptr = ROM16(bios->data[0x36]);
 	if (dcbptr == 0x0) {
 #ifdef __powerpc__
 		if ((NVPTR(pScrn)->Chipset & 0xffff) == 0x0172) {

nouveau-randr-fixes.patch:
 nv_crtc.c   |    6 ++++--
 nv_driver.c |    4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)

--- NEW FILE nouveau-randr-fixes.patch ---
>From 27f96b291e993650e320502393972fa01f51266d Mon Sep 17 00:00:00 2001
From: Ben Skeggs <bskeggs at redhat.com>
Date: Fri, 15 Jan 2010 11:24:25 +1000
Subject: [PATCH] work-around some pre-g8x non-kms resize/rotate issues

Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
---
 src/nv_crtc.c   |    6 ++++--
 src/nv_driver.c |    3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/nv_crtc.c b/src/nv_crtc.c
index 9708741..ca25af5 100644
--- a/src/nv_crtc.c
+++ b/src/nv_crtc.c
@@ -1070,10 +1070,12 @@ void NVCrtcSetBase(xf86CrtcPtr crtc, int x, int y)
 		y = 0;
 	}
 
-	if (nv_crtc->bo)
+	if (nv_crtc->bo) {
 		nouveau_bo_unpin(nv_crtc->bo);
+		nouveau_bo_ref(NULL, &nv_crtc->bo);
+	}
 	nouveau_bo_pin(bo, NOUVEAU_BO_VRAM);
-	nv_crtc->bo = bo;
+	nouveau_bo_ref(bo, &nv_crtc->bo);
 
 	start  = nv_crtc->bo->offset;
 	start += (y * pScrn->displayWidth + x) * pScrn->bitsPerPixel / 8;
diff --git a/src/nv_driver.c b/src/nv_driver.c
index a0656af..9e01e57 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -606,7 +606,7 @@ nouveau_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
 	ErrorF("resize called %d %d\n", width, height);
 
 	if (scrn->virtualX == width && scrn->virtualY == height)
-		return TRUE;
+		goto skip_resize;
 
 	pitch  = nv_pitch_align(pNv, width, scrn->depth);
 	pitch *= (scrn->bitsPerPixel >> 3);
@@ -640,6 +640,7 @@ nouveau_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
 	scrn->pixmapPrivate.ptr = ppix->devPrivate.ptr;
 	nouveau_bo_unmap(pNv->scanout);
 
+skip_resize:
 	for (i = 0; i < xf86_config->num_crtc; i++) {
 		xf86CrtcPtr crtc = xf86_config->crtc[i];
 
-- 
1.6.5.2



Index: xorg-x11-drv-nouveau.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-12/xorg-x11-drv-nouveau.spec,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -p -r1.66 -r1.67
--- xorg-x11-drv-nouveau.spec	26 Nov 2009 03:30:16 -0000	1.66
+++ xorg-x11-drv-nouveau.spec	15 Jan 2010 01:25:09 -0000	1.67
@@ -19,7 +19,7 @@ Name:      xorg-x11-drv-nouveau
 # need to set an epoch to get version number in sync with upstream
 Epoch:     1
 Version:   %{nouveau_version}
-Release:   18.%{snapshot}%{?dist}
+Release:   19.%{snapshot}%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -48,6 +48,9 @@ Patch6: nouveau-bicubic-2x.patch
 Patch7: nouveau-bgnr.patch
 Patch8: nouveau-tile7000.patch
 Patch9: nouveau-kms-noaccel-fixes.patch
+Patch10: nouveau-nv04_nodcb.patch
+Patch11: nouveau-libdrm-compat.patch
+Patch12: nouveau-randr-fixes.patch
 
 %description 
 X.Org X11 nouveau video driver.
@@ -62,6 +65,9 @@ X.Org X11 nouveau video driver.
 %patch7 -p1 -b .bgnr
 %patch8 -p1 -b .tile7000
 %patch9 -p1 -b .noaccel
+%patch10 -p1 -b .nv04nodcb
+%patch11 -p1 -b .libdrm
+%patch12 -p1 -b .randrfix
 
 %build
 autoreconf -v --install
@@ -85,6 +91,11 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man4/nouveau.4*
 
 %changelog
+* Fri Jan 15 2010 Ben Skeggs <bskeggs at redhat.com> 0.0.15-19.20091105gite1c2efd
+- nouveau-nv04_nodcb.patch: assume nv04 doesn't have a DCB table (rh#555202)
+- nouveau-randr-fixes.patch: fix fb resize/rotate on <nv50 (rh#532978)
+- nouveau-libdrm-compat.patch: fix build against libdrm 2.4.17
+
 * Thu Nov 26 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.15-18.20091105gite1c2efd
 - fix crash on fb resize when using shadowfb (rh#538238)
 



More information about the scm-commits mailing list