rpms/xorg-x11-drv-nouveau/F-11 nouveau-bicubic-2x.patch, 1.2, 1.3 nouveau-fb-resize.patch, 1.6, 1.7 xorg-x11-drv-nouveau.spec, 1.46, 1.47

Ben Skeggs bskeggs at fedoraproject.org
Fri May 8 01:16:07 UTC 2009


Author: bskeggs

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

Modified Files:
	nouveau-bicubic-2x.patch nouveau-fb-resize.patch 
	xorg-x11-drv-nouveau.spec 
Log Message:
* Fri May 08 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-35.20090507git1072103
- nv50: ensure crtcs get reprogrammed as needed across resize



nouveau-bicubic-2x.patch:

Index: nouveau-bicubic-2x.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/F-11/nouveau-bicubic-2x.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- nouveau-bicubic-2x.patch	7 May 2009 11:48:45 -0000	1.2
+++ nouveau-bicubic-2x.patch	8 May 2009 01:16:07 -0000	1.3
@@ -1,4 +1,4 @@
-From 6253f691669364f92ebec4b8112495e56b2ba15e Mon Sep 17 00:00:00 2001
+From b4e52d33ae5ad8942208501490c8d7d017a6a6b5 Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <skeggsb at beleth.localdomain>
 Date: Mon, 4 May 2009 17:04:34 +1000
 Subject: [PATCH 7/7] xv: only use bicubic filtering when scaling >=2x

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.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- nouveau-fb-resize.patch	7 May 2009 11:48:45 -0000	1.6
+++ nouveau-fb-resize.patch	8 May 2009 01:16:07 -0000	1.7
@@ -1,4 +1,4 @@
-From 8e88d28441d611bbecc7a624b239d05451ab836e Mon Sep 17 00:00:00 2001
+From 832793363e7b3967538c746e21ff1f11eb55dfb5 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/7] f11: support framebuffer resize without driver pixmaps
@@ -6,11 +6,11 @@ Subject: [PATCH 6/7] f11: support frameb
 ---
  src/drmmode_display.c |   75 +++++++++++++++++++++++++++++++--
  src/nouveau_exa.c     |   21 +++++-----
- src/nv50_randr.c      |    6 +++
+ src/nv50_randr.c      |   13 +++++-
  src/nv_crtc.c         |   16 ++++++-
  src/nv_driver.c       |  108 ++++++++++++++++++++++++++++++++++++++++++++++---
  src/nv_type.h         |    9 ++++-
- 6 files changed, 210 insertions(+), 25 deletions(-)
+ 6 files changed, 216 insertions(+), 26 deletions(-)
 
 diff --git a/src/drmmode_display.c b/src/drmmode_display.c
 index ca1a60b..c666c9f 100644
@@ -184,21 +184,27 @@ index cf050f9..adf854b 100644
  	exa->MarkSync = nouveau_exa_mark_sync;
  	exa->WaitMarker = nouveau_exa_wait_marker;
 diff --git a/src/nv50_randr.c b/src/nv50_randr.c
-index 61b9e79..b1fca9b 100644
+index 61b9e79..278b5a1 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)
+@@ -289,8 +289,19 @@ nv50_crtc_set_origin(xf86CrtcPtr crtc, int x, int y)
  {
  	ScrnInfoPtr pScrn = crtc->scrn;
  	NV50CrtcPrivatePtr nv_crtc = crtc->driver_private;
++	nouveauCrtcPtr nvcrtc = nv_crtc->crtc; /* sigh.. */
 +	NVPtr pNv = NVPTR(pScrn);
- 
- 	nv_crtc->crtc->SetFBOffset(nv_crtc->crtc, x, y);
-+	if (nv_crtc->crtc->front_buffer &&
-+	    nv_crtc->crtc->front_buffer != pNv->scanout) {
-+		nv_crtc->crtc->SetFB(nv_crtc->crtc, pNv->scanout);
-+		nv_crtc->crtc->ModeSet(nv_crtc->crtc, &crtc->mode);
-+	}
++	uint32_t fb;
++
++	nvcrtc->SetFB(nvcrtc, pNv->scanout);
++	nvcrtc->SetFBOffset(nvcrtc, x, y);
++	nvcrtc->fb_pitch = pScrn->displayWidth * (pScrn->bitsPerPixel >> 3);
++	fb = nvcrtc->front_buffer->offset - pNv->dev->vm_vram_base;
+ 
+-	nv_crtc->crtc->SetFBOffset(nv_crtc->crtc, x, y);
++	NV50CrtcCommand(nvcrtc, NV50_CRTC0_FB_OFFSET, fb >> 8);
++	NV50CrtcCommand(nvcrtc, NV50_CRTC0_FB_PITCH, nvcrtc->fb_pitch | (1<<20));
++	NV50CrtcCommand(nvcrtc, NV50_CRTC0_FB_SIZE, (pScrn->virtualY << 16) |
++						     pScrn->virtualX);
  
  	NV50DisplayCommand(pScrn, NV50_UPDATE_DISPLAY, 0);
  }


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.46
retrieving revision 1.47
diff -u -p -r1.46 -r1.47
--- xorg-x11-drv-nouveau.spec	7 May 2009 11:48:45 -0000	1.46
+++ xorg-x11-drv-nouveau.spec	8 May 2009 01:16:07 -0000	1.47
@@ -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:   34.%{snapshot}%{?dist}
+Release:   35.%{snapshot}%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -87,6 +87,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man4/nouveau.4*
 
 %changelog
+* Fri May 08 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-35.20090507git1072103
+- nv50: ensure crtcs get reprogrammed as needed across resize
+
 * Thu May 07 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-34.20090507git1072103
 - upstream update, fix issues that occured from recent exa abi change
 




More information about the fedora-extras-commits mailing list