Dave Airlie <[email protected]> writes: > So I'm not sure what you mean by per-screen private data, drivers have > requirements for per-pixmap private data as well, currently by modesetting > driver stashes the slave framebuffer id from the kernel into a pixmap > private.
By per-screen private data, I mean private data in objects which are permanently associated with only one screen -- windows, pixmaps, gcs, pictures, etc. Those objects will only ever be used by one driver, and so private space for all other drivers need not be allocated in them; DIX should be overlaying those allocations so that each object contains only storage for the driver which will use it. Expanding the current private API to support this, with the private structures themselves stored in a screen-private record so that it too is per-screen, would save memory in multi-GPU systems, as well as making it possible to reserve private space for new screens after the server has started. > Hence why I have to adjust the total pixmap size, though as ajax pointed > out its a bit monotonically increasing for sanity, I'll have to track > down it and see. Given that the relevant drivers aren't ever being unloaded, I'm curious as to why we see this increasing? Surely once the privates are allocated once, they'll simply get re-used each time? -- [email protected]
pgp9zTVTMDLCq.pgp
Description: PGP signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
