xserver-multidpi/include
Keith Packard 9d457f9c55 Add screen-specific privates.
Screen-specific privates areas are only allocated for objects related
to the target screen; objects allocated for other screens will not
have the private space reserved. This saves memory in these objects
while also allowing hot-plug screens to have additional private
allocation space beyond what the core screens are using.

Drivers are encouraged to switch to this mechanism as it will reduce
memory usage in multi-GPU environments, but it is only required for
drivers which will be loaded after the server starts, like
modesetting.

Objects providing screen-specific privates *must* be managed by the
screen-specific private API when allocating or initializing privates
so that the per-screen area can be initialized properly.

The objects which support screen-specific privates are:

	Windows
	Pixmaps
	GCs
	Pictures

Extending this list to include Colormaps would be possible, but
require slightly more work as the default colormap is created before
all colormap privates are allocated during server startup, and hence
gets a bunch of special treatment.

Of particular note, glyphs are *not* capable of supporting
screen-specific privates as they are global objects, not allocated on
a screen-specific basis, and so each driver must be able to see their
privates within the glyph.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
2012-07-05 13:39:50 -07:00
..
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
callback.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
client.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
closestr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
closure.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
colormap.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
colormapst.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
cursor.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
cursorstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dix-config-apple-verbatim.h Move the apple fat binary hacks back to a header file, and make it apple-only. 2009-01-30 16:36:45 -08:00
dix-config.h.in os: Add CryptoAPI as a choice of SHA1 implementation 2012-05-04 13:13:50 -05:00
dix.h dix: move freeing the sprite into a function 2012-06-07 14:13:44 +10:00
dixaccess.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixevents.h dix: Remove redundant declarations. 2012-05-14 13:31:00 +01:00
dixfont.h Add dixGetGlyphs to replace GetGlyphs from libXfont to simplify linking 2012-07-02 10:09:08 -07:00
dixfontstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixgrabs.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixstruct.h Change lastDeviceIdleTime to be per-device 2012-03-22 13:12:56 +10:00
eventconvert.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
events.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
eventstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
exevents.h dix: Move DeviceFocusEvent from Xi into enterleave.c 2012-05-17 08:50:44 +10:00
extension.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
extinit.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
extnsionst.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
gc.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
gcstruct.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
globals.h Add global variable inSignalContext 2012-06-21 15:45:22 +10:00
hotplug.h config/udev: add pre_init stage to config and udev. 2012-05-21 12:58:32 +01:00
input.h dix: disable all devices before shutdown 2012-06-07 14:13:51 +10:00
inputstr.h Xext: Add per-device SyncCounters 2012-03-22 13:12:56 +10:00
inpututils.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
kdrive-config.h.in kdrive: Add option to compile out input drivers 2010-01-06 19:47:53 +06:00
list.h list.h: don't crash when removing an element from a NULL list 2012-07-05 10:09:18 -07:00
Makefile.am Add 'optionstr.h' to include/Makefile.am 2011-11-20 14:50:57 -08:00
misc.h Make BUG_WARN* signal safe 2012-07-02 22:34:32 -07:00
miscstruct.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
opaque.h os: Add -displayfd option 2012-05-01 11:36:30 +10:00
optionstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
os.h Merge branch 'sigio-vt-switch-issues' into for-keith 2012-07-04 21:23:48 +10:00
pixmap.h api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
pixmapstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
privates.h Add screen-specific privates. 2012-07-05 13:39:50 -07:00
property.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
propertyst.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
protocol-versions.h Implemented first part of XResource extension v1.2: X_XResQueryClientIds 2012-04-18 10:21:49 +03:00
ptrveloc.h dix: indentation fixes for pointer acceleration 2012-05-16 10:59:35 +10:00
region.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
regionstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
registry.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
resource.h xserver: Remove duplicate declaration in resource.h 2012-05-14 13:17:08 +01:00
rgb.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
screenint.h api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
scrnintstr.h Add screen-specific privates. 2012-07-05 13:39:50 -07:00
selection.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
servermd.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
site.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
swaprep.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
swapreq.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
validate.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
version-config.h.in Move VENDOR_* defines from AC_SUBST to a header to avoid angering shave. 2009-04-14 10:35:44 -04:00
window.h dix/render: consolidate window format matching code. 2012-06-28 10:43:35 -07:00
windowstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
XIstubs.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkb-config.h.in Move to autoconf standard function name checks & defines 2011-12-05 14:32:45 -08:00
xkbfile.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbrules.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbsrv.h include: document _XkbErrCode2 macros 2012-06-22 10:51:00 +10:00
xkbstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorg-config.h.in xserver: check for elevated privileges not uid=0 2011-12-16 15:38:13 -08:00
xorg-server.h.in Fix gcc warnings about redundant declarations of fallback functions 2011-12-05 14:32:59 -08:00
Xprintf.h os/xprintf: add Xvscnprintf and Xscnprintf 2012-05-03 14:59:23 +10:00
xserver-properties.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xsha1.h Move SHA1 computation from render/glyph.c to os/ 2009-10-15 01:17:44 +02:00
xwin-config.h.in Remove unused function checks from configure.ac & include/*.h.in 2011-12-03 10:19:12 -08:00