Commit graph

577 commits

Author SHA1 Message Date
José Fonseca
202c345c7c autoconf/make: Don't specify individual llvm libraries.
We need more and more of these, and it is difficult and prone to version
incompatability issues trying to single out every one of them.

This mimicks what was done in SCons.
2011-03-14 20:05:56 +00:00
José Fonseca
e6314db0ac gallivm: Use LLVM MC disassembler, instead of udis86.
Included in LLVM 2.7+. Unlink udis86, should support all instructions that
LLVM can emit.
2011-03-13 19:24:26 +00:00
Henri Verbeet
c3c91a0fe5 glx: Take GLPROTO_CFLAGS into account. 2011-03-07 21:48:20 +01:00
Christopher James Halse Rogers
d1e28b2267 mesa: Optionally build a dricore support library (v3)
This an adds --enable-shared-dricore option to configure.  When enabled,
DRI modules will link against a shared copy of the common mesa routines
rather than statically linking these.

This saves about 30MB on disc with a full complement of classic DRI
drivers.

v2: Only enable with a gcc-compatible compiler that handles rpath
    Handle DRI_CFLAGS without filter-out magic
    Build shared libraries with the full mklib voodoo
    Fix typos
v3: Resolve conflicts with talloc removal patches

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
2011-02-11 18:31:05 -08:00
Benjamin Franzke
214fc6e850 egl: Implement libwayland-egl
This library is required and defined by wayland for
EGL implementations supporting wayland.
2011-02-07 13:55:20 +01:00
Kenneth Graunke
d1d8120545 Remove talloc from the make and automake build systems. 2011-01-31 10:17:09 -08:00
Chia-I Wu
e8c7d7598f glapi: Fix OpenGL and OpenGL ES interop.
When --enable-shared-glapi is specified, libGL will share libglapi with
OpenGL ES instead of defining its own copy of glapi.  This makes sure an
app will get only one copy of glapi in its address space.

The new option is disabled by default.  When enabled, libGL and libglapi
must be built from the same source tree and distributed together.  This
requirement comes from the fact that the dispatch offsets used by these
libraries are re-assigned whenever GLAPI XMLs are changed.

For GLX, indirect rendering for has_different_protocol() functions is
tricky.  A has_different_protocol() function is assigned only one
dispatch offset, yet each entry point needs a different protocol opcode.
It cannot be supported by the shared glapi.  The fix to this is to make
glXGetProcAddress handle such functions specially before calling
_glapi_get_proc_address.

Note that these files are automatically generated/re-generated

 src/glx/indirect.c
 src/glx/indirect.h
 src/mapi/glapi/glapi_mapi_tmp.h
2011-01-20 17:15:50 +08:00
Chia-I Wu
9767d3b5ad glapi: Fix OpenGL ES 1.1 and 2.0 interop.
Move _glapi_* symbols from libGLESv1_CM.so and libGLESv2.so to
libglapi.so.  This makes sure an app will get only one copy of glapi in
its address space.

Note that with this change, libGLES* and libglapi must be built from the
same source tree and distributed together.  This requirement comes from
the fact that the dispatch offsets used by these libraries are
re-assigned whenever GLAPI XMLs are changed.
2011-01-20 17:15:50 +08:00
Tom Fogal
0e3ff159f9 Add GLX_TLS setting to configs/default.
Should have gone in with 31351dc029,
thanks to Dan Nicholson for noticing.
2011-01-10 15:39:21 -07:00
Tom Fogal
31351dc029 Export TLS support in gl.pc. 2011-01-10 12:34:02 -07:00
Chia-I Wu
12583174c5 mesa: Remove GLES overlay.
With core mesa doing runtime API checks, GLES overlay is no longer
needed.  Make --enable-gles-overlay equivalent to --enable-gles[12].
There may still be places where compile-time checks are done.  They
could be fixed case by case.
2011-01-10 11:50:35 +08:00
Jerome Glisse
3349517351 noop: make noop useable like trace or rbug
If you want to enable noop set GALLIUM_NOOP=1 as an env variable.
You need first to enable noop wrapping for your driver see change
to src/gallium/targets/dri-r600/ in this commit as an example.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2011-01-09 21:04:41 -05:00
Vinson Lee
becd98018b mesa: bump version to 7.11 2011-01-05 23:27:30 -08:00
Brian Paul
c1095f0b0c mesa/llvm: use llvm-config --cppflags
Use --cppflags instead of --cflags so that we get the -I and -D flags
we want, but not compiler options like -O3.

A similar change should probably be made for autoconf.
2010-12-06 10:11:00 -07:00
Brian Paul
b87369e863 mesa: consolidate some compiler -D flags
-D__STDC_CONSTANT_MACROS and -D__STDC_LIMIT_MACROS are only needed for
LLVM build.
2010-12-03 13:52:59 -07:00
Kenneth Graunke
3acc826520 Fix build on systems where "python" is python 3.
First, it changes autoconf to use a "python2" binary when available,
rather than plain "python" (which is ambiguous).  Secondly, it changes
the Makefiles to use $(PYTHON) $(PYTHON_FLAGS) rather than calling
python directly.

Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: Matthew William Cox <matt@mattcox.ca>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2010-10-27 12:49:53 -07:00
Brian Paul
bd6b8107ad configs: remove egl-swrast target from linux-dri config 2010-09-22 09:30:16 -06:00
Vinson Lee
3c9653c3a0 mesa: bump version to 7.10 2010-09-17 17:52:13 -07:00
Jon TURNEY
2b9dac397b Make XF86VIDMODE extension optional
Code in glx/glxcmds.c which uses the XF86VIDMODE extension is already guarded.  Also use
that guard to control inclusion of the xf86vmode.h header, and only enable that guard if the
XF86VIDMODE extension is found by pkgconfig.

This changes the behaviour on platforms which XF86VIDMODE exists, in that XF86VIDMODE used to
be mandatory, but is now optional.

Presumably other build systems are already arranging for -DXF86VIDMODE to be supplied to the
complier when glxcmds.c is compiled, so are not affected by this change

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-09-07 13:30:19 -04:00
Brian Paul
2a5491792e mesa: also build galahad driver 2010-09-03 15:57:48 -06:00
Vinson Lee
d3772eab2d configs: Remove -lstdc++ from default.
This patch undoes commit 9b7480cd95.

A follow-on patch will provide the proper fix.
2010-08-24 12:14:14 -07:00
Eric Anholt
27e931f679 mesa: Fix typo in autoconf.in that made talloc cflags still detect at runtime. 2010-08-22 18:54:30 -07:00
Eric Anholt
639cdd3782 mesa: AC_SUBST the talloc libs/cflags so the ./configure results are saved.
I had used pkg-config from the Makefile because I didn't want to screw
around with the non-autoconf build, but that doesn't work because the
PKG_CONFIG_PATH or TALLOC_LIBS/TALLOC_CFLAGS that people set at
configure time needs to be respected and may not be present at build
time.

Bug #29585
2010-08-22 17:36:51 -07:00
Vinson Lee
9b7480cd95 configs: Add -lstdc++ to default.
This fixes the following error when trying to run glxinfo or glxgears
with swrast.

undefined symbol: __cxa_pure_virtual
2010-08-19 18:09:24 -07:00
Vinson Lee
279aeebff5 configs: Add -ltalloc to linux-dri.
Fixes build after glsl2 branch merge, which added talloc dependency.
2010-08-16 22:42:29 -07:00
Ian Romanick
443a7e4e9a Merge branch 'master' into glsl2 2010-08-13 20:22:46 -07:00
Brian Paul
dcb3a2899e configs: added -ltalloc to config files 2010-08-11 15:06:13 -06:00
Li Peng
c33c1912dd configure: fix wrong variable name GLESv1_LIB_DEPS
GLESv1_CM_LIB_DEPS is defined in "configs/autoconf.in",
but configure.ac uses GLESv1_LIB_DEPS.

Signed-off-by: Li Peng <peng.li@linux.intel.com>
2010-07-30 08:52:58 -04:00
Chia-I Wu
08f4bc07e4 st/egl: Fix build on FreeBSD.
There is no libdl on FreeBSD.  Based on patch from Thinker
<thinker@branda.to>, which is against 7.8.

This fixes fdo bug #29093.
2010-07-16 20:19:13 +08:00
Kristian Høgsberg
2168b87b51 egl_dri2: Support _EGL_PLATFORM_DRM
This lets the egl_dri2 driver initialize on just a DRM fd.
2010-07-08 20:10:37 -04:00
Dan Nicholson
442c37e2ef Use GLW_CFLAGS when building libGLw
We check for libX11 and libXt, so we might as well use the CFLAGS
pkg-config tells us about.
2010-07-01 13:00:02 -07:00
John Hein
9617254a1e Use GLUT_CFLAGS when building glut
Fix this build error (in MesaGLUT-7.6.1)...
glut_cmap.c:23:66: error: X11/Xmu/StdCmap.h: No such file or directory

...by not preventing the cflags that pkg-config finds for glut dependencies
(including 'xmu') from being used.

Defining GLUT_CFLAGS before running the pkg-config prevents the
cflags found by pkg-config from being used.

This patch lets GLUT_CFLAGS that configure & pkg-config work
so hard to set actually get used.

Also make sure the generated configs/autoconf defines GLUT_CFLAGS
used in (at least) src/glut/glx/Makefile.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2010-07-01 13:00:02 -07:00
Chia-I Wu
da39d5d3b4 egl: s/EGL_DISPLAY/EGL_PLATFORM/.
A platform is already used to mean a window system in EGL.  No need to
use a different term.
2010-06-17 16:30:26 +08:00
Jakob Bornecrantz
0528106cc7 glew: Drop glew now that we don't need it for the progs
configs/beos           |    2 +-
 configs/darwin         |    2 +-
 configs/default        |    4 +-
 configs/freebsd-dri    |    2 +-
 configs/linux-cell     |    2 +-
 configs/linux-dri-xcb  |    2 +-
 configs/linux-indirect |    2 +-
 configure.ac           |    2 +-
 include/GL/glew.h      |14435 ------------------------------------------------
 include/GL/glxew.h     | 1476 -----
 include/GL/wglew.h     | 1247 -----
 src/SConscript         |    1 -
 src/glew/LICENSE.txt   |   73 -
 src/glew/Makefile      |   54 -
 src/glew/SConscript    |   69 -
 src/glew/glew.c        |14320 -----------------------------------------------
 src/glew/glewinfo.c    | 8441 ----------------------------
 src/glew/visualinfo.c  | 1173 ----
 18 files changed, 8 insertions(+), 41299 deletions(-)

Revert "glew: update to version 1.5.4"
This reverts commit a189b1c53b.

Revert "glew: Include X11 headers and libraries in SCons build."
This reverts commit efdd33985c.

Revert "scons: Fix GLEW build on Mac OS X."
This reverts commit 8f81769148.

Revert "scons: Use static glew library on Unices to avoid binary compatability issues"
This reverts commit de22c940a1.

Revert "glew: Update to version 1.5.2."
This reverts commit aaf7ecfd81.

Revert "scons: Build glew on all platforms."
This reverts commit 52eb3e4235.

Revert "scons: Put glut and glew shared libraries into build/xxx/bin or lib."
This reverts commit 8a318edd08.
Didn't revert scons/gallium.py

Revert "scons: Fix glew build on MSVC."
This reverts commit 14a8c9dac7.

Revert "scons: Build progs together with everything else."
This reverts commit 7bbf7f94ea.
Only changed src/glew/SConscript

Revert "mesa: include glew headers in MesaDemos tarballs"
This reverts commit c57d81ddc9.

Revert "mesa: include GLEW sources in MesaDemos tarball"
This reverts commit b9e2e32daf.

Revert "glew: correct misspelling of glFramebufferTextureLayer"
This reverts commit 1b05b5b4fe.

Revert "glew: fix GLEW_LIB_NAME"
This reverts commit c10df26a31.

Revert "Add dummy install target for glew to fix 'make install'"
This reverts commit c273dfe6a2.

Revert "autoconf: Add GLEW needed by progs when building GLUT"
This reverts commit 2977cee38e.

Revert "glew: Build it as a static lib."
This reverts commit fcf9353fea.

Revert "glew: Initial import."
This reverts commit 57d00016ca.
2010-06-08 02:07:24 +02:00
Brian Paul
3d07060ae3 mesa: remove PROGRAM_DIRS from config files 2010-06-04 17:47:53 -06:00
Chia-I Wu
8e1b375a8d autoconf: Remove unused APIS.
It was used by glapi, which has been moved to mapi.
2010-05-31 10:43:00 +08:00
Brian Paul
a4bd52adba update linux-fbdev config 2010-05-27 09:46:21 -06:00
Jakob Bornecrantz
2c3fb4ecce rbug: Break out of trace 2010-05-12 20:15:23 +01:00
Chia-I Wu
87cc2da16e mesa/es: Merge back to core mesa.
With the omit list gone, there are not too many differences in building
core mesa and ES overlay.  Remove the mesa/es and build both of them in
src/mesa/Makefile.
2010-05-12 15:03:42 +08:00
Brian Paul
980df845a3 osmesa: add mapi/glapi to SRC_DIRS to fix build 2010-05-09 21:19:42 -06:00
Chia-I Wu
63ab2509bf gallium: Add egl-apis target.
The new target installs client API modules to EGL_DRIVER_INSTALL_DIR.
They are used by st/egl.

The client APIs are built from OpenGL and OpenVG state trackers.  For
this to work, st/vega is modified to produce a static library,
libvega.a, instead.  st/es is also not needed any more.  It is removed
and --with-state-trackers=es is replaced by --enable-gles-overlay.

As st/egl now has its own client API modules, this solves the ABI issue
between st/egl and client APIs, as long as the client API modules are
distributed with st/egl.  Plus, this allows st/egl to support OpenGL
with non-Gallium libGL.so.
2010-05-08 14:57:21 +08:00
Chia-I Wu
874ccd5d83 Define OpenGL ES and OpenVG library names.
Define <API>_LIB, <API>_LIB_NAME, <API>_LIB_GLOB, and some other
variables in the configs.  Fix a typo in glesv1_cm.pc.in where an
inexistent variable is used.
2010-05-08 14:55:52 +08:00
Chia-I Wu
296adbd545 glapi: Move to src/mapi/.
Move glapi to src/mapi/{glapi,es1api,es2api}.
2010-05-07 10:41:11 +08:00
Chia-I Wu
a6ec153830 mesa: Fix build of ES overlay.
ES overlay is built with FEATURE_ES1 or FEATURE_ES2, and is built
without FEATURE_GL.  Fix the build by always building OpenGL ES sources,
but test for FEATURE_ES1 or FEATURE_ES2.  Also, define symbols that are
missing because FEATURE_GL is not defined.
2010-05-05 11:57:46 +08:00
Kristian Høgsberg
9e4f2da848 Fix gles .pc file generation 2010-05-04 14:13:46 -04:00
Kristian Høgsberg
ceffd7b924 Add egl.pc file 2010-05-04 14:13:46 -04:00
Kristian Høgsberg
da76a4d845 mesa: Only compile ES files when ES1 or ES2 are selected
This still requieres manual generation of the es1 and es2 glapis and is
disabled by default.
2010-05-02 14:09:52 -04:00
Kristian Høgsberg
0870e4a202 Merge branch 'gles2-2'
Conflicts:
	src/mesa/drivers/dri/common/dri_util.h
2010-05-02 10:17:07 -04:00
Kristian Høgsberg
9fd5fa0512 Hook in install rules for es1 and es2 2010-05-02 10:14:53 -04:00
Kristian Høgsberg
74399d4af5 Add glesv2.pc and glesv1_cm.pc pkg-config files for ES 1 and 2 2010-05-02 09:51:13 -04:00