[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-nouveau: Changes to 'ubuntu'



 debian/changelog                                      |   12 ++++++
 debian/patches/04_emit_surface_state_after_flush.diff |   21 ++++++++++
 debian/patches/05_dri2_buffer_failure_path_crash.diff |   36 ++++++++++++++++++
 debian/patches/series                                 |    2 +
 4 files changed, 71 insertions(+)

New commits:
commit ed6e411812966eb297ab11d3cf18e9f353e91f16
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Mon Apr 11 16:04:43 2011 +1000

    Release to natty

diff --git a/debian/changelog b/debian/changelog
index eb44356..b55e72d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) UNRELEASED; urgency=low
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) natty; urgency=low
 
   * debian/patches/04_emit_surface_state_after_flush.diff:
     + Cherry-pick from upstream.  Re-emit surface state after flush, or

commit aac46ec9f6fedb7141196d7391f62427a6153aaa
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Mon Apr 11 16:00:26 2011 +1000

    Revert "Build-depend on libdrm 2.4.24 for the new nouveau headers"
    
    We haven't picked up libdrm 2.4.24, so don't B/D on it.
    
    This reverts commit 13ca30fa7ece11d56fb934a7e4eecaf25797555a.

diff --git a/debian/changelog b/debian/changelog
index 1a6d43f..eb44356 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,8 +4,6 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) UNRELEASED;
     + Cherry-pick from upstream.  Re-emit surface state after flush, or
       PGRAPH_TRAP_CCACHE_FAULTs will ruin your day and cause [mi] EQ overflow
       to eat your X.
-  * debian/control:
-    + Build-depend on libdrm 2.4.24 for moved nouveau headers
   * debian/patches/05_dri2_buffer_failure_path_crash.diff:
     + Cherry-pick from upstream.  Return an error rather than crash the X
       server when failing to create a dri2 buffer.
diff --git a/debian/control b/debian/control
index 9ceb4d3..3d87155 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,7 @@ Build-Depends:
  x11proto-randr-dev (>= 1.2),
  x11proto-render-dev,
  x11proto-xext-dev,
- libdrm-dev (>= 2.4.24),
+ libdrm-dev (>= 2.4.23),
  x11proto-xf86dri-dev,
  x11proto-gl-dev,
  mesa-common-dev,

commit c571c2d475191bf7e886d526e1e262d003b829ef
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Mon Apr 11 16:00:19 2011 +1000

    Revert 17775081:
    Drop patch to use older libdrm headers now 2.4.24 is available
    
    We're not picking up libdrm 2.4.24, this patch is still needed.

diff --git a/debian/changelog b/debian/changelog
index d04f670..1a6d43f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,8 +4,6 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) UNRELEASED;
     + Cherry-pick from upstream.  Re-emit surface state after flush, or
       PGRAPH_TRAP_CCACHE_FAULTs will ruin your day and cause [mi] EQ overflow
       to eat your X.
-  * debian/patches/03_use_older_libdrm_headers.diff:
-    + Drop now that libdrm 2.4.24 is available.
   * debian/control:
     + Build-depend on libdrm 2.4.24 for moved nouveau headers
   * debian/patches/05_dri2_buffer_failure_path_crash.diff:
diff --git a/debian/patches/03_use_older_libdrm_headers.diff b/debian/patches/03_use_older_libdrm_headers.diff
new file mode 100644
index 0000000..4e4356b
--- /dev/null
+++ b/debian/patches/03_use_older_libdrm_headers.diff
@@ -0,0 +1,205 @@
+commit c2092a458401377f421d9bdfe1d97ce580b99508
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Mon Dec 20 11:50:57 2010 +1000
+
+    include nv04_pushbuf.h for ring macros, rather than nouveau_pushbuf.h
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
+index 2dd6da4..45add0f 100644
+--- a/src/nouveau_dri2.c
++++ b/src/nouveau_dri2.c
+@@ -5,6 +5,7 @@
+ 
+ #include "xorg-server.h"
+ #include "nv_include.h"
++#include "nouveau_pushbuf.h"
+ #ifdef DRI2
+ #include "dri2.h"
+ #endif
+diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
+index 4618994..4e9f946 100644
+--- a/src/nouveau_exa.c
++++ b/src/nouveau_exa.c
+@@ -21,6 +21,7 @@
+  */
+ 
+ #include "nv_include.h"
++#include "nv04_pushbuf.h"
+ #include "exa.h"
+ 
+ static inline Bool
+diff --git a/src/nouveau_xv.c b/src/nouveau_xv.c
+index dba153c..c1d4ccb 100644
+--- a/src/nouveau_xv.c
++++ b/src/nouveau_xv.c
+@@ -35,6 +35,8 @@
+ #include "nv_include.h"
+ #include "nv_dma.h"
+ 
++#include "nv04_pushbuf.h"
++
+ #include "vl_hwmc.h"
+ 
+ #define IMAGE_MAX_W 2046
+diff --git a/src/nv04_exa.c b/src/nv04_exa.c
+index 2760d4b..f2819d2 100644
+--- a/src/nv04_exa.c
++++ b/src/nv04_exa.c
+@@ -23,6 +23,8 @@
+ #include "nv_include.h"
+ #include "nv_rop.h"
+ 
++#include "nv04_pushbuf.h"
++
+ static void 
+ NV04EXASetPattern(ScrnInfoPtr pScrn, CARD32 clr0, CARD32 clr1,
+ 		  CARD32 pat0, CARD32 pat1)
+diff --git a/src/nv04_xv_blit.c b/src/nv04_xv_blit.c
+index be39c0d..1b8de4f 100644
+--- a/src/nv04_xv_blit.c
++++ b/src/nv04_xv_blit.c
+@@ -34,6 +34,8 @@
+ #include "nv_include.h"
+ #include "nv_dma.h"
+ 
++#include "nv04_pushbuf.h"
++
+ #define FOURCC_RGB 0x0000003
+ 
+ #define VSYNC_POSSIBLE (pNv->dev->chipset >= 0x11)
+diff --git a/src/nv10_exa.c b/src/nv10_exa.c
+index 1acb583..1cf7a5b 100644
+--- a/src/nv10_exa.c
++++ b/src/nv10_exa.c
+@@ -28,6 +28,7 @@
+ #endif
+ 
+ #include "nv_include.h"
++#include "nv04_pushbuf.h"
+ 
+ /* Texture/Render target formats. */
+ static struct pict_format {
+diff --git a/src/nv30_exa.c b/src/nv30_exa.c
+index b34b29c..a4dd37d 100644
+--- a/src/nv30_exa.c
++++ b/src/nv30_exa.c
+@@ -25,6 +25,7 @@
+ 
+ #include "nv_include.h"
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ typedef struct nv_pict_surface_format {
+ 	int	 pict_fmt;
+diff --git a/src/nv30_shaders.c b/src/nv30_shaders.c
+index 7316082..fb93ef8 100644
+--- a/src/nv30_shaders.c
++++ b/src/nv30_shaders.c
+@@ -22,6 +22,7 @@
+ 
+ 
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ void NV30_UploadFragProg(NVPtr pNv, nv_shader_t *shader, int *hw_offset)
+ {
+diff --git a/src/nv30_xv_tex.c b/src/nv30_xv_tex.c
+index ffa68e4..6d4e089 100644
+--- a/src/nv30_xv_tex.c
++++ b/src/nv30_xv_tex.c
+@@ -37,6 +37,7 @@
+ #include "nv_dma.h"
+ 
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ extern Atom xvSyncToVBlank, xvSetDefaults;
+ 
+diff --git a/src/nv40_exa.c b/src/nv40_exa.c
+index ffee0e6..b14a829 100644
+--- a/src/nv40_exa.c
++++ b/src/nv40_exa.c
+@@ -22,6 +22,7 @@
+ 
+ #include "nv_include.h"
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ typedef struct nv_pict_surface_format {
+ 	int	 pict_fmt;
+diff --git a/src/nv40_xv_tex.c b/src/nv40_xv_tex.c
+index e0444e8..0910e12 100644
+--- a/src/nv40_xv_tex.c
++++ b/src/nv40_xv_tex.c
+@@ -37,6 +37,7 @@
+ #include "nv_dma.h"
+ 
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ extern Atom xvSyncToVBlank, xvSetDefaults;
+ 
+diff --git a/src/nv50_accel.h b/src/nv50_accel.h
+index 9cdbbab..fac5cbb 100644
+--- a/src/nv50_accel.h
++++ b/src/nv50_accel.h
+@@ -1,6 +1,8 @@
+ #ifndef __NV50_ACCEL_H__
+ #define __NV50_ACCEL_H__
+ 
++#include "nv04_pushbuf.h"
++
+ /* "Tesla scratch buffer" offsets */
+ #define PVP_OFFSET  0x00000000 /* Vertex program */
+ #define PFP_OFFSET  0x00001000 /* Fragment program */
+diff --git a/src/nv50_exa.c b/src/nv50_exa.c
+index e86f903..e8ff5aa 100644
+--- a/src/nv50_exa.c
++++ b/src/nv50_exa.c
+@@ -24,6 +24,7 @@
+ #include "nv_include.h"
+ #include "nv_rop.h"
+ 
++#include "nv04_pushbuf.h"
+ #include "nv50_accel.h"
+ #include "nv50_texture.h"
+ 
+diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
+index 1ade291..b1553f6 100644
+--- a/src/nv_accel_common.c
++++ b/src/nv_accel_common.c
+@@ -21,6 +21,7 @@
+  */
+ 
+ #include "nv_include.h"
++#include "nv04_pushbuf.h"
+ 
+ Bool
+ nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp,
+diff --git a/src/nv_driver.c b/src/nv_driver.c
+index e2df82e..f4aa2bc 100644
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -24,6 +24,8 @@
+ 
+ #include "nv_include.h"
+ 
++#include "nouveau_pushbuf.h"
++
+ #include "xorg-server.h"
+ #include "xf86int10.h"
+ #include "xf86drm.h"
+diff --git a/src/nv_include.h b/src/nv_include.h
+index 48f0b21..9cb697a 100644
+--- a/src/nv_include.h
++++ b/src/nv_include.h
+@@ -75,7 +75,6 @@
+ #include "nouveau_drmif.h"
+ #include "nouveau_device.h"
+ #include "nouveau_channel.h"
+-#include "nouveau_pushbuf.h"
+ #include "nouveau_bo.h"
+ #include "nouveau_grobj.h"
+ #include "nouveau_notifier.h"
diff --git a/debian/patches/series b/debian/patches/series
index ffa3c6e..c1beaf4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,5 @@
 01-set-NV_DRIVER_DATE-from-ChangeLog.diff
 02_nouveau_bgnr
+03_use_older_libdrm_headers.diff -R
 04_emit_surface_state_after_flush.diff
 05_dri2_buffer_failure_path_crash.diff

commit 19f51362dae6bc6b068ef08b3b6be1f8276fa79d
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Mon Apr 4 16:59:17 2011 +1000

    Cherry-pick fix for Xserver crash on dri2 failure path

diff --git a/debian/changelog b/debian/changelog
index 291c460..d04f670 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,8 +8,11 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) UNRELEASED;
     + Drop now that libdrm 2.4.24 is available.
   * debian/control:
     + Build-depend on libdrm 2.4.24 for moved nouveau headers
+  * debian/patches/05_dri2_buffer_failure_path_crash.diff:
+    + Cherry-pick from upstream.  Return an error rather than crash the X
+      server when failing to create a dri2 buffer.
 
- -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 04 Apr 2011 16:00:15 +1000
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 04 Apr 2011 16:58:30 +1000
 
 xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu6) natty; urgency=low
 
diff --git a/debian/patches/05_dri2_buffer_failure_path_crash.diff b/debian/patches/05_dri2_buffer_failure_path_crash.diff
new file mode 100644
index 0000000..f609ad7
--- /dev/null
+++ b/debian/patches/05_dri2_buffer_failure_path_crash.diff
@@ -0,0 +1,36 @@
+commit ace98a492353e6de712f4f717e6d3f562e3591f0
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Tue Mar 1 13:54:38 2011 +1000
+
+    dri2: return an error rather than crashing if we can't allocate a buffer
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
+index d5afa8a..1a68ed3 100644
+--- a/src/nouveau_dri2.c
++++ b/src/nouveau_dri2.c
+@@ -29,6 +29,7 @@ nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int attachment,
+ 	ScreenPtr pScreen = pDraw->pScreen;
+ 	NVPtr pNv = NVPTR(xf86Screens[pScreen->myNum]);
+ 	struct nouveau_dri2_buffer *nvbuf;
++	struct nouveau_pixmap *nvpix;
+ 	PixmapPtr ppix;
+ 
+ 	nvbuf = calloc(1, sizeof(*nvbuf));
+@@ -70,7 +71,14 @@ nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int attachment,
+ 	nvbuf->base.flags = 0;
+ 	nvbuf->ppix = ppix;
+ 
+-	nouveau_bo_handle_get(nouveau_pixmap(ppix)->bo, &nvbuf->base.name);
++	nvpix = nouveau_pixmap(ppix);
++	if (!nvpix || !nvpix->bo ||
++	    nouveau_bo_handle_get(nvpix->bo, &nvbuf->base.name)) {
++		pScreen->DestroyPixmap(nvbuf->ppix);
++		free(nvbuf);
++		return NULL;
++	}
++
+ 	return &nvbuf->base;
+ }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index dd4ec71..ffa3c6e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01-set-NV_DRIVER_DATE-from-ChangeLog.diff
 02_nouveau_bgnr
 04_emit_surface_state_after_flush.diff
+05_dri2_buffer_failure_path_crash.diff

commit 13ca30fa7ece11d56fb934a7e4eecaf25797555a
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Mon Apr 4 16:03:26 2011 +1000

    Build-depend on libdrm 2.4.24 for the new nouveau headers

diff --git a/debian/changelog b/debian/changelog
index 0a6afec..291c460 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) UNRELEASED;
       to eat your X.
   * debian/patches/03_use_older_libdrm_headers.diff:
     + Drop now that libdrm 2.4.24 is available.
+  * debian/control:
+    + Build-depend on libdrm 2.4.24 for moved nouveau headers
 
  -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 04 Apr 2011 16:00:15 +1000
 
diff --git a/debian/control b/debian/control
index 3d87155..9ceb4d3 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,7 @@ Build-Depends:
  x11proto-randr-dev (>= 1.2),
  x11proto-render-dev,
  x11proto-xext-dev,
- libdrm-dev (>= 2.4.23),
+ libdrm-dev (>= 2.4.24),
  x11proto-xf86dri-dev,
  x11proto-gl-dev,
  mesa-common-dev,

commit 177750816f51e8acff7f43c0a1bf6f56f5044f5a
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Mon Apr 4 16:02:31 2011 +1000

    Drop patch to use older libdrm headers now 2.4.24 is available

diff --git a/debian/changelog b/debian/changelog
index e696d92..0a6afec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,8 +4,10 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) UNRELEASED;
     + Cherry-pick from upstream.  Re-emit surface state after flush, or
       PGRAPH_TRAP_CCACHE_FAULTs will ruin your day and cause [mi] EQ overflow
       to eat your X.
+  * debian/patches/03_use_older_libdrm_headers.diff:
+    + Drop now that libdrm 2.4.24 is available.
 
- -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 01 Apr 2011 17:45:47 +1100
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 04 Apr 2011 16:00:15 +1000
 
 xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu6) natty; urgency=low
 
diff --git a/debian/patches/03_use_older_libdrm_headers.diff b/debian/patches/03_use_older_libdrm_headers.diff
deleted file mode 100644
index 4e4356b..0000000
--- a/debian/patches/03_use_older_libdrm_headers.diff
+++ /dev/null
@@ -1,205 +0,0 @@
-commit c2092a458401377f421d9bdfe1d97ce580b99508
-Author: Ben Skeggs <bskeggs@redhat.com>
-Date:   Mon Dec 20 11:50:57 2010 +1000
-
-    include nv04_pushbuf.h for ring macros, rather than nouveau_pushbuf.h
-    
-    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-
-diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
-index 2dd6da4..45add0f 100644
---- a/src/nouveau_dri2.c
-+++ b/src/nouveau_dri2.c
-@@ -5,6 +5,7 @@
- 
- #include "xorg-server.h"
- #include "nv_include.h"
-+#include "nouveau_pushbuf.h"
- #ifdef DRI2
- #include "dri2.h"
- #endif
-diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
-index 4618994..4e9f946 100644
---- a/src/nouveau_exa.c
-+++ b/src/nouveau_exa.c
-@@ -21,6 +21,7 @@
-  */
- 
- #include "nv_include.h"
-+#include "nv04_pushbuf.h"
- #include "exa.h"
- 
- static inline Bool
-diff --git a/src/nouveau_xv.c b/src/nouveau_xv.c
-index dba153c..c1d4ccb 100644
---- a/src/nouveau_xv.c
-+++ b/src/nouveau_xv.c
-@@ -35,6 +35,8 @@
- #include "nv_include.h"
- #include "nv_dma.h"
- 
-+#include "nv04_pushbuf.h"
-+
- #include "vl_hwmc.h"
- 
- #define IMAGE_MAX_W 2046
-diff --git a/src/nv04_exa.c b/src/nv04_exa.c
-index 2760d4b..f2819d2 100644
---- a/src/nv04_exa.c
-+++ b/src/nv04_exa.c
-@@ -23,6 +23,8 @@
- #include "nv_include.h"
- #include "nv_rop.h"
- 
-+#include "nv04_pushbuf.h"
-+
- static void 
- NV04EXASetPattern(ScrnInfoPtr pScrn, CARD32 clr0, CARD32 clr1,
- 		  CARD32 pat0, CARD32 pat1)
-diff --git a/src/nv04_xv_blit.c b/src/nv04_xv_blit.c
-index be39c0d..1b8de4f 100644
---- a/src/nv04_xv_blit.c
-+++ b/src/nv04_xv_blit.c
-@@ -34,6 +34,8 @@
- #include "nv_include.h"
- #include "nv_dma.h"
- 
-+#include "nv04_pushbuf.h"
-+
- #define FOURCC_RGB 0x0000003
- 
- #define VSYNC_POSSIBLE (pNv->dev->chipset >= 0x11)
-diff --git a/src/nv10_exa.c b/src/nv10_exa.c
-index 1acb583..1cf7a5b 100644
---- a/src/nv10_exa.c
-+++ b/src/nv10_exa.c
-@@ -28,6 +28,7 @@
- #endif
- 
- #include "nv_include.h"
-+#include "nv04_pushbuf.h"
- 
- /* Texture/Render target formats. */
- static struct pict_format {
-diff --git a/src/nv30_exa.c b/src/nv30_exa.c
-index b34b29c..a4dd37d 100644
---- a/src/nv30_exa.c
-+++ b/src/nv30_exa.c
-@@ -25,6 +25,7 @@
- 
- #include "nv_include.h"
- #include "nv30_shaders.h"
-+#include "nv04_pushbuf.h"
- 
- typedef struct nv_pict_surface_format {
- 	int	 pict_fmt;
-diff --git a/src/nv30_shaders.c b/src/nv30_shaders.c
-index 7316082..fb93ef8 100644
---- a/src/nv30_shaders.c
-+++ b/src/nv30_shaders.c
-@@ -22,6 +22,7 @@
- 
- 
- #include "nv30_shaders.h"
-+#include "nv04_pushbuf.h"
- 
- void NV30_UploadFragProg(NVPtr pNv, nv_shader_t *shader, int *hw_offset)
- {
-diff --git a/src/nv30_xv_tex.c b/src/nv30_xv_tex.c
-index ffa68e4..6d4e089 100644
---- a/src/nv30_xv_tex.c
-+++ b/src/nv30_xv_tex.c
-@@ -37,6 +37,7 @@
- #include "nv_dma.h"
- 
- #include "nv30_shaders.h"
-+#include "nv04_pushbuf.h"
- 
- extern Atom xvSyncToVBlank, xvSetDefaults;
- 
-diff --git a/src/nv40_exa.c b/src/nv40_exa.c
-index ffee0e6..b14a829 100644
---- a/src/nv40_exa.c
-+++ b/src/nv40_exa.c
-@@ -22,6 +22,7 @@
- 
- #include "nv_include.h"
- #include "nv30_shaders.h"
-+#include "nv04_pushbuf.h"
- 
- typedef struct nv_pict_surface_format {
- 	int	 pict_fmt;
-diff --git a/src/nv40_xv_tex.c b/src/nv40_xv_tex.c
-index e0444e8..0910e12 100644
---- a/src/nv40_xv_tex.c
-+++ b/src/nv40_xv_tex.c
-@@ -37,6 +37,7 @@
- #include "nv_dma.h"
- 
- #include "nv30_shaders.h"
-+#include "nv04_pushbuf.h"
- 
- extern Atom xvSyncToVBlank, xvSetDefaults;
- 
-diff --git a/src/nv50_accel.h b/src/nv50_accel.h
-index 9cdbbab..fac5cbb 100644
---- a/src/nv50_accel.h
-+++ b/src/nv50_accel.h
-@@ -1,6 +1,8 @@
- #ifndef __NV50_ACCEL_H__
- #define __NV50_ACCEL_H__
- 
-+#include "nv04_pushbuf.h"
-+
- /* "Tesla scratch buffer" offsets */
- #define PVP_OFFSET  0x00000000 /* Vertex program */
- #define PFP_OFFSET  0x00001000 /* Fragment program */
-diff --git a/src/nv50_exa.c b/src/nv50_exa.c
-index e86f903..e8ff5aa 100644
---- a/src/nv50_exa.c
-+++ b/src/nv50_exa.c
-@@ -24,6 +24,7 @@
- #include "nv_include.h"
- #include "nv_rop.h"
- 
-+#include "nv04_pushbuf.h"
- #include "nv50_accel.h"
- #include "nv50_texture.h"
- 
-diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
-index 1ade291..b1553f6 100644
---- a/src/nv_accel_common.c
-+++ b/src/nv_accel_common.c
-@@ -21,6 +21,7 @@
-  */
- 
- #include "nv_include.h"
-+#include "nv04_pushbuf.h"
- 
- Bool
- nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp,
-diff --git a/src/nv_driver.c b/src/nv_driver.c
-index e2df82e..f4aa2bc 100644
---- a/src/nv_driver.c
-+++ b/src/nv_driver.c
-@@ -24,6 +24,8 @@
- 
- #include "nv_include.h"
- 
-+#include "nouveau_pushbuf.h"
-+
- #include "xorg-server.h"
- #include "xf86int10.h"
- #include "xf86drm.h"
-diff --git a/src/nv_include.h b/src/nv_include.h
-index 48f0b21..9cb697a 100644
---- a/src/nv_include.h
-+++ b/src/nv_include.h
-@@ -75,7 +75,6 @@
- #include "nouveau_drmif.h"
- #include "nouveau_device.h"
- #include "nouveau_channel.h"
--#include "nouveau_pushbuf.h"
- #include "nouveau_bo.h"
- #include "nouveau_grobj.h"
- #include "nouveau_notifier.h"
diff --git a/debian/patches/series b/debian/patches/series
index ec0fc1d..dd4ec71 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,3 @@
 01-set-NV_DRIVER_DATE-from-ChangeLog.diff
 02_nouveau_bgnr
-03_use_older_libdrm_headers.diff -R
 04_emit_surface_state_after_flush.diff

commit bd8fd0b7531ec65d041ff1efe1d6b2c628dd284d
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Fri Apr 1 17:47:41 2011 +1100

    Add cherry-pick for PGRAPH_TRAP_CCACHE_FAULT fix in nv50_exa

diff --git a/debian/changelog b/debian/changelog
index e9afbd1..e696d92 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) UNRELEASED; urgency=low
+
+  * debian/patches/04_emit_surface_state_after_flush.diff:
+    + Cherry-pick from upstream.  Re-emit surface state after flush, or
+      PGRAPH_TRAP_CCACHE_FAULTs will ruin your day and cause [mi] EQ overflow
+      to eat your X.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 01 Apr 2011 17:45:47 +1100
+
 xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu6) natty; urgency=low
 
   * Rebuild to pick up new Xserver dependencies
diff --git a/debian/patches/04_emit_surface_state_after_flush.diff b/debian/patches/04_emit_surface_state_after_flush.diff
new file mode 100644
index 0000000..cd0105a
--- /dev/null
+++ b/debian/patches/04_emit_surface_state_after_flush.diff
@@ -0,0 +1,21 @@
+commit 8378443bd3b26b57ef2ae424a700e01ead813d33
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Thu Mar 24 02:13:12 2011 +1000
+
+    nv50-nvc0/exa: fix bug causing surface state to not be reemitted after flush
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+Index: xserver-xorg-video-nouveau/src/nv50_exa.c
+===================================================================
+--- xserver-xorg-video-nouveau.orig/src/nv50_exa.c	2011-04-01 15:32:37.000000000 +1100
++++ xserver-xorg-video-nouveau/src/nv50_exa.c	2011-04-01 15:32:46.973917560 +1100
+@@ -362,7 +362,7 @@
+ 	if (MARK_RING(pNv->chan, 32, 2))
+ 		return;
+ 
+-	if (NV50EXAAcquireSurface2D(pNv->pdpix, 0))
++	if (!NV50EXAAcquireSurface2D(pNv->pdpix, 0))
+ 		MARK_UNDO(pNv->chan);
+ }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 9fa7f76..ec0fc1d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01-set-NV_DRIVER_DATE-from-ChangeLog.diff
 02_nouveau_bgnr
 03_use_older_libdrm_headers.diff -R
+04_emit_surface_state_after_flush.diff


Reply to: