Age | Commit message (Collapse) | Author |
|
Allow the user to specify channel bits of 16 or 32 to enable OSMesa16 or
OSMesa32 instead of the default OSMesa. This option is controlled
through the option --with-osmesa-bits=BITS and is only honored when the
driver is osmesa.
The osdemos are not enabled in the 16 or 32 bit case because the
Makefile is currently hardcoded to link to -lOSMesa.
|
|
Added autoconf bits to allow using DRI as the driver through the option
--with-dri-driver=DRIVER. The options are x11 (default) and dri. Three
DRI specific options for controlling the driver directory, direct
rendering and TLS are also added.
The DRI will probably not work for platforms besides linux and freebsd.
|
|
This adds the initial support for using autoconf configuration. Support
is available for shared Xlib driver builds. Later this will be extended
to dri and osmesa-only builds and possibly targetting non-X backends.
Support for static library builds will also be added.
The configure script fills in the autoconf config. This is then used by
running `make autoconf' after ./configure.
Testing has been done on Linux/GNU. The configure script tries to
faithfully reproduce the current configs/linux* and configs/freebsd*.
Other platforms can be handled later by adding similar statements and
feature tests.
Pkg-config is used to search for packages when possible. This makes the
build much more flexible and robust to the user's configuration. This
requires that the pkg-config autoconf macros pkg.m4 are included in
aclocal.m4. This requires autoconf and aclocal from autoconf and
automake, respectively.
|
|
Most of the programs list their dependencies on the Mesa libraries in
their Makefiles. This works with the default configuration where
APP_LIB_DEPS only lists external libraries. This changes the
linux-osmesa configs and the osdemos Makefile to follow that convention.
Some cleanup of the Makefile is also added to refer to the GL libraries
through the existing variables rather than hardcoding their names.
|
|
Linking of the programs breaks when using a static libGL and the GNU ld
option --as-needed. This is because libXext is needed for the XShm
functions.
|
|
|
|
Use a GCC option to work around aliasing bugs. See commit 013dbcd for
more details.
|
|
Quite a while ago, the GCC option -fexceptions was added for building
libglut. See here:
http://article.gmane.org/gmane.comp.video.mesa3d.devel/9499
This was missing in the linux-dri targets.
|
|
Mesa currently disables -fPIC for DRI on x86, but most Linux distros are
re-enabling -fPIC for all DRI arches. Let's just do that here since
that's normally what's wanted for shared libraries. Some justification:
http://bugs.gentoo.org/show_bug.cgi?id=110840#c9
On the other hand, position-independent code is only necessary when
building shared libraries, so disable it for the static cases.
|
|
Most Linux distros work around aliasing problems in Mesa by compiling
with the GCC option -fno-strict-aliasing. Two examples:
https://bugs.freedesktop.org/show_bug.cgi?id=6046
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394311
This makes -fno-strict-aliasing the default with a comment that
developers should consider commenting it out. There is a already a note
about these bugs in docs/helpwanted.html.
|
|
Since libglut is no longer hardcoded, we can build the xdemos programs
so long as a GLX enabled libGL and libGLU have been built.
|
|
GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
linker errors when trying to build the programs.
|
|
|
|
|
|
The linux-static target was missing necessary libraries and hardcoding
their location to /usr/X11R6/lib. This makes it comparable to the x86
and x86-64 static targets.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Until this is API/ABI stable building it by default isn't a good idea.
|
|
|
|
|
|
Add nouveau to match linux-dri config.
|
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
1. updated makefiles to build libOSMesa as well as libGL
these are improvements to fbdev-glut
1. mouse cursor will timeout and be invisible if not being used
2. do not restore colormaps to truecolor targets, this causes problems at
exit on my g450
3. fixed a crash when cleaning up from failure by munmaping what had not
yet been mmaped
4. Resize event handling is improved, the resize function is not invoked
from a signal handler now.
5. The main loop can detect if it is running very fast (greater than 2khz)
6. keyboard up and special up events are generated from stdin input mode
and if it is also not redrawing, it sleeps
7. corrections in escape sequences for function keys for stdin input
|
|
|
|
|
|
|
|
Correctly handles symlinks so we can get rid of the COPY_LIBS stuff.
|
|
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
|