[PATCH 0/4] Improve reporting of resource sizes.

Rami Ylimäki rami.ylimaki at vincit.fi
Thu Oct 28 03:23:40 PDT 2010


The motivations of this patchset is to make xrestop and X resource
extension report resource sizes more accurately.

Currently xrestop is not taking pixmap references from extensions into
account. X server pixmap size reporting functions are improved to
include pixmaps referenced from render pictures and composite windows.

The server resource size functions are also abstracted so that size
calculation functions can be wrapped or overridden by drivers. For
example, it's useful to also report pixmaps referenced by DRI2
buffers, but this can be only done from drivers. These patches make it
possible to report extra pixmap references from drivers as well as
improve the default pixmap size calculation functions.

The xrestop application is currently estimating sizes of
non-predefined resources by constants because X resource extension
doesn't provide a way to query the sizes from X server. We'd like to
improve X resource extension in the near future so that the size of
any resource could be queried. We aren't planning to implement size
calculation for every resource. However, it'd be much better if
xrestop could first query the size of a resource from X server and
then fall back to estimating the size with a constant if X server
doesn't support size calculation of that particular resource. Then the
size calculation of most important resources, such as DRI2 drawables,
could be implemented in X server and X restop would be able to report
the size automatically.

Rami Ylimäki (4):
  dix: Provide means to report exact sizes of resources.
  dix: Add reverse resource name lookup function to registry.
  render: Report pixmap usage of pictures to resource extension.
  composite: Report pixmap usage of client windows to resource
    extension.

 Xext/xres.c         |   67 +++++++++--------
 composite/compext.c |   24 ++++++
 dix/registry.c      |   10 +++
 dix/resource.c      |  199 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 include/registry.h  |    6 ++
 include/resource.h  |   23 ++++++
 render/picture.c    |   22 ++++++
 7 files changed, 318 insertions(+), 33 deletions(-)



More information about the xorg-devel mailing list