From 4b7142baa0b3bf6f38843d06aadc579d8624cefc Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 19 Jun 2010 12:30:23 +0100 Subject: uxa: Enable SHM pixmaps Now with streaming uploads and downloads for composite operations in place, shared memory pixmaps are no longer that dire performance wise. With careful use these can in fact be the most efficient means of transfer between a wholly software renderer in the client and a backing store. For instance, Chromium renders internally to an ARGB32 image buffer and uses a shared pixmap to composite dirty regions into the backing store. Thereby using the GPU to either perform the blit or the format conversion. Enabling shared pixmaps, reduces our CPU overhead whilst scrolling by a factor of 5 or so. And this is achieved simply by deleting obsolete code! Signed-off-by: Chris Wilson --- uxa/uxa-priv.h | 31 ------------------------------- 1 file changed, 31 deletions(-) (limited to 'uxa/uxa-priv.h') diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h index 626823f87..b107928e9 100644 --- a/uxa/uxa-priv.h +++ b/uxa/uxa-priv.h @@ -41,14 +41,6 @@ #include #define NEED_EVENTS #include -#ifdef MITSHM -#ifdef HAVE_XEXTPROTO_71 -#include -#else -#define _XSHM_SERVER_ -#include -#endif -#endif #include "scrnintstr.h" #include "pixmapstr.h" #include "windowstr.h" @@ -294,11 +286,6 @@ Bool uxa_fill_region_tiled(DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile, DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu); -void -uxa_shm_put_image(DrawablePtr pDrawable, GCPtr pGC, int depth, - unsigned int format, int w, int h, int sx, int sy, int sw, - int sh, int dx, int dy, char *data); - void uxa_paint_window(WindowPtr pWin, RegionPtr pRegion, int what); void @@ -307,24 +294,6 @@ uxa_get_image(DrawablePtr pDrawable, int x, int y, int w, int h, extern const GCOps uxa_ops; -#ifdef MITSHM -/* XXX these come from shmint.h, which isn't exported by the server */ - -#ifdef HAVE_XEXTPROTO_71 -#include "shmint.h" -#else - -void ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs); - -void ShmSetPixmapFormat(ScreenPtr pScreen, int format); - -void fbShmPutImage(XSHM_PUT_IMAGE_ARGS); -#endif - -extern ShmFuncs uxa_shm_funcs; - -#endif - #ifdef RENDER /* XXX these are in fbpict.h, which is not installed */ -- cgit v1.2.3