summaryrefslogtreecommitdiff
path: root/fb/wfbrename.h
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2012-10-15 15:51:07 -0400
committerAdam Jackson <ajax@redhat.com>2012-10-15 19:18:22 -0400
commitfbb003e133d0180fba8d7703afac0a3d0747e167 (patch)
treed46cc3d661056cc2259689cf2786313099ceda5a /fb/wfbrename.h
parenta69429a17bf4630f6e26f61630a1c2b287202627 (diff)
wip dix: Introduce DrawableOps for Get{Image,Spans}drawable-ops
TODO: vgaarb, xwin, rootless Background: shatter. You want to be able to back an (XID-named) Drawable with N other drawables. The core GC is set up well for this, because a shatter layer can simply iterate over a list of backing drawables, and it's easy to get scratch GCs so wrapping still works (ie, shard rendering might actually be accelerated). However, the pixel Get ops don't have this property, you can't restart your descent down the GetImage wrap chain because you can't create a "scratch screen" the way you can create a scratch GC. Since there's no GC for GetImage or GetSpans we can simply hang their ops directly on the Drawable. Wrapping works like GC ops (the whole vector at once) not like screen ops (each vector individually); this is a slight semantic change, but not effectively a functional change. The bottom layers - fb, xnest, xwin, dmx - _are_ the implementation so they don't need to wrap/unwrap. Everybody else grows pixmap/window privates as needed; we could move those devPrivates directly into DrawableRec as a further cleanup. Composite and shadow don't bother to wrap ops for pixmaps, since their hooks have no effect for pixmaps even before this change, and are simplified to match. Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'fb/wfbrename.h')
-rw-r--r--fb/wfbrename.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fb/wfbrename.h b/fb/wfbrename.h
index 588440c2b..289ef6072 100644
--- a/fb/wfbrename.h
+++ b/fb/wfbrename.h
@@ -60,6 +60,7 @@
#define fbDots24 wfbDots24
#define fbDots32 wfbDots32
#define fbDots8 wfbDots8
+#define fbDrawableOps wfbDrawableOps
#define fbEvenStipple wfbEvenStipple
#define fbEvenTile wfbEvenTile
#define fbExpandDirectColors wfbExpandDirectColors