Go to file
Rob Clark 068ea68b3f freedreno: add bo cache
Workloads which create many transient buffers cause significant CPU
overhead in buffer allocation, zeroing, cache maint, and mmap setup.
By caching and re-using existing buffers, the CPU overhead drops
significantly.  See:

http://bloggingthemonkey.blogspot.com/2013/09/freedreno-update-moar-fps.html

A simple time based policy is used for purging the cache.  Once the
kernel supports it, we could use madvise style API to handle memory
pressure scenarios a bit better.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-12-13 15:48:10 -05:00
exynos makefiles: Add missing headers. 2013-03-27 14:06:56 +01:00
freedreno freedreno: add bo cache 2013-12-13 15:48:10 -05:00
include Bump the version to 2.4.50 2013-12-03 19:50:22 +01:00
intel intel/test_decode: Allow gen8 to be infered from the batch filenames 2013-12-13 18:18:53 +00:00
libkms kms: Return a negative error code in kms_bo_create() 2013-04-18 10:07:01 -04:00
m4 build: Update autotools configuration 2011-03-21 13:43:43 +00:00
man man: Fix typo and use $() for make expressions 2013-01-25 13:46:57 -08:00
nouveau nouveau: prevent undefined behavior in nouveau_pushbuf_reloc with gcc-4.8 2013-11-07 13:37:49 +01:00
omap omap: release lock also on error paths 2012-10-09 09:41:27 -05:00
radeon radeon: Update unaligned offset for 2D->1D tiling transition on SI 2013-11-26 18:16:03 +09:00
tests modetest: allow setting a scaling factor when showing plane 2013-09-11 11:25:32 -04:00
.gitignore gitignore: Ignore various generated files 2013-12-13 18:17:25 +00:00
Makefile.am freedreno: add freedreno DRM 2013-02-14 12:13:15 -05:00
README Update README 2009-11-20 17:08:28 -05:00
RELEASING Add RELEASING to document the release process 2009-12-03 17:50:37 -05:00
autogen.sh autogen.sh: Restore passing --enable-maintainer-mode to configure. 2012-06-08 15:23:46 +02:00
configure.ac Bump the version to 2.4.50 2013-12-03 19:50:22 +01:00
libdrm.pc.in Revert "Fix pkgconfig includes for /usr/include/drm" 2010-04-09 16:33:38 -04:00
libdrm_lists.h lists: add nicer+unsafe foreach, and list join macros 2012-04-14 02:47:04 +10:00
xf86atomic.h Correct the Solaris definitions of atomic_add & atomic_dec 2010-04-16 17:37:58 -07:00
xf86drm.c drm: Introduce a drmSetClientCap() wrapper 2013-09-30 13:35:49 +01:00
xf86drm.h drm: Introduce a drmSetClientCap() wrapper 2013-09-30 13:35:49 +01:00
xf86drmHash.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmMode.c drm: add hotspot cursor interface support. 2013-07-02 09:21:39 +01:00
xf86drmMode.h libdrm/mode: Update the encoder and connector defines 2013-11-19 18:15:30 +01:00
xf86drmRandom.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmSL.c Tidy up compile warnings by cleaning up types. 2010-02-04 19:45:10 -05:00

README

libdrm - userspace library for drm

This  is libdrm,  a userspace  library for  accessing the  DRM, direct
rendering  manager, on  Linux,  BSD and  other  operating systes  that
support the  ioctl interface.  The library  provides wrapper functions
for the  ioctls to avoid  exposing the kernel interface  directly, and
for chipsets with drm memory manager, support for tracking relocations
and  buffers.   libdrm  is  a  low-level library,  typically  used  by
graphics drivers  such as the Mesa  DRI drivers, the  X drivers, libva
and  similar projects.  New  functionality in  the kernel  DRM drivers
typically requires  a new  libdrm, but a  new libdrm will  always work
with an older kernel.


Compiling
---------

libdrm  is  a  standard  autotools  packages and  follows  the  normal
configure, build  and install steps.   The first step is  to configure
the package, which is done by running the configure shell script:

	./configure

By default, libdrm  will install into the /usr/local/  prefix.  If you
want  to  install   this  DRM  to  replace  your   system  copy,  pass
--prefix=/usr and  --exec-prefix=/ to configure.  If  you are building
libdrm  from a  git checkout,  you first  need to  run  the autogen.sh
script.  You can  pass any options to autogen.sh  that you would other
wise  pass to configure,  or you  can just  re-run configure  with the
options you need once autogen.sh finishes.

Next step is to build libdrm:

	make

and once make finishes successfully, install the package using

	make install

If you are install into a system location, you will need to be root to
perform the install step.