Commit Graph

262 Commits (9a1470fb410bbc84045929b1490366504c33bb59)

Author SHA1 Message Date
Rob Clark a5003c6f85 configure/freedreno: enable freedreno by default
Now that enabling freedreno doesn't automatically enable kgsl, lets
enable it by default.  The drm/msm driver has been upstream for a
while now, and it's ABI is locked.  So I don't think we need to keep
calling it experimental.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
2015-01-18 13:18:33 -05:00
Rob Clark 28662b77ee configure/freedreno: make KGSL support optional
libdrm_freedreno currently supports two backends, 'msm' for the upstream
drm/msm driver, and 'kgsl' which supports (to some extent), the android/
downstream kgsl driver plus a sort of drm shim nonsense to get flink
names.

However, kgsl support is strictly on a best-effort basis.  Different
android devices with different versions of kgsl may have different
abi's.  And the existing kgsl interface (at least the parts of it that
we use) is completely broken for 64bit.  Lets disable it by default lest
anyone actually try to use it.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
2015-01-18 13:18:33 -05:00
Thierry Reding 93035cfbeb tegra: Add simple test for drm_tegra_open()
This test opens a device, dumps the version information and checks that
a Tegra DRM context can be opened on it.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-11-27 17:20:27 +01:00
Thierry Reding d6a4c2cbd1 libdrm: Add NVIDIA Tegra support
Add the libdrm_tegra helper library to encapsulate Tegra-specific
interfaces to the DRM.

Furthermore, Tegra is added to the list of supported chips in the
modetest and vbltest programs.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-11-27 17:05:35 +01:00
Paulo Zanoni 8f66c98818 tests: add proptest
A small program that allows us to see and modify properties.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2014-11-24 19:51:59 -05:00
Rob Clark 7068d987f4 configure.ac: bump version to 2.4.58 for release
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2014-09-28 14:53:34 -04:00
Rob Clark a6cddb3410 configure.ac: bump version to 2.4.57 for release
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2014-09-28 12:25:21 -04:00
Emil Velikov f3fd11beaa libkms: build the intel backend only when needed
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-28 17:09:34 +01:00
Emil Velikov be7d297172 configure: unconditionally check for atomic ops/primitives
Just have the check once, and let new drivers opt-in if they want
to use them. Move the block further up the script, to tie nicely
with the actual usage of $HW defines.

Move the final $HW users to be alongside their brethren.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-28 17:09:34 +01:00
Emil Velikov 98ec08d836 automake: remove obsolete makefiles
Rather than having two extra makefiles in order to ship ~10 headers
just fold its 5 lines of code into the top one makefile.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-28 17:09:33 +01:00
Thierry Reding 5d8357976a configure: Support symbol visibility when available
Checks whether or not the compiler supports the -fvisibility option. If
so it sets the VISIBILITY_CFLAGS variable which can be added to the per
directory AM_CFLAGS where appropriate.

By default all symbols will be hidden via the VISIBILITY_CFLAGS. The
drm_public macro can be used to mark symbols that should be exported.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-07-30 16:58:14 +02:00
Marek Olšák d6861609b2 configure.ac: bump version to 2.4.56 for release 2014-07-29 18:54:33 +02:00
Maarten Lankhorst 6f15ca8081 bump to version 2.4.55 for release 2014-07-25 15:08:23 +02:00
Alex Deucher 5126fcb2b4 bump version to 2.4.54 for release
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2014-05-02 16:59:30 -04:00
Marek Olšák 504d606275 Bump version to 2.4.53 for release 2014-04-10 21:12:54 +02:00
François Tigeot 1d86869da6 Enable libkms by default on DragonFly
Signed-off-by: François Tigeot <ftigeot@wolfpond.org>
2014-03-02 22:15:12 -05:00
Robert Millan cbb31f2d6e drm: Implement drmCheckModesettingSupported() for FreeBSD
Add the missing implementation of drmCheckModesettingSupported()
to detect KMS support on FreeBSD (and GNU/kFreeBSD).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72847
Signed-off-by: Konstantin Belousov <kib@freebsd.org>
Signed-off-by: Robert Millan <rmh@freebsd.org>
2014-01-24 17:52:14 -05:00
Kenneth Graunke 46d451c9a9 Bump the version to 2.4.52
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2014-01-20 10:58:15 -08:00
Rob Clark dc864c8dea Bump the version to 2.4.51
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2014-01-08 15:36:29 -05:00
Marek Olšák 4c5de721c4 Bump the version to 2.4.50 2013-12-03 19:50:22 +01:00
Marek Olšák 7ddc98f92f Bump the version for release 2013-11-23 01:27:57 +01:00
Ian Romanick 71beb7b079 libdrm: bump to 2.4.48 2013-11-15 18:01:08 -08:00
Ben Widawsky 951ebe0081 libdrm: bump to 2.4.47 2013-10-11 09:47:45 -07:00
Emil Velikov bf4a7cd4b2 configure: add AC_LANG_SOURCE call within AC_COMPILE_IFELSE
Documentation states that AC_*_IFELSE has to use AC_LANG_SOURCE or
friends in order to generate the source code to compile.
AC_LINK_IFELSE already handles this, thus convert AC_COMPILE_IFELSE
to silence the final autoconf warnings.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
2013-09-24 08:52:47 -07:00
Dave Airlie c6d73cfeea libdrm: bump to 2.4.46 2013-07-02 09:24:53 +01:00
Marek Olšák 63aeae1238 configure.ac: bump version to 2.4.45 for release 2013-05-15 19:32:05 +02:00
Jerome Glisse 9768af201e libdrm 2.4.44 2013-04-18 15:01:19 -04:00
Maarten Lankhorst c005f043dc configure.ac: bump version to 2.4.43 for release
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
2013-03-27 10:42:20 +01:00
Benjamin Gaignard 62d8866021 tests: allow tests programs to be installed
Install test programs is useful in cross compilation case.  By default
the behavior is the same and test programs aren't installed in $bindir.
If --enable-install-test-programs is set then test programs are
installed in $bindir.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-03-25 10:34:16 -04:00
Inki Dae bbf6e3dea3 libdrm/exynos: add test application for 2d gpu.
This patch adds library and test application for g2d gpu(fimg2d).

The fimg2d hardware is a 2D graphics accelerator(G2D) that
supports Bit Block Transfer(BitBLT).

The library includes the following primitive drawing operations:
.solid fill - This operation fills the given buffer with
	the given color data.
.copy - This operation copies contents in source buffer to
	destination buffer.
.copy_with_scale - This operation copies contents in source buffer
	to destination buffer scaling up or down properly.
.blend - This operation blends contents in source buffer with
	the ones in destination buffer.

And the above operations uses gem handle or user space address
allocated by malloc() as source or destination buffer.

And the test application includes just simple primitive drawing
tests with the above library.
And the guide to test is as the following,
	"#exynos_fimg2d_test -s connector_id@crtc_id:mode"

With this above simple command, four primitive drawing operations
would be called step by step and also rendered on the output device
to the given connector and crtc id.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-03-08 11:49:42 -05:00
Rob Clark 41fc2cc8a9 freedreno: add freedreno DRM
The libdrm_freedreno helper layer for use by xf86-video-freedreno,
fdre (freedreno r/e library and tests for driving gpu), and eventual
gallium driver for the Adreno GPU.  This uses the msm gpu driver
from QCOM's android kernel tree.

Note that current msm kernel driver is a bit strange.  It provides a
DRM interface for GEM, which is basically sufficient to have DRI2
working.  But it does not provide KMS.  And interface to 2d and 3d
cores is via different other devices (/dev/kgsl-*).  This is not
quite how I'd write a DRM driver, but at this stage it is useful for
xf86-video-freedreno and fdre (and eventual gallium driver) to be
able to work on existing kernel driver from QCOM, to allow to
capture cmdstream dumps from the binary blob drivers without having
to reboot.  So libdrm_freedreno attempts to hide most of the crazy.
The intention is that when there is a proper kernel driver, it will
be mostly just changes in libdrm_freedreno to adapt the gallium
driver and xf86-video-freedreno (ignoring the fbdev->KMS changes).

So don't look at freedreno as an example of how to write a libdrm
module or a DRM driver.. it is just an attempt to paper over a non-
standard kernel driver architecture.

v1: original
v2: hold ref's to pending bo's (because qcom's kernel driver doesn't),
    various bug fixes, add ringbuffer markers so we can emit IB's to
    portion of ringbuffer (so that gallium driver can use a single
    ringbuffer for both tile cmds and draw cmds.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-02-14 12:13:15 -05:00
Maarten Lankhorst 183b5f20b5 configure.ac: bump version to 2.4.42 for release
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
2013-02-05 14:14:01 +01:00
David Herrmann 08cb5c1d02 man: fix manpage build instructions
This fixes all the out-of-tree build-failures with manpages and uses a
.man_fixup file to avoid overriding man-pages on every build.

Manpages are only built if xsltproc is found and the stylesheets are
available locally. You can disable building manpages with
--disable-manpages so the quite expensive xsltproc procedure can be
skipped.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-01-16 10:59:14 -08:00
Maarten Lankhorst 007bff7a03 configure.ac: bump version to 2.4.41 for release 2013-01-16 13:06:52 +01:00
David Herrmann 6b7e45c751 man: convert manpages to XML instead of plain troff
If we want to use the manpages in external documentation other than normal
manpages, we should rather use XML. Furthermore, almost no-one knows troff
today, anyway, and XML allows others to easily add more pages without
having to learn troff.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-01-09 16:17:03 -08:00
Marek Olšák e01d68f9f3 configure.ac: bump version to 2.4.40 for release 2012-11-06 01:23:53 +01:00
Daniel Stone 14db948127 configure.ac: Allow forcible disabling of Cairo support
We don't want to build libdrm tests with Cairo support under Poky, since
they're never used and also cause a build loop from libdrm -> cairo ->
mesa-dri -> libdrm.

To avoid variance in build results, introduce a --disable-cairo-tests
switch.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-10-08 15:49:23 +10:00
Jesse Barnes 2426a6a711 libdrm: man page infrastructure and a few sample man pages 2012-09-17 08:07:04 -07:00
Jakob Bornecrantz 7080bfdfd9 vmwgfx: No longer experimental
And hasn't been in a long while.

Reviewed-by: Zack Rusin <zackr@vmware.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2012-08-24 17:17:43 +02:00
Marek Olšák ae3ac8225f configure: bump version for 2.4.39 release 2012-08-24 17:04:17 +02:00
Marek Olšák d1de6831b9 configure: bump version for 2.4.38 release 2012-08-11 20:06:23 +02:00
Eric Anholt 71ebcf4ea3 Drop "-Wunsafe-loop-optimizations".
It warns about totally sensible things done in intel_decode.c.  I've
never seen this warn do anything useful, and apparently I was the one
to introduce it when I added the giant pile of warning flags back in
2008.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
2012-08-10 09:48:02 -07:00
Rob Clark 22574aa887 omap: add refcnting and handle tracking
There can be scenarios, especially when re-importing an existing buffer,
where you end up with multiple 'struct omap_bo's wrapping a single GEM
object handle.  Which causes badness when the first of the evil-clones
is omap_bo_del()'d.

To do this, introduce reference counting and a hashtable to track the
handles per fd.

First, to avoid bo's slipping through the crack if multiple 'struct
omap_device's are created for one drm fd, a hashtable mapping drm
fd to omap_device, and the omap_device itself is reference counted.
Per omap_device, we keep a handle_table mapping GEM handle to omap_bo.
When buffers are imported from flink name or dmabuf fd, the handle
table is consulted, and if an omap_bo already exists, it's refcnt is
incremented and it is returned.  For good measure, to avoid the
handle_table being deleted before the omap_bo is freed, the omap_bo
holds a reference to the omap_device.

TODO: check the overhead of the hashtable.  If too much we could maybe
get away with only tracking exported and imported bo's in the table.

TODO: all the import/export flink/dmabuf operations are generic DRM
ioctls.  Really all this functionality could be handled by a generic
drm_bo and drm_device "base class" that could be extended by omap,
exynos, etc.  That would also allow more common userspace code by
avoiding artificial libdrm_omap dependencies.

Signed-off-by: Rob Clark <rob@ti.com>
2012-07-13 16:18:25 -05:00
Ben Widawsky 1b1a4f0a77 configure: bump version for release
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-29 11:08:05 -07:00
Ben Widawsky a7805194b7 intel/decode: fix the reference file for
I mistakenly "fixed" a bad decode with

commit 7d0a1d5ebb
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Sun Jun 24 20:35:57 2012 -0700

    intel/decode: VERTEX_ELEMENT_STATE, 1 means valid

However the actual fix is just to update the reference file, and
include GEN7 in the decode.

Props to Eric Anholt for putting the test in distcheck, or else I
wouldn't have caught this.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-27 10:22:37 -07:00
Alex Deucher 93a5117d5b configure: bump version for release
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2012-06-07 10:46:19 -04:00
Inki Dae e07b650662 libdrm: add exynos drm support
this patch adds libdrm_exynos helper layer that inclues some intefaces
for exynos specific gem and virtual display driver and also adds exynos
module name to modtest and vbltest.

Changelog v2:
- fixed exynos broken ioctl.
  the pointer of uint64_t *edid should be removed.
- removed unnecessary definitions.
- added drm prime interfaces.
  this feature is used to share a buffer between drivers or memory managers
  and for this, please, refer to below links:
	http://www.mjmwired.net/kernel/Documentation/dma-buf-sharing.txt
	http://lwn.net/Articles/488664/

this patch is based on a link below:
	git://anongit.freedesktop.org/mesa/drm
	commit id: d72a44c7c4

Reviewed-by: Rob Clark <rob@ti.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Rob Clark <rob@ti.com>
2012-05-12 10:04:54 -05:00
Paul Berry 86451a12ca configure: Bump version for 2.4.34. 2012-05-10 11:32:39 -07:00
Ben Skeggs 292da616fe nouveau: pull in major libdrm rewrite
Redesigned primarily to allow us to better take advantage of BO's having
fixed GPU virtual addresses on GeForce 8 and up, and to reduce the overhead
of handling relocations on earlier chipsets.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
2012-04-14 02:47:23 +10:00
Alex Deucher a3c34f56b9 configure: Bump version for 2.4.33
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2012-03-28 17:17:36 -04:00
Rob Clark ef1b958cc8 omap: add omapdrm support
This adds libdrm_omap helper layer (as used by xf86-video-omap,
omapdrmtest, etc).

Signed-off-by: Rob Clark <rob@ti.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
[danvet: pushed for Rob, he doesn't yet have commit access.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-03-28 23:00:14 +02:00
Eric Anholt 51c3e7d733 configure: Bump version for 2.4.32. 2012-03-16 16:11:10 -07:00
Matt Turner be30d350b6 Don't require pciaccess if Intel is disabled
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2012-03-02 14:34:17 -05:00
Chris Wilson ced219ebbd configure: Fix pkg-config test in absence of valgrind
The empty string used for the not case is replaced by the default
if-else clause and so causes the configure to fail in the absence of
valgrind. Which is not quite what was intended.

Instead use the common idiom of setting a variable depending on whether
the true or false branch is taken and emit the conditional code as a
second step.

Reported-by: Tobias Jakobi <liquid.acid@gmx.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-13 00:24:14 +00:00
Chris Wilson 90b23cc24c intel: Mark up with valgrind intrinsics to reduce false positives
In particular, declare the hidden CPU mmaps to valgrind so that it knows
about those memory regions.

v2: Add an additional VG_CLEAR for the getparam

References: https://bugs.freedesktop.org/show_bug.cgi?id=35071
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Ben Widawsky <ben@bwidawsk.net>
[anholt: Ideally valgrind should just learn about the ioctls, and
         removing the clear for the non-valgrindified code feels risky.]
Reviewed-by: Eric Anholt <eric@anholt.net>
2012-02-11 11:45:39 +00:00
Jerome Glisse 230ec7d7bb configure: Bump version for 2.4.31 2012-02-06 15:22:58 -05:00
Paul Berry 82c6938d23 intel: Fix build of Intel DRM on x86 systems
Commit efd6e81e inadvertently broke the build by looking for "i?86" or
"x86_64" in $host_os.  The correct variable to check is $host_cpu.

This was preventing libdrm_intel.so from being built.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-01-31 14:46:16 -08:00
Jeremy Huddleston efd6e81e2b Don't build Intel DRM if $CHOST is not i?86-* or x86_64-*
This fixes a failure in 'make check' found by the tinderbox when trying to
build this code on Linux/ppc.  This code is only designed to run on
Intel platforms, so don't even bother building it if we're not in that set.

Found-by: Tinderbox
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-01-30 15:20:04 -08:00
Eric Anholt adf1428915 configure: Bump version for 2.4.30 2012-01-06 08:50:31 -08:00
Eric Anholt ccbc40340b intel: Add a regression test program for intel_decode.c.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-04 14:49:44 -08:00
Chris Wilson 7fd1678110 configure: Bump version for 2.4.29
Yet another release required for new API
2011-12-13 10:59:13 +00:00
Chris Wilson e73161a02b configure: Bump version to 2.4.28
So that we can pull a couple of Intel bug fixes into xf86-video-intel.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-05 10:30:52 +00:00
Jerome Glisse ca4971292c tests/radeon: radeon specific test
Initial test only include ttm test for stressing ttm memory
allocations.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2011-11-10 17:14:42 -05:00
Eric Anholt cc9b751e82 configure: version bump for 2.4.27 release.
Push the new Intel API for use by mesa.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-29 12:04:31 -07:00
Chris Wilson 6dd804c5a9 configure: version bump for 2.4.26 release
Push the new Intel API for use by mesa.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-04 13:01:50 +01:00
Chris Wilson 9d77603d8b intel: Add interface to query aperture sizes.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-04 13:01:11 +01:00
Chris Wilson ba11501bb9 configure: version bump for 2.4.25 release
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-11 08:25:42 +01:00
Javier Jardón fd3ed34a20 build: Update autotools configuration
Replace some deprecated autoconf macros and use the new libtool
syntax
2011-03-21 13:43:43 +00:00
Chris Wilson a926a043b8 configure: Bump version to 2.4.24
New kernel headers.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-01 18:24:14 +00:00
Benjamin Franzke c75fe3ae73 configure.ac: ac_define HAVE_RADEON 2011-02-17 10:46:35 +01:00
Chris Wilson 760c01a6af configure: Bump version to 2.4.23
To export new kernel API for Intel's 2010Q4 release.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-10 12:10:46 +00:00
Carl Worth 624e58e3e4 Increment version to 2.4.22
For the upcoming 2.4.22 release.
2010-09-28 20:40:37 -07:00
Eric Anholt 65ec8d7699 Bump version to 2.4.21 for release. 2010-06-10 09:03:51 -07:00
Eric Anholt 607e228c26 Enable silent automake rules. 2010-05-26 12:10:39 -07:00
Jesse Barnes c42d1a10e3 tests: add new vblank test
Simple test for event frequency.
2010-04-27 15:43:44 -04:00
Alan Coopersmith 3c7ae8abe1 Make libkms build default OS-dependent
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-04-16 17:37:58 -07:00
Jesse Barnes c7650003c5 libdrm: bump version number to 2.4.20 for release
A few good fixes landed, get them out there.
2010-04-02 13:46:41 -07:00
Pauli Nieminen df9737094e Check HAVE_RADEON only after checking for atomic operations.
Fixes problem that libdrm_radeon was disabled in Makefile even when configure
claimed that radeon was enabled.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2010-03-17 22:43:26 +02:00
Pauli Nieminen 30ce1fd152 libdrm: Fix error message if libdrm_intel|radeon is disabled and there is no atomic ops. 2010-03-17 14:34:57 +02:00
Pauli Nieminen 966c9907c0 libdrm_radeon: Optimize cs_gem_reloc to do less looping.
bo->referenced_in_cs is checked if bo is already in cs. Adding and removing
reference in bo is done with atomic operations to allow parallel access to a
bo from multiple contexts.

cs->id generation code quarentees there is not duplicated ids which limits
number of cs->ids to 32. If there is more cs objects rest will get id 0.

V2:
 - Fix configure to check for atomics operations if libdrm_radeon is only selected.
 - Make atomic operations private to libdrm.

This optimization decreases cs_write_reloc share of torcs profiling from 4.3%
to 2.6%.

Tested-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2010-03-17 12:42:21 +02:00
Pauli Nieminen 21105bc186 libdrm: Move intel_atomic.h to libdrm core for sharing.
intel_atomic.h includes very usefull atomic operations for
lock free parrallel access of variables. Moving these to
core libdrm for code sharing with radeon.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2010-03-17 11:48:00 +02:00
Eric Anholt b5495527f4 Increment version to 2.4.19 for release.
The primary motivation of this release is to expose the new execbuf2
Intel API.
2010-03-03 11:10:54 -08:00
Marcin Kościelnicki afd74ec555 Add config.h macro HAVE_NOUVEAU 2010-02-28 00:25:22 +00:00
Jakob Bornecrantz 97003c53f9 libkms: Enable by default 2010-02-18 13:29:30 +01:00
Carl Worth 2d9990c7e8 Increment version to 2.4.18 for release.
The primary motivation of the release is the bug fix in commit
4f0f871730
2010-02-16 12:12:41 -08:00
Dave Airlie 520c658706 radeon: enable by default now that kms is out of staging 2010-02-02 10:58:50 +10:00
Alan Coopersmith b1ce1e6bfb Add support for Solaris libc atomic operations
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2010-01-16 19:37:06 -08:00
Alan Coopersmith fe7b93fb49 Include alloca.h in tests/drmstat.c when configure detects it
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2010-01-16 19:37:05 -08:00
Jakob Bornecrantz d207a38701 tests: Add a very small libkms test 2010-01-08 15:34:44 +00:00
Jakob Bornecrantz 5dbc1b333b libkms: Make vmwgfx optional 2010-01-05 21:06:13 +01:00
Jakob Bornecrantz 2f7f7cecca Merge branch 'master' into libkms-master
Conflicts:
	configure.ac
2010-01-05 20:59:24 +01:00
Jakob Bornecrantz d6059c3dd1 libkms: Disable by default 2010-01-05 20:58:37 +01:00
Jakob Bornecrantz 6d3b8bbddd vmwgfx: Add experimental vmwgfx kernel header 2010-01-05 20:04:13 +01:00
Dave Airlie fdb33d56de libdrm 2.4.17 2009-12-21 15:03:31 +10:00
Jakob Bornecrantz 8c0571a733 libkms: Add libkms 2009-12-04 16:11:55 +01:00
Kristian Høgsberg db50f51274 Bump to 2.4.16 for release 2009-12-03 11:31:27 -05:00
Kristian Høgsberg 863e39b56e Don't hardcore 'yes', use in configure.ac output
Oops, I assumed intel was always enable, but it just defaults to on.
2009-11-23 12:42:36 -05:00
Kristian Høgsberg 696fdb11f4 Output summary of enabled features at the end of configure.ac 2009-11-23 11:41:27 -05:00
Kristian Høgsberg 4f070d593c Install kernel headers in ${includedir}/drm 2009-11-20 19:46:34 -05:00
Kristian Høgsberg 4f57abfe66 Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
Kristian Høgsberg a66cf9ce68 Use headers copied from kernel instead of shared-core 2009-11-17 10:54:11 -05:00
Kristian Høgsberg a99680384a Add makefile rule to copy headers from kernel tree 2009-11-17 09:23:52 -05:00
Julien Cristau 89cc98c0d5 Only install libdrm_intel.pc if we build libdrm_intel 2009-11-05 15:49:09 +00:00
Chris Wilson 901bacd29c intel: Fallback to atomic-ops.h [libatomic-ops-dev]
Use the external implementation for atomic operations across a wide
range of architectures.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-13 15:13:00 +01:00
Chris Wilson 24c905f841 configure: Typo in error message.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-13 14:25:54 +01:00
Chris Wilson fc8f6be5a9 configure: Conditionally build libdrm_intel
Only build libdrm_intel automatically if we have support for atomic
operations. To force configure to build drm pass --enable-intel, which
will cause the configure to error if no support is found. Or pass
--disable-intel to explicitly prevent libdrm_intel from being built.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-12 23:58:47 +01:00
Eric Anholt a107e5b129 Bump to 2.4.15 for release. 2009-10-08 16:59:17 -07:00
Chris Wilson ab3300c581 intel: Add a configure option to *disable* building libdrm-intel
In conjunction with the atomic operation patch, it may be more
convenient for some people to disable building libdrm-intel and its
dependencies upon the atomic intrinsics then it is for them to use a
supported compiler.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-03 22:58:25 +01:00
Chris Wilson 04495eeec2 intel: Use atomic refcounters
As the target architecture for Intel GPUs is the x86, we can presume to
have reasonable compiler support for Intel atomic intrinsics, i.e. gcc,
and so use those in preference to pulling in a complicated mess of
fragile assembly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
[anholt: hand-resolved against my previous commit.  This brings cairo-gl
firefox-talos-gfx time from 65 seconds back down to 62 seconds.]
Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-02 13:21:23 -07:00
Eric Anholt ac71f08499 Bump to 2.4.14 for release. 2009-09-21 15:29:58 -07:00
Eric Anholt 73b59c8943 Bump to version 2.4.13 for release. 2009-08-28 15:20:22 -07:00
Eric Anholt eea95ed8af Bump to version 2.4.12 for release. 2009-07-15 10:04:44 -07:00
Dave Airlie 80179df5f8 configure: move AC_USE_SYSTEM_EXTENSIONS up higher
this was giving me a warning on automake 1.11
2009-07-10 02:38:13 +10:00
Ian Romanick 4179c5f0a6 s/AC_USE_SYSTEM_MACROS/AC_USE_SYSTEM_EXTENSIONS/
Not sure what I was thinking.
2009-07-06 15:36:20 -07:00
Ian Romanick a953b3270c libdrm: Set _XOPEN_SOURCE and _GNU_SOURCE
Several POSIX extensions are used in the libdrm code (e.g., mknod and ffs).
Set _XOPEN_SOURCE and _GNU_SOURCE to something reasonable to ensure that
prototypes for these functions are available.  This is done in configure.ac
using AC_USE_SYSTEM_MACROS.  This requires autoconf 2.60 or later.  Eventually
the code should check for the existance of these defines and do something
reasonable if they are not available.

Inspired by a patch by Pauli Nieminen and suggestions from Julien Cristau.
Thanks.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-07-06 13:48:19 -07:00
Dave Airlie 2fa2db138b libdrm/radeon: add initial libdrm_radeon
requires --enable-radeon-experimental-api for now
2009-06-17 17:47:42 +10:00
Keith Packard f57d7f4b0b libdrm/intel: Make get_pipe_from_crtc_id per-bufmgr. Return -1 on failure.
The convention is that all APIs are per-bufmgr, so make this one the same.
Then, have it return -1 on failure so that the application can know what's
going on and do something sensible.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-05-14 16:58:14 -07:00
Keith Packard 8b8e20e0f9 Bump to version 2.4.10 to mark addition of drm_intel_bo_disable_reuse
New API, new version.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2009-05-12 18:19:22 -07:00
Jesse Barnes 07646002c6 Bump version to 2.4.9
Who needs 2.4.8 anyway?
2009-04-10 15:34:24 -07:00
Jesse Barnes 4d5e82e7d3 Bump version to 2.4.8 2009-04-10 15:24:41 -07:00
Kristian Høgsberg fef29358bb Bump version to 2.4.7 2009-04-09 15:19:10 -04:00
Kristian Høgsberg e9d6116e5b Use libudev in test case to only run gem tests for intel devices. 2009-04-06 17:13:01 -04:00
Jesse Barnes 2ada855022 libdrm: bump version to 2.4.6
This version includes GTT unmap support for the Intel bufmgr.
2009-03-30 11:25:09 -07:00
Eric Anholt a773ce1db8 Add libdrm_intel.pc by popular demand. 2009-02-23 13:30:44 -08:00
Pekka Paalanen 4a0d19ef4f Fix fix distcheck for optional nouveau stuff.
Tylo.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-22 12:40:47 +02:00
Eric Anholt 4d5341340f Fix distcheck for optional nouveau stuff. 2009-02-21 10:01:40 -08:00
Eric Anholt 2f1cdf79a7 Bump version to 2.4.5 for new API additions. 2009-02-21 09:57:19 -08:00
Ben Skeggs 7e5c512104 libdrm: make libdrm_nouveau conditional, disabled by default
libdrm isn't supposed to ship APIs not present in a released kernel.
2009-02-15 21:51:46 +10:00
Ben Skeggs 225e7e274f nouveau: install libdrm_nouveau with libdrm 2009-02-04 14:32:31 +10:00
Kristian Høgsberg 7a389aab86 modetest: Use cairo (if available) to paint a better pattern. 2009-02-03 15:03:41 -05:00
Eric Anholt 18d3cc076b bump version to 2.4.4 2009-01-14 16:12:09 -08:00
Jesse Barnes badc63464c libdrm: add autoconf check for clock_gettime
Should be more portable this way.
2009-01-07 11:47:52 -08:00
Eric Anholt 06ab2f6436 libdrm: Fix modetest/modeprint to use automake stuff. 2008-12-17 10:41:21 -08:00
Jesse Barnes 9583c099b4 Revert "Merge branch 'modesetting-gem'"
This reverts commit 6656db1055.

We really just want the libdrm and ioctl bits, not all the driver
stuff.
2008-12-10 15:50:22 -08:00
Jesse Barnes c34539e8bb Bump version to 2.4.3 to reflect addition of mode setting header 2008-12-10 15:37:45 -08:00
Jesse Barnes 12e68f8059 Merge branch 'master' into modesetting-gem 2008-12-03 11:54:07 -08:00
Eric Anholt b0d93c74d8 Bump version to 2.4.2 to signal new libdrm_intel functions. 2008-12-02 12:19:37 -08:00
Jesse Barnes 965b4d662a Merge branch 'master' into modesetting-gem
Conflicts:

	libdrm/Makefile.am
	libdrm/intel/intel_bufmgr.h
	libdrm/intel/intel_bufmgr_fake.c
	libdrm/intel/intel_bufmgr_gem.c
	shared-core/drm.h
	shared-core/i915_dma.c
	shared-core/i915_irq.c
	shared-core/radeon_cp.c
	shared-core/radeon_drv.h
2008-11-13 15:30:06 -08:00
Eric Anholt 00847dabe0 libdrm 2.4.1. 2008-10-30 11:36:46 -07:00
Jerome Glisse 7617d1fef7 radeon: radeon util library 2008-10-27 19:27:15 +01:00
Eric Anholt 6df7b0719f intel: Protect bufmgr objects with a pthread mutex.
We want to be able to use the bufmgr from multiple threads for GL, and thus
we need to protect the internal structures.

The pthread-stubs package is used so that programs not linked against
pthreads get weak symbols to stubs and don't eat most of the cost.
2008-10-17 06:38:57 +10:00
Eric Anholt 3169d9639b intel: Protect bufmgr objects with a pthread mutex.
We want to be able to use the bufmgr from multiple threads for GL, and thus
we need to protect the internal structures.

The pthread-stubs package is used so that programs not linked against
pthreads get weak symbols to stubs and don't eat most of the cost.
2008-10-09 12:57:09 -07:00
Dave Airlie 9101a0205c libdrm: add udev support.
This patch allows you to --enable-udev, and will avoid having libdrm
make device nodes. If you are using udev, you should really --enable-udev
your libdrm.
2008-08-24 16:54:47 +10:00
Eric Anholt 100d6f3f83 Bump libdrm version to 2.4.0.
We need a version to depend on from the other components that require GEM and
the bufmgr code.  Some interfaces will be removed before the 2.4.0 release.
2008-06-12 13:22:40 -07:00
Eric Anholt c4857429c7 Fix and hook up bufmgr code to the build. 2008-06-03 14:44:53 -07:00
Eric Anholt d7cf298e54 Add some trivial regression tests, one of which fails. 2007-07-19 04:59:59 -07:00
Michel Dänzer caf0c481a6 Bump version patchlevel so it can be tested for new functionality. 2007-03-10 17:13:54 +01:00
Dave Airlie 79038751ff libdrm: add support for server side functionality in libdrm
This adds APIs to allow the X server to use libdrm from the system
rather than its own in-built copy.
2006-11-08 15:08:09 +11:00
Thomas Hellstrom decacb2e64 Reserve the new IOCTLs also for *bsd.
Bump libdrm version number to 2.2.0
2006-10-27 13:08:31 +02:00
Thomas Hellstrom eacedf41a6 Make the user_token 44-bit for TTMs, and have them occupy a unique file space
starting at 0x00100000000. This will hopefully allow us to use
unmap_mapping_range(). Note that user-space will need
64-bit file offset support.
2006-10-02 15:06:35 +02:00