xf86-video-intel: 2 commits - src/i830_uxa.c

Chris Wilson ickle at kemper.freedesktop.org
Mon Nov 30 08:57:18 PST 2009


 src/i830_uxa.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 6729b508c44bfca0b0dbef238a8732adbed6d4c9
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Nov 30 16:52:10 2009 +0000

    uxa: Initialise lists for private pixmap structure.
    
    When updating a buffer object for the framebuffer, we may need to
    allocate a fresh pixmap private structure, for example if the pixmap is
    replaced due to resize. When doing so it is then imperative to
    initialise the circularly linked lists correctly.
    
    Should fix the fault:
      #0  i830_set_pixmap_bo (pixmap=0x24ab380, bo=0x24ab780) at i830_uxa.c:524
      #1  0x00007f8615c629fd in drmmode_xf86crtc_resize (scrn=0x247a320, width=1280, height=800) at drmmode_display.c:1345
      #2  0x000000000051246c in xf86RandR12ScreenSetSize (pScreen=0x24824f0, width=<value optimized out>, height=<value optimized
     out>, mmWidth=<value optimized out>, mmHeight=<value optimized out>) at xf86RandR12.c:709
      #3  0x0000000000512aa8 in xf86RandR12CreateScreenResources (pScreen=<value optimized out>) at xf86RandR12.c:839
      #4  0x0000000000514ec0 in xf86CrtcCreateScreenResources (screen=0x24824f0) at xf86Crtc.c:727
      #5  0x0000000000424fb3 in main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at main.c:215
    as reported by 'buscher'.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/i830_uxa.c b/src/i830_uxa.c
index d53af04..89da5d0 100644
--- a/src/i830_uxa.c
+++ b/src/i830_uxa.c
@@ -530,6 +530,9 @@ void i830_set_pixmap_bo(PixmapPtr pixmap, dri_bo * bo)
 			priv = xcalloc(1, sizeof (struct intel_pixmap));
 			if (priv == NULL)
 				goto BAIL;
+
+			list_init(&priv->batch);
+			list_init(&priv->flush);
 		}
 
 		dri_bo_reference(bo);
commit 85fe41126e83b35954dc2066eb103e0555e207a4
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Nov 30 15:57:42 2009 +0000

    uxa: Remove cache flush for copy
    
    As the copy uses the 2D blitter, it uses the render cache so the source
    should not require flushing if it has previously been used as a
    destination.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/i830_uxa.c b/src/i830_uxa.c
index 5f3d505..d53af04 100644
--- a/src/i830_uxa.c
+++ b/src/i830_uxa.c
@@ -310,9 +310,6 @@ i830_uxa_prepare_copy(PixmapPtr source, PixmapPtr dest, int xdir,
 	if (!intel_check_pitch_2d(dest))
 		return FALSE;
 
-	if(i830_uxa_pixmap_is_dirty(source))
-		intel_batch_pipelined_flush(scrn);
-
 	intel->render_source = source;
 
 	intel->BR[13] = I830CopyROP[alu] << 16;


More information about the xorg-commit mailing list