rpms/xorg-x11-drv-nouveau/devel .cvsignore, 1.17, 1.18 nouveau-fedora.patch, 1.7, 1.8 sources, 1.18, 1.19 xorg-x11-drv-nouveau.spec, 1.23, 1.24
Ben Skeggs
bskeggs at fedoraproject.org
Mon Mar 23 03:00:33 UTC 2009
- Previous message (by thread): rpms/ibus-chewing/devel .cvsignore, 1.9, 1.10 ibus-chewing.spec, 1.11, 1.12 import.log, 1.4, 1.5 sources, 1.9, 1.10
- Next message (by thread): rpms/kernel/devel patch-2.6.29-rc8-git6.bz2.sign, NONE, 1.1 .cvsignore, 1.1037, 1.1038 kernel.spec, 1.1457, 1.1458 sources, 1.999, 1.1000 upstream, 1.910, 1.911 patch-2.6.29-rc8-git5.bz2.sign, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: bskeggs
Update of /cvs/pkgs/rpms/xorg-x11-drv-nouveau/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1161
Modified Files:
.cvsignore nouveau-fedora.patch sources
xorg-x11-drv-nouveau.spec
Log Message:
* Mon Mar 23 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-12.20090318git3e7fa97
- upstream update, various fixes to pre-nv50 modesetting, cleanups
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/devel/.cvsignore,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- .cvsignore 13 Mar 2009 07:43:49 -0000 1.17
+++ .cvsignore 23 Mar 2009 03:00:01 -0000 1.18
@@ -1 +1 @@
-xf86-video-nouveau-0.0.12-20090313git79d23d8.tar.bz2
+xf86-video-nouveau-0.0.12-20090318git3e7fa97.tar.bz2
nouveau-fedora.patch:
Index: nouveau-fedora.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/devel/nouveau-fedora.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- nouveau-fedora.patch 13 Mar 2009 07:43:49 -0000 1.7
+++ nouveau-fedora.patch 23 Mar 2009 03:00:01 -0000 1.8
@@ -1,5 +1,5 @@
diff --git a/src/Makefile.am b/src/Makefile.am
-index f2ba849..4294796 100644
+index f0b51d2..70813d8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -79,6 +79,7 @@ nouveau_drv_la_SOURCES = \
@@ -11,16 +11,15 @@
nouveau_output.h \
nouveau_connector.h \
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
-index afca718..a8612e6 100644
+index 850c9be..736757f 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
-@@ -129,6 +129,50 @@ drmmode_crtc_dpms(xf86CrtcPtr drmmode_crtc, int mode)
-
+@@ -187,6 +187,50 @@ drmmode_fb_pixmap(ScrnInfoPtr pScrn, int id, int *w, int *h)
}
-+static void
-+drmmode_fb_copy(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int dst_id, int src_id,
-+ int x, int y)
+ static void
++drmmode_fb_copy_sw(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int dst_id,
++ int src_id, int x, int y)
+{
+ drmModeFBPtr fb;
+ NVPtr pNv = NVPTR(pScrn);
@@ -62,10 +61,23 @@
+ drmFree(fb);
+}
+
- static Bool
- drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
- Rotation rotation, int x, int y)
-@@ -153,7 +197,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
++static void
+ drmmode_fb_copy(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int dst_id, int src_id,
+ int x, int y)
+ {
+@@ -196,6 +240,11 @@ drmmode_fb_copy(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int dst_id, int src_id,
+ PixmapPtr pspix, pdpix;
+ int w, h;
+
++ if (!pNv->exa_driver_pixmaps) {
++ drmmode_fb_copy_sw(pScrn, drmmode, dst_id, src_id, x, y);
++ return;
++ }
++
+ pspix = drmmode_fb_pixmap(pScrn, src_id, NULL, NULL);
+ if (!pspix)
+ return;
+@@ -241,7 +290,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
ret = drmModeAddFB(drmmode->fd,
pScrn->virtualX, pScrn->virtualY,
pScrn->depth, pScrn->bitsPerPixel,
@@ -74,21 +86,18 @@
if (ret < 0) {
ErrorF("failed to add fb\n");
return FALSE;
-@@ -206,6 +250,12 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
- fb_id = drmmode->fb_id;
+@@ -294,8 +343,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
if (drmmode_crtc->rotate_fb_id)
fb_id = drmmode_crtc->rotate_fb_id;
-+ else
+ else
+- if (fb_id != drmmode_crtc->mode_crtc->buffer_id &&
+- pNv->exa_driver_pixmaps) {
+ if (fb_id != drmmode_crtc->mode_crtc->buffer_id) {
-+ drmmode_fb_copy(pScrn, drmmode, fb_id,
-+ drmmode_crtc->mode_crtc->buffer_id, x, y);
-+ }
-+
- ret = drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
- fb_id, x, y, output_ids, output_count, &kmode);
- if (ret)
+ drmmode_fb_copy(pScrn, drmmode, fb_id,
+ drmmode_crtc->mode_crtc->buffer_id, x, y);
+ }
diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
-index 93fc3c5..61773db 100644
+index b7bcc87..aee2794 100644
--- a/src/nouveau_exa.c
+++ b/src/nouveau_exa.c
@@ -265,7 +265,8 @@ nouveau_exa_wait_marker(ScreenPtr pScreen, int marker)
@@ -157,8 +166,8 @@
+ if (NVPTR(xf86Screens[ppix->drawable.pScreen->myNum])->GART && bo->tiled) {
struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix);
- nvpix->linear = xcalloc(1, ppix->devKind * ppix->drawable.height);
-@@ -428,7 +441,7 @@ nouveau_exa_pixmap_unmap(PixmapPtr ppix)
+ nvpix->map_refcount++;
+@@ -432,7 +445,7 @@ nouveau_exa_pixmap_unmap(PixmapPtr ppix)
{
struct nouveau_bo *bo = nouveau_pixmap_bo(ppix);
@@ -166,8 +175,8 @@
+ if (NVPTR(xf86Screens[ppix->drawable.pScreen->myNum])->GART && bo->tiled) {
struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix);
- NVAccelUploadM2MF(ppix, 0, 0, ppix->drawable.width,
-@@ -608,6 +621,12 @@ nouveau_exa_init(ScreenPtr pScreen)
+ if (--nvpix->map_refcount)
+@@ -616,6 +629,12 @@ nouveau_exa_init(ScreenPtr pScreen)
exa->maxY = 2048;
}
@@ -195,10 +204,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..713f45c
+index 0000000..942aba3
--- /dev/null
+++ b/src/nv50_shadow_damage.c
-@@ -0,0 +1,276 @@
+@@ -0,0 +1,275 @@
+/*
+ * Copyright 2009 Maarten Maathuis
+ *
@@ -460,8 +469,7 @@
+ return false;
+ }
+
-+ pNv->screen_damage = DamageCreate(nv50_shadow_damage_report, nv50_shadow_damage_destroy,
-+ DamageReportRawRegion, true, pScreen, ppix);
++ pNv->screen_damage = DamageCreate(nv50_shadow_damage_report, nv50_shadow_damage_destroy, DamageReportRawRegion, true, pScreen, ppix);
+ if (!pNv->screen_damage) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "No screen damage\n");
@@ -476,7 +484,7 @@
+ return true;
+}
diff --git a/src/nv_bios.c b/src/nv_bios.c
-index a290996..22d5c47 100644
+index 02a6624..22421a0 100644
--- a/src/nv_bios.c
+++ b/src/nv_bios.c
@@ -22,6 +22,9 @@
@@ -489,7 +497,7 @@
#include "nv_include.h"
#if defined(__FreeBSD__) || defined(__NetBSD__)
-@@ -4857,7 +4860,10 @@ uint8_t * nouveau_bios_embedded_edid(ScrnInfoPtr pScrn)
+@@ -4871,7 +4874,10 @@ uint8_t * nouveau_bios_embedded_edid(ScrnInfoPtr pScrn)
bool NVInitVBIOS(ScrnInfoPtr pScrn)
{
@@ -500,7 +508,7 @@
memset(bios, 0, sizeof(struct nvbios));
-@@ -4868,6 +4874,13 @@ bool NVInitVBIOS(ScrnInfoPtr pScrn)
+@@ -4882,6 +4888,13 @@ bool NVInitVBIOS(ScrnInfoPtr pScrn)
if (bios->length > NV_PROM_SIZE)
bios->length = NV_PROM_SIZE;
@@ -515,20 +523,20 @@
}
diff --git a/src/nv_dri.c b/src/nv_dri.c
-index e105639..95ca770 100644
+index 37538f0..ec47e0b 100644
--- a/src/nv_dri.c
+++ b/src/nv_dri.c
-@@ -331,7 +331,7 @@ Bool NVDRIFinishScreenInit(ScrnInfoPtr pScrn)
+@@ -332,7 +332,7 @@ Bool NVDRIFinishScreenInit(ScrnInfoPtr pScrn)
pNOUVEAUDRI->depth = pScrn->depth;
pNOUVEAUDRI->bpp = pScrn->bitsPerPixel;
-- pNOUVEAUDRI->front_offset = pNv->FB->offset;
-+ pNOUVEAUDRI->front_offset = pNv->scanout->offset;
- pNOUVEAUDRI->front_pitch = pScrn->displayWidth;
- /* back/depth buffers will likely be allocated on a per-drawable
- * basis, but these may be useful if we want to support shared back
+- ret = nouveau_bo_handle_get(pNv->FB, &pNOUVEAUDRI->front_offset);
++ ret = nouveau_bo_handle_get(pNv->scanout, &pNOUVEAUDRI->front_offset);
+ if (ret) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "[dri] unable to reference front buffer: %d\n", ret);
diff --git a/src/nv_driver.c b/src/nv_driver.c
-index ed4d61b..6664373 100644
+index f54fa72..de90d19 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -21,6 +21,7 @@
@@ -539,7 +547,7 @@
#include "nv_include.h"
-@@ -657,14 +658,27 @@ NV50ReleaseDisplay(ScrnInfoPtr pScrn)
+@@ -650,14 +651,27 @@ NV50ReleaseDisplay(ScrnInfoPtr pScrn)
*/
/* Mandatory */
@@ -564,10 +572,26 @@
+ NVMapMemGART(pScrn);
+ }
+
- if (!pNv->kms_enable && pNv->randr12_enable)
- NVSave(pScrn);
+ if (!pNv->NoAccel)
+ NVAccelCommonInit(pScrn);
-@@ -711,6 +725,12 @@ NVLeaveVT(int scrnIndex, int flags)
+@@ -668,10 +682,11 @@ NVEnterVT(int scrnIndex, int flags)
+ /* Clear the framebuffer, we don't want to see garbage
+ * on-screen up until X decides to draw something
+ */
+- nouveau_bo_map(pNv->FB, NOUVEAU_BO_WR);
+- memset(pNv->FB->map, 0, NOUVEAU_ALIGN(pScrn->virtualX, 64) *
+- pScrn->virtualY * (pScrn->bitsPerPixel >> 3));
+- nouveau_bo_unmap(pNv->FB);
++ nouveau_bo_map(pNv->scanout, NOUVEAU_BO_WR);
++ memset(pNv->scanout->map, 0,
++ NOUVEAU_ALIGN(pScrn->virtualX, 64) * pScrn->virtualY *
++ (pScrn->bitsPerPixel >> 3));
++ nouveau_bo_unmap(pNv->scanout);
+
+ if (pNv->Architecture == NV_ARCH_50) {
+ if (!NV50AcquireDisplay(pScrn))
+@@ -714,6 +729,12 @@ NVLeaveVT(int scrnIndex, int flags)
NVSync(pScrn);
@@ -577,10 +601,10 @@
+ ioctl(nouveau_device(pNv->dev)->fd, DRM_IOCTL_DROP_MASTER, NULL);
+ }
+
- if (pNv->kms_enable)
- return;
-
-@@ -1585,6 +1605,8 @@ NVMapMemSW(ScrnInfoPtr pScrn)
+ if (!pNv->kms_enable) {
+ if (pNv->Architecture == NV_ARCH_50) {
+ NV50ReleaseDisplay(pScrn);
+@@ -1581,6 +1602,8 @@ NVMapMemSW(ScrnInfoPtr pScrn)
return FALSE;
pNv->GART = NULL;
@@ -588,8 +612,8 @@
+
ret = nouveau_bo_fake(&dev, Cursor0Offset,
NOUVEAU_BO_VRAM | NOUVEAU_BO_PIN,
- 64*1024, pNv->VRAMMap + Cursor0Offset,
-@@ -1625,11 +1647,81 @@ NVMapMemSW(ScrnInfoPtr pScrn)
+ 64 * 64 * 4, pNv->VRAMMap + Cursor0Offset,
+@@ -1621,11 +1644,81 @@ NVMapMemSW(ScrnInfoPtr pScrn)
}
static Bool
@@ -671,7 +695,7 @@
if (!pNv->dev)
return NVMapMemSW(pScrn);
-@@ -1646,41 +1738,45 @@ NVMapMem(ScrnInfoPtr pScrn)
+@@ -1642,45 +1735,42 @@ NVMapMem(ScrnInfoPtr pScrn)
size = size * (pScrn->bitsPerPixel >> 3);
size = size * pScrn->virtualY;
} else {
@@ -706,10 +730,25 @@
- else
- /* always leave 512kb for other things like the fifos */
- size = pNv->AGPSize - 512*1024;
+- } else {
+- size = (4 << 20) - (1 << 18) ;
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "GART: PCI DMA - using %dKiB\n",
+- size >> 10);
+- }
+ /* Allocate linear scanout. */
+ if (pNv->Architecture >= NV_ARCH_50) {
+ unsigned scanout_size;
-+
+
+- if (nouveau_bo_new(pNv->dev, NOUVEAU_BO_GART | NOUVEAU_BO_PIN, 0,
+- size, &pNv->GART)) {
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+- "Unable to allocate GART memory\n");
+- }
+- if (pNv->GART) {
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "GART: Allocated %dMiB as a scratch buffer\n",
+- (unsigned int)(pNv->GART->size >> 20));
+ scanout_size = NOUVEAU_ALIGN(pScrn->virtualX, 64);
+ scanout_size *= (pScrn->bitsPerPixel >> 3);
+ scanout_size *= pScrn->virtualY;
@@ -720,24 +759,12 @@
+ "Failed to allocate scanout buffer\n");
+ return FALSE;
+ }
- } else {
-- size = (4 << 20) - (1 << 18) ;
-- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-- "GART: PCI DMA - using %dKiB\n",
-- size >> 10);
++ } else {
+ nouveau_bo_ref(pNv->FB, &pNv->scanout);
}
-- if (nouveau_bo_new(pNv->dev, NOUVEAU_BO_GART | NOUVEAU_BO_PIN, 0,
-- size, &pNv->GART)) {
-- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-- "Unable to allocate GART memory\n");
-- }
-+ NVMapMemGART(pScrn);
- if (pNv->GART) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "GART: Allocated %dMiB as a scratch buffer\n",
-@@ -1758,6 +1854,7 @@ NVUnmapMem(ScrnInfoPtr pScrn)
+ /* We don't need to allocate cursors / lut here if we're using
+@@ -1754,6 +1844,7 @@ NVUnmapMem(ScrnInfoPtr pScrn)
}
nouveau_bo_ref(NULL, &pNv->FB);
@@ -745,22 +772,7 @@
nouveau_bo_ref(NULL, &pNv->GART);
nouveau_bo_ref(NULL, &pNv->Cursor);
nouveau_bo_ref(NULL, &pNv->Cursor2);
-@@ -2078,10 +2175,11 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- * up until X decides to draw something
- */
- if (!pNv->kms_enable) {
-- nouveau_bo_map(pNv->FB, NOUVEAU_BO_WR);
-- memset(pNv->FB->map, 0, NOUVEAU_ALIGN(pScrn->virtualX, 64) *
-+ nouveau_bo_map(pNv->scanout, NOUVEAU_BO_WR);
-+ memset(pNv->scanout->map, 0,
-+ NOUVEAU_ALIGN(pScrn->virtualX, 64) *
- pScrn->virtualY * (pScrn->bitsPerPixel >> 3));
-- nouveau_bo_unmap(pNv->FB);
-+ nouveau_bo_unmap(pNv->scanout);
- }
-
- if (!pNv->randr12_enable) {
-@@ -2293,6 +2391,15 @@ NVSaveScreen(ScreenPtr pScreen, int mode)
+@@ -2265,6 +2356,15 @@ NVSaveScreen(ScreenPtr pScreen, int mode)
bool on = xf86IsUnblank(mode);
int i;
@@ -777,10 +789,10 @@
return vgaHWSaveScreen(pScreen, mode);
diff --git a/src/nv_proto.h b/src/nv_proto.h
-index dac8fdb..289c8a2 100644
+index af888d0..dd78719 100644
--- a/src/nv_proto.h
+++ b/src/nv_proto.h
-@@ -281,6 +281,10 @@ void nv50_xv_video_stop(ScrnInfoPtr, pointer, Bool);
+@@ -284,6 +284,10 @@ void nv50_xv_video_stop(ScrnInfoPtr, pointer, Bool);
int nv50_xv_port_attribute_set(ScrnInfoPtr, Atom, INT32, pointer);
int nv50_xv_port_attribute_get(ScrnInfoPtr, Atom, INT32 *, pointer);
@@ -792,10 +804,10 @@
#ifndef exaMoveInPixmap
extern void exaMoveInPixmap(PixmapPtr pPixmap);
diff --git a/src/nv_type.h b/src/nv_type.h
-index 3130f9e..1c4fd10 100644
+index 4a7c04f..8a0e7a1 100644
--- a/src/nv_type.h
+++ b/src/nv_type.h
-@@ -272,6 +272,7 @@ typedef struct _NVRec {
+@@ -268,6 +268,7 @@ typedef struct _NVRec {
/* Various pinned memory regions */
struct nouveau_bo * FB;
void * FBMap;
@@ -803,7 +815,7 @@
//struct nouveau_bo * FB_old; /* for KMS */
struct nouveau_bo * shadow[2]; /* for easy acces by exa */
struct nouveau_bo * Cursor;
-@@ -280,6 +281,9 @@ typedef struct _NVRec {
+@@ -276,6 +277,9 @@ typedef struct _NVRec {
struct nvbios VBIOS;
struct nouveau_bios_info *vbios;
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/devel/sources,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- sources 13 Mar 2009 07:43:49 -0000 1.18
+++ sources 23 Mar 2009 03:00:01 -0000 1.19
@@ -1 +1 @@
-9ff23ca87b9a18558308746d1b19ec43 xf86-video-nouveau-0.0.12-20090313git79d23d8.tar.bz2
+0ead6335c852ae47cf7b14fea0c3d87b xf86-video-nouveau-0.0.12-20090318git3e7fa97.tar.bz2
Index: xorg-x11-drv-nouveau.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-nouveau/devel/xorg-x11-drv-nouveau.spec,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- xorg-x11-drv-nouveau.spec 13 Mar 2009 07:43:49 -0000 1.23
+++ xorg-x11-drv-nouveau.spec 23 Mar 2009 03:00:01 -0000 1.24
@@ -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 20090313
-%define git_version 79d23d8
+%define gitdate 20090318
+%define git_version 3e7fa97
%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: 11.%{snapshot}%{?dist}
+Release: 12.%{snapshot}%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X Hardware Support
@@ -43,6 +43,7 @@
Patch0: nouveau-fedora.patch
Patch1: nouveau-eedid.patch
+Patch2: dcbconf_7_4_ignore.diff
%description
X.Org X11 nouveau video driver.
@@ -52,6 +53,7 @@
%patch0 -p1 -b .fedora
%patch1 -p1 -b .eedid
+%patch2 -p1 -b .dcbconf
%build
autoreconf -v --install
@@ -75,6 +77,9 @@
%{_mandir}/man4/nouveau.4*
%changelog
+* Mon Mar 23 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-12.20090318git3e7fa97
+- upstream update, various fixes to pre-nv50 modesetting, cleanups
+
* Fri Mar 13 2009 Ben Skeggs <bskeggs at redhat.com> 0.0.12-11.20090313git79d23d8
- kms: dpms fixes
- kms: nicer reporting of output properties to users
- Previous message (by thread): rpms/ibus-chewing/devel .cvsignore, 1.9, 1.10 ibus-chewing.spec, 1.11, 1.12 import.log, 1.4, 1.5 sources, 1.9, 1.10
- Next message (by thread): rpms/kernel/devel patch-2.6.29-rc8-git6.bz2.sign, NONE, 1.1 .cvsignore, 1.1037, 1.1038 kernel.spec, 1.1457, 1.1458 sources, 1.999, 1.1000 upstream, 1.910, 1.911 patch-2.6.29-rc8-git5.bz2.sign, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list