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
- Previous message (by thread): rpms/koan/F-9 .cvsignore, 1.29, 1.30 koan.spec, 1.38, 1.39 sources, 1.34, 1.35
- Next message (by thread): rpms/Terminal/F-11 Terminal.spec, 1.24, 1.25 sources, 1.8, 1.9 .cvsignore, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
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
- Previous message (by thread): rpms/koan/F-9 .cvsignore, 1.29, 1.30 koan.spec, 1.38, 1.39 sources, 1.34, 1.35
- Next message (by thread): rpms/Terminal/F-11 Terminal.spec, 1.24, 1.25 sources, 1.8, 1.9 .cvsignore, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list