xf86-video-intel: 2 commits - src/i830_exa.c src/xvmc/intel_xvmc.h

Eric Anholt anholt at kemper.freedesktop.org
Tue Jun 9 10:31:25 PDT 2009


Rebased ref, commits from common ancestor:
commit ee539e58c3bf39766c560d625f6e4158d419e64e
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Mon Jun 8 21:14:14 2009 -0400

    Fall back to fb pixmaps for backing glyph pictures
    
    GEM pads pixmaps to 512 byte stride and backs them with a kernel side
    buffer objects.  We typically don't render out of glyph pictures, so
    we're incurring a lot of overhead per glyph by allocating a GEM pixmap
    per glyph.  By looking at the usage hint, we can fall back to
    fbCreatePixmap for pixmaps backing glyph pictures, which gives us
    a nice tight malloced pixmap.  The fast path for text rendering is
    compositing from the glyph cache pixmap to the destination, which
    shouldn't be significantly affected.
    
    Quick bit of testing:
    (firefox-20090601)
        xlib-rgba-before    384512.49:  1.01x
        xlib-rgba-after     389633.94:  1.00x
    The difference being within the margin of error for the benchmark.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Tested-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/i830_exa.c b/src/i830_exa.c
index d0ada02..eb35014 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -598,6 +598,9 @@ i830_uxa_create_pixmap (ScreenPtr screen, int w, int h, int depth, unsigned usag
     if (w > 32767 || h > 32767)
 	return NullPixmap;
 
+    if (usage == CREATE_PIXMAP_USAGE_GLYPH_PICTURE)
+	return fbCreatePixmap (screen, w, h, depth, usage);
+
     pixmap = fbCreatePixmap (screen, 0, 0, depth, usage);
 
     if (w && h)
commit 4698b3bd79452ae2066a3d195cf58dd5e30c93f3
Author: Xiang, Haihao <haihao.xiang at intel.com>
Date:   Fri Jun 5 10:43:50 2009 +0800

    xvmc: don't include xf86dri.h

diff --git a/src/xvmc/intel_xvmc.h b/src/xvmc/intel_xvmc.h
index 862b30e..169e7f8 100644
--- a/src/xvmc/intel_xvmc.h
+++ b/src/xvmc/intel_xvmc.h
@@ -54,7 +54,6 @@
 #include <X11/extensions/vldXvMC.h>
 #include <drm_sarea.h>
 #include "i915_drm.h"
-#include "xf86dri.h"
 #include "intel_bufmgr.h"
 
 #include "intel_batchbuffer.h"


More information about the xorg-commit mailing list