Commit Graph

57 Commits

Author SHA1 Message Date
José Fonseca 90b2beb661 Simplify makefile boilerplate code.
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined
locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19 14:06:11 +09:00
José Fonseca 1f2d011786 Build glx/x11. 2008-02-18 15:45:29 +09:00
José Fonseca bfd5916eaf Code reorganization: split gallium and mesa makefiles.
In other words, don't build src/gallium source code from within src/mesa/Makefile.

Also, allow to customize which gallium auxiliary dirs, driver driver, winsys
dirs get built from the config/* files.
2008-02-18 14:25:04 +09:00
José Fonseca 6acd63a498 Code reorganization: update build.
Update the Makefiles and includes for the new paths.

Note that there hasn't been no separation of the Makefiles yet, and make is
jumping all over the place. That will be taken care shortly. But for now, make
should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm
might require some minor tweaks.
2008-02-15 17:50:12 +09:00
José Fonseca 1d2ff452d4 Expand pkg-config flags before invoking the compiler.
This allows IDEs such as Eclipse to get the correct c-preprocessor flags used
from the build output.
2007-10-25 23:37:25 +01:00
Keith Whitwell 8a475cb791 Rename drivers/dri/i915pipe --> drivers/dri/intel_winsys.
This is appropriate as this is not a "pipe driver for the i915" as the
old name would suggest, but rather a dri driver that can provide "winsys"
backends to softpipe/i915/i965/etc pipe drivers, running under the
intel DDX, drm, etc.

It also frees up the i915pipe name for something more appropriate, ie
mesa/pipe/i915pipe.
2007-08-08 09:42:19 +01:00
Keith Whitwell b4c18efcd0 Build the "pipe" version of the i915tex driver.
This hands all rendering off to the softpipe rasterizer.
2007-07-31 20:22:49 +01:00
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