summaryrefslogtreecommitdiff
path: root/src/mapi/shared-glapi
AgeCommit message (Collapse)AuthorFilesLines
2017-05-04mapi_abi.py: remove no longer used --mode optionEmil Velikov1-1/+1
Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2016-08-27scons: Take indirect gl_and_es_API.xml dependencies in consideration.Jose Fonseca1-1/+2
Same as 26a8f76ba1a0229ee3332eaa6f1aea89d617cf3d. Trivial.
2016-05-25scons: whitespace cleanupGiuseppe Bilotta1-1/+1
This text transformation was done automatically via the following shell command: $ find -name SCons\* -exec sed -i s/\\s\\+$// '{}' \; Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2015-03-05Fix invalid extern "C" around header inclusion.Mark Janes1-2/+0
System headers may contain C++ declarations, which cannot be given C linkage. For this reason, include statements should never occur inside extern "C". This patch moves the C linkage statements to enclose only the declarations within a single header. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2015-03-04mapi: remove unneeded ARRAY_SIZE #defineBrian Paul1-0/+1
include util/macros.h instead. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16mapi: add glapi-test and shared-glapi-test to .gitignoreJuha-Pekka Heikkila1-2/+0
On the same go remove src/mapi/shared-glapi/tests/.gitignore and src/mapi/glapi/tests/.gitignore as useless. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-08-18mapi: Inline shared-glapi/tests/Makefile.Matt Turner1-19/+0
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2014-08-18mapi: Inline shared-glapi/Makefile.Matt Turner1-34/+0
2014-04-05automake: don't enable -Wl,--no-undefined on OpenBSDJonathan Gray1-1/+1
OpenBSD does not have DT_NEEDED entries for libc by design, over concerns how the symbols would be referenced after changing the major version of the library. So avoid -no-undefined checks on OpenBSD as they will fail. v2: don't include the -no-undefined libtool option in the variable and change -Wl,--no-undefined references in Automake.inc as well. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76856 Signed-off-by: Jonathan Gray <jsg@jsg.id.au> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-03-31automake: ask the linker to do garbage collectionEmil Velikov1-0/+1
By doing GC the linker removes all the symbols that are not referenced and/or used by the final library. This results in a saving of ~100K up-to ~600K per (stripped) binary (classic vs gallium drivers). If interested one can ask the compiler to print the sections that are removed using -Wl,--print-gc-sections. v2: Check if ld supports the flag before using it. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Matt Turner <mattst88@gmail.com> (v1)
2014-03-31automake: add -Wl,--no-undefined to all librariesEmil Velikov1-1/+3
... apart from the dri drivers. With this final change we can build mesa without fear that the resulting libraries will have unresolved symbols. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-02-17configure: Try pkg-config first for libselinuxKusanagi Kouichi1-0/+1
v2 (Emil) Add SELINUX_CFLAGS in the respective locations Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com> (v1)
2014-01-29build: Share the all-local rule for linking libraries into the build dirKristian Høgsberg1-5/+1
This consolidates how we link the libraries into the build directory. It works for lib_LTLIBRARIES but not custom shared libraries like DRI drivers or gallium state trackers which needs special casing (cf dri mega drivers, for example) Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Matt Turner <mattst88@gmail.com>
2013-11-11tests: Fix make check for out of tree builds.Rico Schüller1-0/+1
Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Rico Schüller <kgbricola@web.de>
2013-07-22build: Add tests directories to SUBDIRSMatt Turner1-0/+2
Fixes a problem with distcheck.
2013-04-15build: Move src/mapi/mapi/* to src/mapi/Matt Turner2-3/+3
Tested-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-and-Tested-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-04-15build: Rename sources.mak -> Makefile.sourcesMatt Turner1-1/+1
For the sake of consistency. Tested-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-and-Tested-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-01-13tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).Johannes Obermayr1-3/+3
Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com>
2013-01-10Clean up .gitignore filesMatt Turner2-2/+0
2012-11-01dispatch: Include glheader.h in dispatch-related files.Paul Berry1-1/+1
This ensures that GLES1-only typedefs are available in these files. In a future patch, this will allow us to expand the dispatch table to include GLES1-only functions. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-01build: Use PTHREAD_LIBS and PTHREAD_CFLAGSMatt Turner1-1/+2
2012-09-27build: Link libglapi with pthreadsMatt Turner1-0/+2
NOTE: This is a candidate for the 9.0 branch. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=839060 https://bugs.gentoo.org/show_bug.cgi?id=435152 Reviewed-by: Adam Jackson <ajax@redhat.com>
2012-09-05mapi: Add shared-glapi-test to .gitignorePaul Berry1-0/+1
2012-08-08mesa/tests: Add tests for the generated shared-glapi dispatch tableIan Romanick3-0/+490
These are largely based on the src/mapi/glapi/tests. However, shared-glapi provides less external visibility into the dispatch table, so there is less to test. Also, shared-glapi does not implement _glapi_get_proc_name, so that test was removed. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2012-07-25shared-glapi: Install libglapi.so.0.0.0 and .0 links in lib/.Kenneth Graunke1-1/+3
We already provided these files on 'make install', but only created a 'libglapi.so' in the top-level lib/ convenience folder. We used to create all three, but at some point in the build system churn, it broke. Various applications (like the ES2 conformance suite) seem to link against libglapi.so.0, so without these links, setting LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH can lead to using /usr/lib/libglapi.so.0 with /home/whatever/libGL.so, which leads to API calls getting routed incorrectly (i.e. glCompileShader -> _mesa_LinkProgramARB), which leads to rage problems. Preserve developer sanity...install links. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2012-05-29shared-glapi: Don't forget to clean our built file.Eric Anholt1-0/+1
Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-03-29shared-glapi: Include from builddirKristian Høgsberg1-0/+1
Fixes out-of-tree builds. https://bugs.freedesktop.org/show_bug.cgi?id=47649
2012-03-21mapi: Use -no-undefined libtool flag in src/mapi/shared-glapi/Makefile.amJon TURNEY1-0/+1
Use -no-undefined to assure libtool that the library has no unresolved symbols at link time, so that libtool will build a shared library on platforms that require that all symbols are resolved when the library is linked. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-03-20Add Makefile to shared-glapi .gitignoreKenneth Graunke1-1/+1
2012-03-19shared-glapi: Convert to automakeKristian Høgsberg2-65/+25
This fixes a build problem where EGL links to libgbm.la, which encodes a relative path to it's libglapi.so dependency. The relative path breaks when the linker tries to resolve it from src/egl/main instead of src/gbm. Typically we silently fall back to the system libglapi.so, which is wrong and breaks when there isn't one. Morale of the story: don't mix mklib and libtool.
2012-01-26scons: Remove references to u_thread.cJosé Fonseca1-2/+8
For future reference: always run "git grep" on refactorings.
2011-11-29Remove windows kernel support code.José Fonseca1-51/+50
Not actively used. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-08-13glapi: add glapi_gen.mk to help header generationChia-I Wu1-5/+4
glapi_gen.mk is supposed to be included by glapi users to simplify header generation. This commit also makes es1api, es2api, and shared-glapi use it. Reviewed-by: Brian Paul <brianp@vmware.com> [olv: updated after reviewing to prefix all variables in glapi_gen.mk by glapi_gen]
2011-01-29mapi: Workaround a bug in makedepend.Chia-I Wu1-1/+6
makedepend would crash when a source includes a header indirectly, such as #define HEADER "some-header.h" #include HEADER Do not define HEADER (makedepend would detects this as an incomplete include) and add the dependency manually in the Makefile. This should hopefully fix bug #33374.
2011-01-24add machine generated files to .gitignoreTim Wiederhake1-0/+2
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-22scons: Add support for GLES.Chia-I Wu1-0/+116
GLES can be enabled by running scons with $ scons gles=yes When gles=yes is given, the build is changed in three ways. First, libmesa.a will be built with FEATURE_ES1 and FEATURE_ES2. This makes DRI drivers and libEGL support and advertise GLES support. Second, GLES libraries will be created. They are libGLESv1_CM, libGLESv2, and libglapi. Last, libGL or opengl32 will link to libglapi. This change is required as _glapi_* will be declared as __declspec(dllimport) in libmesa.a on windows. libmesa.a expects those symbols to be defined in another DLL. Due to this change to GL, GLES support is marked experimental. Note that GLES requires libxml2-python to generate some of its sources.
2011-01-20glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu1-1/+1
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-20glapi: Fix OpenGL ES 1.1 and 2.0 interop.Chia-I Wu1-0/+61
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.