summaryrefslogtreecommitdiffstats
path: root/src/mapi/shared-glapi
Commit message (Collapse)AuthorAgeFilesLines
* glapi: add missing visibility argsEric Engestrom2018-11-221-1/+1
| | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108829 Fixes: 3218056e0eb375eeda470 "meson: Build i965 and dri stack" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: Add tests to suitesDylan Baker2018-11-201-1/+2
| | | | | | | | | | | | | | | | Meson test has a concepts of suites, which allow tests to be grouped together. This allows for a subtest of tests to be run only (say only the tests for nir). A test can be added to more than one suite, but for the most part I've only added a test to a single suite, though I've added a compiler group that includes nir, glsl, and glcpp tests. To use this you'll need to invoke meson test directly, instead of ninja test (which always runs all targets). it can be invoked as: `meson test -C builddir --suite $suitename` (meson test has addition options that are pretty useful). Tested-By: Gert Wollny <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* scons: Remove gles option.Jose Fonseca2018-10-191-8/+1
| | | | | | | | It's broken, and WGL state tracker is always built with GLES support noawadays. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* meson: only build clapi tests when OpenGL is being builtDylan Baker2018-10-091-1/+1
| | | | | | | | Otherwise building just vulkan (among other things) will build these tests, pull in a bunch of stuff they shouldn't, and potentially fail to compile. Reviewed-by: Eric Engestrom <[email protected]>
* meson: Build with Python 3Mathieu Bridon2018-08-101-1/+1
| | | | | | | | | | | | Now that all the build scripts are compatible with both Python 2 and 3, we can flip the switch and tell Meson to use the latter. Since Meson already depends on Python 3 anyway, this means we don't need two different Python stacks to build Mesa. Signed-off-by: Mathieu Bridon <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: Use consistent style for testsDylan Baker2018-01-111-9/+10
| | | | | | | Don't use intermediate variables, use consistent whitespace. Acked-by: Eric Engestrom <[email protected]> Signed-off-by: Dylan Baker <[email protected]>
* meson: Use consistent styleDylan Baker2018-01-111-2/+4
| | | | | | | | | | | | | | | | | | | | Currently the meosn build has a mix of two styles: arg : [foo, ... bar], and arg : [ foo, ..., bar, ] For consistency let's pick one. I've picked the later style, which I think is more readable, and is more common in the mesa code base. v2: - fix commit message Acked-by: Eric Engestrom <[email protected]> Signed-off-by: Dylan Baker <[email protected]>
* meson: add variable for mapi_abi.py instead of going back up the treeEric Engestrom2017-11-231-1/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: standardize .so version to major.minor.patchEric Engestrom2017-11-071-0/+1
| | | | | | | | | | | | | | This `version` field defines the filename for the .so. The plan .so as well as .so.$major are always symlinks to this. Unless I'm mistaken, only the major is ever used, so this shouldn't matter, but for consistency with autotools (and in case it does matter), let's always have all 3 major.minor.patch components. (The soname isn't affected, and is always .so.$major) Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* mapi/shared-glapi/test: rework glapitable.h handlingEmil Velikov2017-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | Currently all the build systems but Meson generate the header in src/mapi/glapi. Meson cannot do that since: - it does not allow user control over the location of output files - moving the generation rule(s) causes explosion due to the unusual structure of glapi and friends - copying the file into the correct location is a non-trivial task To workaround the above deficiency in the least invasive way, let's adjust the #include directive and add a few -I flags to the autotools build. Note: both builddir and srcdir, should be used. Otherwise building from a release tarball fails badly. Cc: Dylan Baker <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Mark Janes <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* Revert "make: Fix test to be meson compatible"Emil Velikov2017-10-131-1/+1
| | | | | | | | | | | This reverts commit fc48ad24272799b154de37f6a944eb391bdbbb82. There commit reference the previous commit as it justification of changing behaviour. Although unlike the said commit, there's nothing obviously wrong there. I'll take a look close why Meson fails to pick the file, but in the interim reverting this commit fixes the normal distcheck target.
* meson: Build i965 and dri stackDylan Baker2017-10-091-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This gets pretty much the entire classic tree building, as well as i965, including the various glapis. There are some workarounds for bugs that are fixed in meson 0.43.0, which is due out on October 8th. I have tested this with piglit using glx. v2: - fix typo "vaule" -> "value" - use gtest dep instead of linking to libgtest (rebase error) - use gtest dep instead of linking against libgtest (rebase error) - copy the megadriver, then create hard links from that, then delete the megadriver. This matches the behavior of the autotools build. (Eric A) - Use host_machine instead of target_machine (Eric A) - Put a comment in the right place (Eric A) - Don't have two variables for the same information (Eric A) - Put pre_args at top of file in this patch (Eric A) - Fix glx generators in this patch instead of next (Eric A) - Remove -DMESON hack (Eric A) - add sha1_h to mesa in this patch (Eric A) - Put generators in loops when possible to reduce code in mapi/glapi/gen (Eric A) v3: - put HAVE_X11_PLATFORM in this patch Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* make: Fix test to be meson compatibleDylan Baker2017-10-091-1/+1
| | | | | | | | This has the same problem as the previous commit, generated headers and hardcoded paths. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mapi_abi.py: remove no longer used --mode optionEmil Velikov2017-05-041-1/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* scons: Take indirect gl_and_es_API.xml dependencies in consideration.Jose Fonseca2016-08-271-1/+2
| | | | | | Same as 26a8f76ba1a0229ee3332eaa6f1aea89d617cf3d. Trivial.
* scons: whitespace cleanupGiuseppe Bilotta2016-05-251-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 <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* Fix invalid extern "C" around header inclusion.Mark Janes2015-03-051-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 <[email protected]>
* mapi: remove unneeded ARRAY_SIZE #defineBrian Paul2015-03-041-0/+1
| | | | | | include util/macros.h instead. Reviewed-by: Jose Fonseca <[email protected]>
* mapi: add glapi-test and shared-glapi-test to .gitignoreJuha-Pekka Heikkila2014-12-161-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 <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* mapi: Inline shared-glapi/tests/Makefile.Matt Turner2014-08-181-19/+0
| | | | Reviewed-by: Kristian Høgsberg <[email protected]>
* mapi: Inline shared-glapi/Makefile.Matt Turner2014-08-181-34/+0
|
* automake: don't enable -Wl,--no-undefined on OpenBSDJonathan Gray2014-04-051-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 <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* automake: ask the linker to do garbage collectionEmil Velikov2014-03-311-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 <[email protected]> Acked-by: Matt Turner <[email protected]> (v1)
* automake: add -Wl,--no-undefined to all librariesEmil Velikov2014-03-311-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 <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* configure: Try pkg-config first for libselinuxKusanagi Kouichi2014-02-171-0/+1
| | | | | | | | v2 (Emil) Add SELINUX_CFLAGS in the respective locations Signed-off-by: Kusanagi Kouichi <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]> (v1)
* build: Share the all-local rule for linking libraries into the build dirKristian Høgsberg2014-01-291-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 <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* tests: Fix make check for out of tree builds.Rico Schüller2013-11-111-0/+1
| | | | | | Cc: "10.0" <[email protected]> Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Rico Schüller <[email protected]>
* build: Add tests directories to SUBDIRSMatt Turner2013-07-221-0/+2
| | | | Fixes a problem with distcheck.
* build: Move src/mapi/mapi/* to src/mapi/Matt Turner2013-04-152-3/+3
| | | | | | Tested-by: Emil Velikov <[email protected]> Reviewed-and-Tested-by: Andreas Boll <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* build: Rename sources.mak -> Makefile.sourcesMatt Turner2013-04-151-1/+1
| | | | | | | | For the sake of consistency. Tested-by: Emil Velikov <[email protected]> Reviewed-and-Tested-by: Andreas Boll <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).Johannes Obermayr2013-01-131-3/+3
| | | | Reviewed-by: Andreas Boll <[email protected]>
* Clean up .gitignore filesMatt Turner2013-01-102-2/+0
|
* dispatch: Include glheader.h in dispatch-related files.Paul Berry2012-11-011-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 <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* build: Use PTHREAD_LIBS and PTHREAD_CFLAGSMatt Turner2012-10-011-1/+2
|
* build: Link libglapi with pthreadsMatt Turner2012-09-271-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 <[email protected]>
* mapi: Add shared-glapi-test to .gitignorePaul Berry2012-09-051-0/+1
|
* mesa/tests: Add tests for the generated shared-glapi dispatch tableIan Romanick2012-08-083-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 <[email protected]>
* shared-glapi: Install libglapi.so.0.0.0 and .0 links in lib/.Kenneth Graunke2012-07-251-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 <[email protected]>
* shared-glapi: Don't forget to clean our built file.Eric Anholt2012-05-291-0/+1
| | | | | Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* shared-glapi: Include from builddirKristian Høgsberg2012-03-291-0/+1
| | | | | | Fixes out-of-tree builds. https://bugs.freedesktop.org/show_bug.cgi?id=47649
* mapi: Use -no-undefined libtool flag in src/mapi/shared-glapi/Makefile.amJon TURNEY2012-03-211-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 <[email protected]>
* Add Makefile to shared-glapi .gitignoreKenneth Graunke2012-03-201-1/+1
|
* shared-glapi: Convert to automakeKristian Høgsberg2012-03-192-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.
* scons: Remove references to u_thread.cJosé Fonseca2012-01-261-2/+8
| | | | For future reference: always run "git grep" on refactorings.
* Remove windows kernel support code.José Fonseca2011-11-291-51/+50
| | | | | | Not actively used. Reviewed-by: Brian Paul <[email protected]>
* glapi: add glapi_gen.mk to help header generationChia-I Wu2011-08-131-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 <[email protected]> [olv: updated after reviewing to prefix all variables in glapi_gen.mk by glapi_gen]
* mapi: Workaround a bug in makedepend.Chia-I Wu2011-01-291-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.
* add machine generated files to .gitignoreTim Wiederhake2011-01-241-0/+2
| | | | Signed-off-by: Brian Paul <[email protected]>
* scons: Add support for GLES.Chia-I Wu2011-01-221-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.
* glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu2011-01-201-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