Commit graph

50 commits

Author SHA1 Message Date
Keith Whitwell
f185411637 Only build i915tex 2007-06-20 23:17:13 +01:00
Dave Airlie
b3378f6cc5 nouveau: disable nouveau build by default
Until this is API/ABI stable building it by default isn't a good idea.
2007-05-05 15:43:01 +10:00
Brian
c4ac5ac9d7 Overhaul of error handling. 2007-02-26 14:32:53 -07:00
Eric Anholt
c2b185cff8 Add reporting of damage by DRI drivers when the extension support is available.
With this, tools like ximagesrc in gstreamer correctly see updates from GL
rendering.  Support requires that the Xdamage library be current (but will be
disabled if not present) plus a new X Server with support for the new
XDamagePost request.  libGL now has a new interface version, and also links
against libXdamage and libXfixes to support it, but backwards compatibility
is retained.

Currently, all drivers report damage at SwapBuffers time through common code --
front buffer rendering doesn't result in damage being reported.  Also, the
damage is against the root window, as our drivers don't yet render to backing
store when they should (composited environments).
2007-01-05 18:23:57 -08:00
Keith Whitwell
48e6fff3a9 merge the (rest of) texmem branch 2006-11-01 14:26:10 +00:00
Ian Romanick
f3f51bc844 Fix bug #4681.
glDeleteTextures and glDeleteTexturesEXT were erroneously listed as
aliases of each other.  For anything /except/ GLX protocol they are
aliases.  This set of changes allows functions that are functionally
identical but have different GLX protocol to be listed as aliases.

When building with GLX_INDIRECT_RENDERING set, different static
functions are used.  These functions determine whether the current
context is direct rendering or not.  If the context is direct
rendering, the aliased function (e.g., glDeleteTextures in the case of
glDeleteTexturesEXT) is called.  If the context is not direct
rendering, the correct GLX protocol is sent.

For a deeper explanation of what is changed, please see:
http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
2006-10-11 22:37:14 +00:00
Ian Romanick
a7d0256745 When available, which is most of the time, use posix_memalign to implement
_mesa_align_malloc and friends.
2006-08-16 17:06:08 +00:00
Adam Jackson
be85fde82b linux-indirect target fixes. 2006-08-10 20:19:57 +00:00
Eric Anholt
9f344b3e7d Add Intel i965G/Q DRI driver.
This driver comes from Tungsten Graphics, with a few further modifications by
Intel.
2006-08-09 19:14:05 +00:00
Brian Paul
8a1848bf99 restore -O flag (bug 6814) 2006-05-06 22:39:33 +00:00
Brian Paul
789eb27870 minor CFLAGS reordering 2006-04-06 16:46:34 +00:00
Adam Jackson
9542537cee Style fix, drop the explicit -ldrm from the link line. 2006-03-30 19:20:25 +00:00
Alan Hourihane
fbcb37cac5 remove i830 2006-01-26 08:53:32 +00:00
Adam Jackson
216f729a95 Search for makedepend in the PATH rather than hardcoding /usr/X11R6/bin 2006-01-18 20:57:02 +00:00
Brian Paul
8cb2923038 don't use -Wmissing-prototypes for C++ code 2005-10-28 13:11:00 +00:00
Brian Paul
bd07168eb2 added -Wmissing-prototypes to WARN_FLAGS 2005-09-06 03:13:18 +00:00
Adam Jackson
8fcd1e0287 Convert libGL and DRI drivers to require libdrm.
libdrm can be had from:

http://people.freedesktop.org/~ajax/libdrm/
2005-08-19 20:20:03 +00:00
Ian Romanick
a3dd6efb00 Put back '-I/usr/X11R6/include'.
Make 'USING_EGL=0' the default for now.  It's causing too much confusion for
too many non-developers (which in turn wastes too much developer time).  It
is trivially overridden from the make command line.  See comments in
linux-dri.
2005-08-15 15:01:39 +00:00
Ian Romanick
f2876d1ee3 Remove the logic that determines at compile time whether or not HAVE_ALIAS
should be defined.  It was flawed on some platforms (e.g., Darwin & mingw).
Instead, rely on the build system to define it on the compiler command line.

This also reverts ajax's hand-edit to indirect_size.c.  I'll fix that on the
X.org side of things later today.
2005-08-11 20:29:45 +00:00
Ian Romanick
ac7c147aaf Don't link with libGL, libEGL, or libEGLdri. On EGL setups libGL isn't
available, and on libGL setups libEGL and libEGLdri aren't available.
2005-08-11 19:29:25 +00:00
Ian Romanick
b7ae3e4787 Since Brian's recent commit, "-I/usr/X11R6/include/X11/extensions" is no
longer needed.
2005-08-11 19:23:23 +00:00
Eric Anholt
81b3c5e85c Dike out the linux-specific EGL bits unless it's a linux build. 2005-08-08 03:27:28 +00:00
Jon Smirl
7e5da5d526 Enable EGL support in 'linux-dri' config 2005-08-07 02:13:14 +00:00
Ian Romanick
dc6e2c778a Add a new config called linux-indirect. This build the GLX libGL just like
linux-dri, but it disables support for direct-rendering in it.  This config
mainly exists so that I can verify that changes to libGL haven't broken
builds on non-DRI platforms.
2005-07-29 17:25:50 +00:00
Ian Romanick
c39bf5e273 All elements of pre-DRI_NEW_INTERFACE_ONLY are removed. This allows
1,402 lines of code to be removed from Mesa (drivers and libGL).  The
big winner is dri_util.c.

Primary changes are:

1. Remove all "deprecated" entry-points from the various structures in
dri_interface.h.

2. Rename the remaining fields to removed "version numbers."  So,
bindContext3 becomes bindContext.  Functions with "New" in the name
(e.g., CreateNewContext) were *not* changed, but that is an option.
Having "New" in the name is less annoying to me than having "3" in the name.

3. Remove all compatibility code that handles cases where the driver or
the loader is too old to support the latest interfaces.

4. Append the API version to the __driCreateNewScreen function name.
This is currently done by hand.  In the future (i.e., the next time we
make an incompatible change to the interface) we'll want to come up with
a better way to do this.  This prevents old loaders from being able to load
new (incompatible) drivers.

5. Bump the API version to 20050722.  All drivers (by way of dri_util.c)
require this version.

6. All drivers are *required* to expose GLX_SGIX_fbconfig and
GLX_OML_swap_method (or the moral equivalents).  Support for these
functions in implicit in the use of the "new" interface.

7. Some cases still exist that need to be compiled differently in a loader
or core Mesa versus in a driver.  These are identified by the define
IN_DRI_DRIVER.
2005-07-24 06:29:14 +00:00
Eric Anholt
aeb0ee771b Connect the r300 bits up to the build. 2005-07-20 22:08:06 +00:00
Alan Hourihane
5343ae8304 re-enable the ffb driver 2005-07-18 13:53:03 +00:00
Ian Romanick
9204e87b2e Massive refactor of (most of) the Linux config files. This reduces
the length of each config and brings a lot of much needed uniformity
to them.
2005-07-02 07:38:40 +00:00
Ian Romanick
25fe93f0a1 Add TLS support to libGL and, by virtue of using glthread.h and GL_CALL, all
DRI drivers.  A TLS enabled libGL can load a TLS or a non-TLS DRI driver,
but a TLS DRI driver requires a TLS enabled libGL.

This fixes bug #1822.
2005-04-13 20:59:15 +00:00
Ian Romanick
bfc8a8dc63 Make linux-dri-x86-64 more like linux-dri-x86. Add ARCH_FLAGS. This is
where things like "-m64" or "-m32" should be specified.  Using this, a
32-bit DRI build can be done on an x86-64 system by doing 'ARCH_CFLAGS=-m32
make linux-dri-x86'.  Minor tweaks to linux-dri to support these changes.
2005-04-06 21:34:34 +00:00
Adam Jackson
0983c9dd99 Build s3v and trident by default too.
Smoky the bear says: Only you can prevent bitrot.
2004-12-27 20:38:29 +00:00
Keith Whitwell
da3e15c2fd Get linux-solo dependencies building correctly,
Make sure symlinks are built in driver directories before running makedepend.
2004-12-09 08:42:19 +00:00
Keith Whitwell
fc23672327 Improve the behaviour of the build system wrt depend files.
- Remove the -Y option for makedepend, so that the standard
	  directories are searched
	- No longer pipe the multiple errors that the -Y option caused
	  into /dev/null -- we want to know about these failures.
	- Fix up a few other misc makedepend failures.
2004-12-08 15:16:36 +00:00
Adam Jackson
0b8acd90b3 libGL needs libXxf86vm.a. 2004-10-29 00:10:43 +00:00
Adam Jackson
61702d4afe Add glx/x11 to the DRI configs, and change the Solo configs to build glx/mini. 2004-10-25 21:23:08 +00:00
Adam Jackson
312c68fab3 Add DRI_LIB_DEPS for the DRI drivers to link against. Remove expat from the
link list for libGL itself under DRI configurations, since the XML parsing
code is in the drivers themselves.
2004-10-25 21:20:29 +00:00
Eric Anholt
d09209f553 Add Roland Scheidegger's S3TC patch. This patch does not implement the
(patented) S3TC/DXTC algorithms, but adds an option to dlopen a library module
providing functions to do so.  Because it uses dlopen, it is only enabled if
USE_EXTERNAL_DXTN_LIB=1 is defined (which is only in linux-dri config, so far).
It adds support for S3TC to several DRI drivers, and adds a DRI config option to
force enabling S3TC even if the software compression/decompression is
unavailable.  This may allow people to use apps that require S3TC even though
they don't have a license to implement the patented material themselves, if
those apps use precompressed textures.

Ideally we would get permission from the current holder of the patents to
implement the algorithm in Mesa, at which point the dlopen mess could go away.
Until then, this allows some to run applications they couldn't otherwise, and
hopefully will provide us with more push to get the final step of getting that
permission done.
2004-10-07 23:30:29 +00:00
Eric Anholt
d166f2bffd Add sis to the list of DRI drivers, since it had already been converted to the
new interface.
2004-09-25 16:56:58 +00:00
Eric Anholt
0a21a4aaf9 Refactor the linux-dri config files so that linux-dri-x86 inherits from
linux-dri.  Turn on -O by default (-O2 provides a slight improvement in
performance, at a large cost to debuggability).  Turn off -fPIC on x86 by
default.  Turn on -Wall, to catch more stupid mistakes.  This could be both done
cleaner, and done for more config files, but it works for me for now.
2004-09-25 07:11:12 +00:00
Brian Paul
d84f09306c Replace -lGL with -l$(GL_LIB), etc.
Remove GLU_LIB_DEPS, OSMESA_LIB_DEPS lines if identical to 'default' file.
2004-09-13 21:04:48 +00:00
Felix Kuehling
c2530b5730 Converted the Savage driver to the new DRI interface and enabled compilation
in the Mesa tree.
2004-08-22 20:31:40 +00:00
Brian Paul
9408fe0c09 remove -lXm (motif) from GLW_LIB_DEPS since it's not needed by default 2004-07-20 20:43:24 +00:00
Dave Airlie
2a28636274 add i915 as it seems to build okay.. 2004-06-12 02:36:42 +00:00
Ian Romanick
75046c5e59 Remove drivers that have not been converted to the new interface from
the DRI builds.
2004-06-06 02:19:24 +00:00
Ian Romanick
18a5ecec89 DRI_NEW_INTERFACE_ONLY is now the only support way to build in the
Mesa tree.  If you need a driver that supports the old libGL/DRI
inteface, it must be built in the DRI tree.
2004-06-02 17:48:16 +00:00
Dave Airlie
b05d87d6f5 use X86 sources in X86 build, use none in other 2004-05-04 00:10:24 +00:00
Dave Airlie
79518b6f37 DRM_SOURCE_PATH is in default 2004-05-03 06:48:33 +00:00
Keith Whitwell
739f50f542 Define GLX_DIRECT_RENDERING in Makefile.template 2004-04-30 09:15:58 +00:00
Keith Whitwell
74d563cdfb Allow *_dri.so to build in Mesa tree with the 'linux-dri' target. 2004-04-29 12:23:39 +00:00
Keith Whitwell
e61df58729 First attempt at building a dri module in this tree
-- make target is linux-dri
	-- will attempt to build i830_dri.so

The object builds but hasn't been tested.
2004-04-14 12:44:07 +00:00