rpms/xorg-x11-drv-nouveau/F-11 .cvsignore, 1.33, 1.34 nouveau-fb-resize.patch, 1.1, 1.2 nouveau-multiple-xserver.patch, 1.3, 1.4 nouveau-nv50-fb-accel.patch, 1.3, 1.4 nouveau-nv50-nva0-noaccel.patch, 1.3, 1.4 nouveau-store-vbios.patch, 1.3, 1.4 nouveau-transition-hack.patch, 1.3, 1.4 sources, 1.34, 1.35 xorg-x11-drv-nouveau.spec, 1.41, 1.42

Ben Skeggs bskeggs at fedoraproject.org
Mon Apr 20 23:07:19 UTC 2009


Author: bskeggs

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

Modified Files:
	.cvsignore nouveau-fb-resize.patch 
	nouveau-multiple-xserver.patch nouveau-nv50-fb-accel.patch 
	nouveau-nv50-nva0-noaccel.patch nouveau-store-vbios.patch 
	nouveau-transition-hack.patch sources 
	xorg-x11-drv-nouveau.spec 
Log Message:
* Mon Apr 20 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-30.20090421git47bb00f
- fix for rh#489101




Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/.cvsignore,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- .cvsignore	17 Apr 2009 02:04:01 -0000	1.33
+++ .cvsignore	20 Apr 2009 23:06:47 -0000	1.34
@@ -1 +1 @@
-xf86-video-nouveau-0.0.12-20090417gitfa2f111.tar.bz2
+xf86-video-nouveau-0.0.12-20090421git47bb00f.tar.bz2

nouveau-fb-resize.patch:

Index: nouveau-fb-resize.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/nouveau-fb-resize.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- nouveau-fb-resize.patch	17 Apr 2009 01:48:16 -0000	1.1
+++ nouveau-fb-resize.patch	20 Apr 2009 23:06:47 -0000	1.2
@@ -1,4 +1,4 @@
-From 9189921f9822579246be05eec4f97e04cc609e7f Mon Sep 17 00:00:00 2001
+From 338c31fa8624b401a5f98724c498367351ce4acf Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <skeggsb at caspar.localdomain>
 Date: Tue, 14 Apr 2009 09:23:07 +1000
 Subject: [PATCH 6/6] f11: support framebuffer resize without driver pixmaps
@@ -150,7 +150,7 @@
  
  	return FALSE;
 diff --git a/src/nv50_randr.c b/src/nv50_randr.c
-index 6c19780..f44d286 100644
+index 538c883..c451ba3 100644
 --- a/src/nv50_randr.c
 +++ b/src/nv50_randr.c
 @@ -289,8 +289,14 @@ nv50_crtc_set_origin(xf86CrtcPtr crtc, int x, int y)

nouveau-multiple-xserver.patch:

Index: nouveau-multiple-xserver.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/nouveau-multiple-xserver.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- nouveau-multiple-xserver.patch	17 Apr 2009 01:48:16 -0000	1.3
+++ nouveau-multiple-xserver.patch	20 Apr 2009 23:06:47 -0000	1.4
@@ -1,4 +1,4 @@
-From 7811f9211a960dd6396f8e29964dcde2aec6f2e5 Mon Sep 17 00:00:00 2001
+From e278ea7300169355b17b17a785aef938c3fbc1e3 Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <skeggsb at gmail.com>
 Date: Mon, 13 Apr 2009 19:25:25 +1000
 Subject: [PATCH 3/6] f11: hack to support multiple xserver instances

nouveau-nv50-fb-accel.patch:

Index: nouveau-nv50-fb-accel.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/nouveau-nv50-fb-accel.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- nouveau-nv50-fb-accel.patch	17 Apr 2009 01:48:16 -0000	1.3
+++ nouveau-nv50-fb-accel.patch	20 Apr 2009 23:06:47 -0000	1.4
@@ -1,4 +1,4 @@
-From ae25ecbcb06ea2e32af8c7268ce138645d02274f Mon Sep 17 00:00:00 2001
+From e31aa5217c97dfd1e2c678ce7391fcd255abb0bf Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <skeggsb at gmail.com>
 Date: Mon, 13 Apr 2009 19:30:38 +1000
 Subject: [PATCH 4/6] nv50/f11: accelerate front-buffer rendering, linear shadow for scanout
@@ -6,15 +6,15 @@
 ---
  src/Makefile.am          |    1 +
  src/drmmode_display.c    |    8 +-
- src/nouveau_exa.c        |   37 +++++--
+ src/nouveau_exa.c        |   37 ++++--
  src/nv50_randr.c         |    2 +-
- src/nv50_shadow_damage.c |  275 ++++++++++++++++++++++++++++++++++++++++++++++
+ src/nv50_shadow_damage.c |  306 ++++++++++++++++++++++++++++++++++++++++++++++
  src/nv_dri.c             |    2 +-
- src/nv_driver.c          |   38 ++++++-
+ src/nv_driver.c          |   38 +++++-
  src/nv_proto.h           |    4 +
  src/nv_shadow.c          |    8 +-
  src/nv_type.h            |    4 +
- 10 files changed, 356 insertions(+), 23 deletions(-)
+ 10 files changed, 387 insertions(+), 23 deletions(-)
  create mode 100644 src/nv50_shadow_damage.c
 
 diff --git a/src/Makefile.am b/src/Makefile.am
@@ -156,7 +156,7 @@
  	exa->WaitMarker = nouveau_exa_wait_marker;
  
 diff --git a/src/nv50_randr.c b/src/nv50_randr.c
-index 657e13a..6c19780 100644
+index 8a9281b..538c883 100644
 --- a/src/nv50_randr.c
 +++ b/src/nv50_randr.c
 @@ -99,7 +99,7 @@ nv50_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, DisplayModePtr adjuste
@@ -170,10 +170,10 @@
  	nv_crtc->crtc->ModeSet(nv_crtc->crtc, mode);
 diff --git a/src/nv50_shadow_damage.c b/src/nv50_shadow_damage.c
 new file mode 100644
-index 0000000..942aba3
+index 0000000..790b09c
 --- /dev/null
 +++ b/src/nv50_shadow_damage.c
-@@ -0,0 +1,275 @@
+@@ -0,0 +1,306 @@
 +/*
 + * Copyright 2009 Maarten Maathuis
 + *
@@ -208,37 +208,30 @@
 +#include "damagestr.h"
 +
 +/* When driver allocated pixmaps are used we can easily fold this back into exa code. */
-+static void nv50_shadow_damage_blit(PixmapPtr ppix, RegionPtr pRegion)
++
++static void
++nv50_shadow_damage_blit_state_emit(struct nouveau_channel *chan)
 +{
-+	ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum];
++	ScrnInfoPtr pScrn = chan->user_private;
 +	NVPtr pNv = NVPTR(pScrn);
-+	struct nouveau_channel *chan = pNv->chan;
-+	struct nouveau_grobj *eng2d = pNv->Nv2D;
++	PixmapPtr ppix = pNv->pspix;
 +	struct nouveau_bo *bo = nouveau_pixmap_bo(ppix);
-+	unsigned delta = nouveau_pixmap_offset(ppix);
-+	uint32_t fmt;
-+	BoxPtr pbox;
-+	int nbox;
-+
-+	pbox = REGION_RECTS(pRegion);
-+	nbox = REGION_NUM_RECTS(pRegion);
-+	if (!nbox)
-+		return;
++	struct nouveau_grobj *eng2d = pNv->Nv2D;
++	unsigned delta = nouveau_pixmap_offset(ppix), fmt;
 +
-+	/* flush_notify is not needed, we check for all the ring space in advance. */
-+	WAIT_RING (chan, 26 + nbox * 13);
++	WAIT_RING (chan, 27 + 13);
 +
 +	switch (ppix->drawable.depth) {
-+		case 8 : fmt = NV50_2D_SRC_FORMAT_8BPP; break;
-+		case 15: fmt = NV50_2D_SRC_FORMAT_15BPP; break;
-+		case 16: fmt = NV50_2D_SRC_FORMAT_16BPP; break;
-+		case 24: fmt = NV50_2D_SRC_FORMAT_24BPP; break;
-+		case 32: fmt = NV50_2D_SRC_FORMAT_32BPP; break;
-+		default:
-+			 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+				    "Unknown surface format for bpp=%d\n",
-+				    ppix->drawable.depth);
-+			 return;
++	case 8 : fmt = NV50_2D_SRC_FORMAT_8BPP; break;
++	case 15: fmt = NV50_2D_SRC_FORMAT_15BPP; break;
++	case 16: fmt = NV50_2D_SRC_FORMAT_16BPP; break;
++	case 24: fmt = NV50_2D_SRC_FORMAT_24BPP; break;
++	case 32: fmt = NV50_2D_SRC_FORMAT_32BPP; break;
++	default:
++		 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++			    "Unknown surface format for bpp=%d\n",
++			    ppix->drawable.depth);
++		 return;
 +	}
 +
 +	/* tiled source */
@@ -274,8 +267,28 @@
 +	OUT_RING  (chan, ppix->drawable.height);
 +	BEGIN_RING(chan, eng2d, NV50_2D_OPERATION, 1);
 +	OUT_RING  (chan, NV50_2D_OPERATION_SRCCOPY);
++}
 +
++static void
++nv50_shadow_damage_blit(PixmapPtr ppix, RegionPtr pRegion)
++{
++	ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum];
++	NVPtr pNv = NVPTR(pScrn);
++	struct nouveau_channel *chan = pNv->chan;
++	struct nouveau_grobj *eng2d = pNv->Nv2D;
++	BoxPtr pbox;
++	int nbox;
++
++	pbox = REGION_RECTS(pRegion);
++	nbox = REGION_NUM_RECTS(pRegion);
++	if (!nbox)
++		return;
++
++	pNv->pspix = ppix;
++	chan->flush_notify = nv50_shadow_damage_blit_state_emit;
++	chan->flush_notify(chan);
 +	while (nbox--) {
++		WAIT_RING (chan, 13);
 +		BEGIN_RING(chan, eng2d, NV50_2D_BLIT_DST_X, 12);
 +		OUT_RING  (chan, pbox->x1);
 +		OUT_RING  (chan, pbox->y1);
@@ -292,40 +305,33 @@
 +
 +		pbox++;
 +	}
++	chan->flush_notify = NULL;
 +}
 +
 +/* For frontbuffer fallbacks. */
-+static void nv50_shadow_damage_blit_back(PixmapPtr ppix, RegionPtr pRegion)
++static void
++nv50_shadow_damage_blit_back_state_emit(struct nouveau_channel *chan)
 +{
-+	ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum];
++	ScrnInfoPtr pScrn = chan->user_private;
 +	NVPtr pNv = NVPTR(pScrn);
-+	struct nouveau_channel *chan = pNv->chan;
++	PixmapPtr ppix = pNv->pdpix;
 +	struct nouveau_grobj *eng2d = pNv->Nv2D;
 +	struct nouveau_bo *bo = nouveau_pixmap_bo(ppix);
-+	unsigned delta = nouveau_pixmap_offset(ppix);
-+	uint32_t fmt;
-+	BoxPtr pbox;
-+	int nbox;
-+
-+	pbox = REGION_RECTS(pRegion);
-+	nbox = REGION_NUM_RECTS(pRegion);
-+	if (!nbox)
-+		return;
++	unsigned delta = nouveau_pixmap_offset(ppix), fmt;
 +
-+	/* flush_notify is not needed, we check for all the ring space in advance. */
-+	WAIT_RING (chan, 26 + nbox * 13);
++	WAIT_RING (chan, 27 + 13);
 +
 +	switch (ppix->drawable.depth) {
-+		case 8 : fmt = NV50_2D_SRC_FORMAT_8BPP; break;
-+		case 15: fmt = NV50_2D_SRC_FORMAT_15BPP; break;
-+		case 16: fmt = NV50_2D_SRC_FORMAT_16BPP; break;
-+		case 24: fmt = NV50_2D_SRC_FORMAT_24BPP; break;
-+		case 32: fmt = NV50_2D_SRC_FORMAT_32BPP; break;
-+		default:
-+			 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+				    "Unknown surface format for bpp=%d\n",
-+				    ppix->drawable.depth);
-+			 return;
++	case 8 : fmt = NV50_2D_SRC_FORMAT_8BPP; break;
++	case 15: fmt = NV50_2D_SRC_FORMAT_15BPP; break;
++	case 16: fmt = NV50_2D_SRC_FORMAT_16BPP; break;
++	case 24: fmt = NV50_2D_SRC_FORMAT_24BPP; break;
++	case 32: fmt = NV50_2D_SRC_FORMAT_32BPP; break;
++	default:
++		 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++			    "Unknown surface format for bpp=%d\n",
++			    ppix->drawable.depth);
++		 return;
 +	}
 +
 +	/* untiled source */
@@ -361,8 +367,28 @@
 +	OUT_RING  (chan, ppix->drawable.height);
 +	BEGIN_RING(chan, eng2d, NV50_2D_OPERATION, 1);
 +	OUT_RING  (chan, NV50_2D_OPERATION_SRCCOPY);
++}
++
++static void
++nv50_shadow_damage_blit_back(PixmapPtr ppix, RegionPtr pRegion)
++{
++	ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum];
++	NVPtr pNv = NVPTR(pScrn);
++	struct nouveau_channel *chan = pNv->chan;
++	struct nouveau_grobj *eng2d = pNv->Nv2D;
++	BoxPtr pbox;
++	int nbox;
++
++	pbox = REGION_RECTS(pRegion);
++	nbox = REGION_NUM_RECTS(pRegion);
++	if (!nbox)
++		return;
 +
++	pNv->pdpix = ppix;
++	chan->flush_notify = nv50_shadow_damage_blit_back_state_emit;
++	chan->flush_notify(chan);
 +	while (nbox--) {
++		WAIT_RING (chan, 13);
 +		BEGIN_RING(chan, eng2d, NV50_2D_BLIT_DST_X, 12);
 +		OUT_RING  (chan, pbox->x1);
 +		OUT_RING  (chan, pbox->y1);
@@ -379,16 +405,19 @@
 +
 +		pbox++;
 +	}
++	chan->flush_notify = NULL;
 +}
 +
-+static void nv50_shadow_damage_report(DamagePtr pDamage, RegionPtr pRegion, void *closure)
++static void
++nv50_shadow_damage_report(DamagePtr pDamage, RegionPtr pRegion, void *closure)
 +{
 +	PixmapPtr ppix = closure;
 +
 +	nv50_shadow_damage_blit(ppix, pRegion);
 +}
 +
-+void nv50_shadow_damage_frontbuffer_fallback(ScrnInfoPtr pScrn)
++void
++nv50_shadow_damage_frontbuffer_fallback(ScrnInfoPtr pScrn)
 +{
 +	NVPtr pNv = NVPTR(pScrn);
 +	ScreenPtr pScreen = pScrn->pScreen;
@@ -410,7 +439,8 @@
 +	nv50_shadow_damage_blit_back(ppix, &pDamage->pendingDamage);
 +}
 +
-+static void nv50_shadow_damage_destroy(DamagePtr pDamage, void *closure)
++static void
++nv50_shadow_damage_destroy(DamagePtr pDamage, void *closure)
 +{
 +	PixmapPtr ppix = closure;
 +	ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum];
@@ -419,7 +449,8 @@
 +	pNv->screen_damage = NULL;
 +}
 +
-+bool nv50_shadow_damage_create(ScrnInfoPtr pScrn)
++bool
++nv50_shadow_damage_create(ScrnInfoPtr pScrn)
 +{
 +	NVPtr pNv = NVPTR(pScrn);
 +	ScreenPtr pScreen = pScrn->pScreen;
@@ -540,7 +571,7 @@
  		return vgaHWSaveScreen(pScreen, mode);
  
 diff --git a/src/nv_proto.h b/src/nv_proto.h
-index 43fa62e..f06c757 100644
+index 072c7c4..4e9b65c 100644
 --- a/src/nv_proto.h
 +++ b/src/nv_proto.h
 @@ -267,6 +267,10 @@ void nv50_xv_video_stop(ScrnInfoPtr, pointer, Bool);

nouveau-nv50-nva0-noaccel.patch:

Index: nouveau-nv50-nva0-noaccel.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/nouveau-nv50-nva0-noaccel.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- nouveau-nv50-nva0-noaccel.patch	17 Apr 2009 01:48:17 -0000	1.3
+++ nouveau-nv50-nva0-noaccel.patch	20 Apr 2009 23:06:47 -0000	1.4
@@ -1,4 +1,4 @@
-From 49567300354f9bee9271e9e6ec9332c8fe713973 Mon Sep 17 00:00:00 2001
+From 7460d8ebca84bd5e7c26e88143f14f4909598b68 Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <skeggsb at gmail.com>
 Date: Mon, 13 Apr 2009 20:20:39 +1000
 Subject: [PATCH 5/6] nv50/f11: disable acceleration on NVAx chipsets

nouveau-store-vbios.patch:

Index: nouveau-store-vbios.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/nouveau-store-vbios.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- nouveau-store-vbios.patch	17 Apr 2009 01:48:17 -0000	1.3
+++ nouveau-store-vbios.patch	20 Apr 2009 23:06:47 -0000	1.4
@@ -1,4 +1,4 @@
-From 0a32a04139e0711a0aa2bb4c7885f24b3a963d0c Mon Sep 17 00:00:00 2001
+From 514eb5a03b8ca223a4d832e1675cda3a6a56b02d Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <skeggsb at gmail.com>
 Date: Mon, 13 Apr 2009 19:13:26 +1000
 Subject: [PATCH 2/6] bios/f11: store a copy of used vbios image in /var/run

nouveau-transition-hack.patch:

Index: nouveau-transition-hack.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/nouveau-transition-hack.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- nouveau-transition-hack.patch	17 Apr 2009 01:48:17 -0000	1.3
+++ nouveau-transition-hack.patch	20 Apr 2009 23:06:47 -0000	1.4
@@ -1,4 +1,4 @@
-From 48c76f574f059d7d98f18baf10e798d8bfd5b968 Mon Sep 17 00:00:00 2001
+From 98cd8bd95073e6248a0f63a2b5299736e6d097ef Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <skeggsb at gmail.com>
 Date: Mon, 13 Apr 2009 19:12:25 +1000
 Subject: [PATCH 1/6] kms/f11: hack in transition support without driver pixmaps


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/sources,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- sources	17 Apr 2009 02:04:01 -0000	1.34
+++ sources	20 Apr 2009 23:06:47 -0000	1.35
@@ -1 +1 @@
-8cc45d924825a949300c873769093ae0  xf86-video-nouveau-0.0.12-20090417gitfa2f111.tar.bz2
+0f0047cd0a3c84101b025082f0441ae6  xf86-video-nouveau-0.0.12-20090421git47bb00f.tar.bz2


Index: xorg-x11-drv-nouveau.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/xorg-x11-drv-nouveau.spec,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- xorg-x11-drv-nouveau.spec	17 Apr 2009 01:55:11 -0000	1.41
+++ xorg-x11-drv-nouveau.spec	20 Apr 2009 23:06:47 -0000	1.42
@@ -7,8 +7,8 @@
 # git clone git://git.freedesktop.org/git/nouveau/xf86-video-nouveau
 # git-archive --format=tar --prefix=xf86-video-nouveau-0.0.10/ %{git_version} | bzip2 > xf86-video-nouveau-0.0.10-%{gitdate}.tar.bz2
 
-%define gitdate 20090417
-%define git_version fa2f111
+%define gitdate 20090421
+%define git_version 47bb00f
 
 %define snapshot %{gitdate}git%{git_version}
 
@@ -19,7 +19,7 @@
 # need to set an epoch to get version number in sync with upstream
 Epoch:     1
 Version:   %{nouveau_version}
-Release:   29.%{snapshot}%{?dist}
+Release:   30.%{snapshot}%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -85,6 +85,9 @@
 %{_mandir}/man4/nouveau.4*
 
 %changelog
+* Mon Apr 20 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-30.20090421git47bb00f
+- fix for rh#489101
+
 * Fri Apr 17 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-29.20090417gitfa2f111
 - avoid post-beta hangs experienced by many people (rh#495764, rh#493222).
   - the bug here was relatively harmless, but exposed a more serious issue




More information about the fedora-extras-commits mailing list