Age | Commit message (Collapse) | Author |
|
This rewrites the sparc GLAPI code so that it's PIC friendly and works
with all of the TLS/PTHREADS/64-bit/32-bit combinations properly.
As a result we can turn SPARC asm back on. Currently it's only
enabled on Linux, as that's the only place where I can test this
stuff out.
For the moment the cliptest SPARC asm routines are disabled as they
are non-working. The problem is that they use register %g7 as a
temporary which is where the threading libraries store the thread
pointer on SPARC. I will fix that code up in a future change as it's
a pretty important routine to optimize.
Like x86 we do the runtime patch as a pthread once-invoked initializer
in init_glapi_relocs().
Unlike x86, however, our GLAPI stubs on SPARC are just two instruction
sequences that branch to a trampoline and put the GLAPI offset into a
register. The trampoline is what we run-time patch. The stubs thus
all look like:
glFoo:
ba __glapi_sparc_foo_stub
sethi GLAPI_OFFSET(glFOO) * PTR_SIZE, %g3
This actually makes generate_entrypoint() a lot simpler on SPARC. For
this case in generate_entrypoint() we generate stubs using a 'call'
instead of the 'ba' above to make sure it can reach.
In order to get a proper tail call going here, in the unpatched case,
we do several tricks. To get the current PC, for example, we save the
return address register into a temporary, do a call, save the return
address register written by the call to another temporary, then
restore the original return address register value. This is to
avoid having to allocate a stack frame.
This is necessary for PIC address formation.
This new GLAPI scheme lets us get rid of the ugly SPARC GLAPI hacks in
__glXInitialize() and one_time_init().
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
This gets the needed libraries pulled in for libEGL for autoconf.
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
|
|
It is only the i965simple pipe driver that was broken
in the gallium-texture-transfere merge that is being
disabled, mothing more nothing less.
FYI, there never where working i965 hardware support
in gallium anyways.
|
|
Maybe this should turn into an option (--disable-glew), but for now just
enable glew all the time.
|
|
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
|
|
./configure --help for more info
|
|
Reported-by: Siddhartha Chaudhuri <expiring_frog@yahoo.co.uk>
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
|
|
Commit 90b2beb661f630966788a6e909dc759c99e38973 changed the assembly
variables. Without this change, the glapi assembly wasn't being built
when it was supposed to, resulting in missing symbols in libGL.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
|
|
This is not the proper approach to disabling assembly. If there are bugs,
they should be fixed or the assembly can default to off.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
|
|
|
|
Most piep drivers should be able to build by default, but since
the nouveau ones depend drm they can't be enabled by default.
|
|
Merge commit 'origin/gallium-0.2' into gallium-master-merge
Conflicts:
Makefile
docs/relnotes-7.4.html
docs/relnotes.html
src/mesa/drivers/dri/i965/brw_wm.h
src/mesa/main/imports.c
src/mesa/main/mtypes.h
src/mesa/main/texcompress.c
src/mesa/main/texenvprogram.c
src/mesa/main/version.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_save_draw.c
|
|
See bug report 17566.
|
|
|
|
On newer GCC releases, the compiler's headers have been split between
the include and include-fixed directories. Add both if the directories
exist.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
|
|
According to feature_test_macros(7), _GNU_SOURCE encompasses all the
other feature macros we were setting, so we can just dispose of them.
|
|
Fixes build on arm-linux-gnueabi
|
|
|
|
This makes the GLU .pc file a little simpler, too.
|
|
The pkg-config files have been filled in more thoroughly to allow users
to use mesa more effectively. By adding metadata to Requires.private,
Libs.private and Cflags, we can ensure that all the libraries and
headers will be found in all situations. However, the full substitutions
are only done when using the configure script.
This also fixes the glu pkg-config file to account for using GL or
OSMesa.
Fixes bug 18161.
|
|
|
|
|
|
Check for *-gnu instead of linux* to set DEFINES.
Change some freebsd* checks to *freebsd*.
|
|
|
|
Allow --with-dri-drivers={,no} to disable DRI drivers build.
Signed-off-by: Florent Thoumie <flz@FreeBSD.org>
Signed-off-by: Robert Noland <rnoland@2hip.net>
|
|
Add an --enable-motif option, which will enable the Motif widgets in
libGLw and link it with libXm. The Motif installation information will
be gathered from the motif-config script (this comes with LessTif) or
fallback to the standard autoconf checks.
To allow the location of the Motif headers to be set from configure, the
default setting of -I/usr/include/Motif1.2 has been moved into
configs/default and then passed to the Makefile through the MOTIF_CFLAGS
variable.
|
|
Establish the shell that make will use from configure. This is exactly
how autoconf/automake operate, with the environment variable
CONFIG_SHELL respected to override the autoconf checks. In the usual
case where the user just executes `./configure', autoconf will pick a
shell from the current shell, sh, bash, ksh or sh5 that meets its base
criteria.
The special Solaris case of looking for a POSIX shell has been changed
to just set the SHELL variable since autoconf substitutes this already.
The EXTRA_CONFIG_LINES substitution is dropped as it should no longer be
needed.
|
|
Try to tell the user that the --x-* options are only used when the X
libraries can't be found by pkg-config.
|
|
The documentation in autoconf.html is much more explicit about how the
different configure options control the build. This adds a notice at the
end of the `./configure --help' output to tell the user about it.
|
|
Explicitly allow the argument to --with-dri-drivers to contain
comma-separated or space-separated drivers. A space-separated driver
list worked by chance before.
|
|
Currently the installation directories for libraries and headers are
resolved within the install commands. For instance, the libraries will
be installed to $(INSTALL_DIR)/$(LIB_DIR). This limits the flexibility
of the installation, such as when the libraries should be installed to a
subdirectory like /usr/lib/tls.
This adds the make variables $(INSTALL_LIB_DIR) and $(INSTALL_INC_DIR)
to define the locations that the libraries and headers are installed.
For the static configs, this resolves exactly as before to
$(INSTALL_DIR)/include and $(INSTALL_DIR)/$(LIB_DIR). For autoconf, they
are derived directly from the --libdir and --includedir settings.
|
|
Improve the --with-dri-drivers help text so that users are aware that
they should install the swrast DRI driver.
|
|
Rather than just defining HAVE_POSIX_MEMALIGN on Linux, check whether
the function exists on all platforms and define the macro if it is.
|
|
Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
|
|
|
|
|
|
The architecture- and platorm-specific settings were scattered
throughout the configure script. This moves them near the beginning
before any of the driver-specific settings.
|
|
I'll release a libdrm 2.3.1 without TTM apis included from a special
drm branch that should allow mesa 7.1 to build against it.
I've had to turn off DRI2 stuff.
|
|
|
|
|
|
Adds an --enable-xcb switch to use XCB in GLX. This only has an effect
when the driver is DRI.
|
|
Since the only valid consumer of the DRI drivers is the X.Org xserver,
this changes the default DRI driver directory to match xorg-server:
${libdir}/dri. The old default of /usr/X11R6/modules/dri was wrong for
nearly all current systems.
|
|
This commit adds an autoconf macro, MESA_PIC_FLAGS, which sets the
PIC flags according to platform and static/shared setting. The platform
specifics are taken straight from libtool.m4 and stripped down to just
the flags and platforms we cover in Mesa. This should hopefully make it
possible to use autoconf on non-GCC platforms.
The macro is added external to configure.ac in acinclude.m4 since it's
pretty bloated.
Note to BSDers: Previously, x86 defaulted to non-PIC on FreeBSD. I
didn't carry that preference into this macro. Instead, you can just use
--disable-pic where desired.
|
|
Minor tweak so that running config.status will entirely recreate the
configure settings by replacing the configs/current symlink.
|
|
Two fixes to the asm configuration:
- Disable when the user is cross-compiling for x86 or x86_64 since it
requires running an executable compiled for the target host.
- If the user has specified --enable-32-bit on x86_64 or --enable-64-bit
on x86, respect that and choose the correct asm architecture.
|
|
The DRI modules can only be built against libdrm master (currently
version 2.3.1), so this should be enforced to save people from trying to
build against older versions.
Added a section at the top of the script to consolidate all required
versions.
|
|
|
|
The variable no_x was being set to yes when libX11 was not found through
pkg-config. This causes AC_PATH_XTRA to skip its search for the X11
libraries, which was not the intended effect. Also switched to using the
PKG_CHECK_EXISTS autoconf macro.
|