aboutsummaryrefslogtreecommitdiffstats
path: root/egl
Commit message (Collapse)AuthorAgeFilesLines
* egl: fix typo "Backards"Maxime Roussin-Bélanger2020-12-171-6/+6
|
* Add Meson buildEmmanuele Bassi2020-01-101-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meson is a next generation build system, simpler than Autotools and also faster and more portable. Most importantly, it will make integrating ASan easier in CI. The goal is to maintain feature parity of the Meson build with the Autotools build, until such time when we can drop the latter. Add a script which generates the desired Doxygen configuration for our various output formats and executes it using that configuration. This is not something Meson can or should do. Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/80 [daniels: Changed to bump version, use GitLab issues URL, remove header checks not used in any code, remove pre-pkg-config Expat support, added missing include paths to wayland-egl and cpp-compile-test, added GitLab CI. Bumped version, removed unnecessary pkg-config paths.] [daniels: Properly install into mandir/man3 via some gross paramaterisation, generate real stamp files.] Pekka: - squashed patches - removed MAKEFLAGS from meson CI - remove unused PACKAGE* defines - fix up scanner dependency handling - instead of host_scanner option, build wayland-scanner twice when cross-compiling - changed .pc files to match more closely the autotools versions - reorder doxygen man sources to reduce diff to autotools - fix pkgconfig.generate syntax warnings (new in Meson) - bump meson version to 0.47 for configure_file(copy) and run_command(check) - move doc tool checks into doc/meson.build, needed in more places - make all doc tools mandatory if building docs - check dot and doxygen versions - add build files under doc/publican - reindent to match Weston Meson style Simon: - Remove install arg from configure_file - Don't build wayland-scanner twice during cross-build - Fix naming of the threads dependency - Store tests in dict - Add missing HAVE_* decls for functions - Remove unused cc_native variable - Make doxygen targets a dict - Make dot_gv a dict - Use dicts in man_pages - Make decls use dicts - Make generated_headers use dicts - Align Meson version number with autotool's Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> Signed-off-by: Simon Ser <contact@emersion.fr>
* wayland-egl: Ignore underscored symbols in ABI checkDaniel Stone2018-03-201-9/+1
| | | | | | | | | | | | Rather than a hard-coded list of platform symbols, just ignore anything prefaced with an underscore. This fixes breakage on ARM, which declares several slightly different platform symbols to x86. Signed-off-by: Daniel Stone <daniels@collabora.com> Fixes: 21b1f22eb056 ("wayland-egl: enhance the symbol test") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105620 Cc: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
* wayland-egl: Make symbol test fail on failureDaniel Stone2018-03-191-6/+21
| | | | | | | | | | | | | | | | | | The previous rewrite of the wayland-egl ABI checker introduced checks for removed symbols as well as added symbols, but broke some failure conditions. Add an explict return-code variable set in failure paths, rather than chaining or conditions. If we cannot find the binary or nm, we regard this as an error condition, rather than test failure. v2: Don't test if we can execute $NM. Signed-off-by: Daniel Stone <daniels@collabora.com> Reported-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Fixes: 21b1f22eb056 ("wayland-egl: enhance the symbol test") Cc: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* wayland-egl: bump the version number to 18.1.0Emil Velikov2018-03-191-1/+1
| | | | | | | | | | | | | Seems like I was overoptimistic with my earlier assumption, namely: "... 17.3.x should be the last version that ships the library." Mesa 18.0.0 and its wayland-egl is about to be released any time soon, so bump the number since it must no be smaller. As soon as we get a wayland release I'll drop the Mesa copy but for now. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* wayland-egl: enhance the symbol testEmil Velikov2018-03-191-8/+28
| | | | | | | | | | | | | | | The current test had a few fall-outs: - it was checking only for T (.text) symbols - did not consider symbol removal Fix that by fetching all the symbols and doing a bidirectional check - for added and removed symbols. Error out with informative message for each case. v2: Rebase on top of $NM patch. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* wayland-egl: fail the symbol check if lib is missingEmil Velikov2018-03-191-1/+9
| | | | | | | | | | | Based on a similar patch (in Mesa) by Eric Engestrom. v2: Rebase on top of $NM patch v3: Rebase Reviewed-by: Eric Engestrom <eric@engestrom.ch> (v1) Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* wayland-egl: use correct `nm` path when cross-compilingEmil Velikov2018-02-231-1/+1
| | | | | | | | | Inspired by Heiko Becker and Eric's work in libdrm and Mesa respectively. Cc: Eric Engestrom <eric.engestrom@imgtec.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* wayland-egl: rename wl_egl_window::private to driver_privateEmil Velikov2018-02-093-6/+6
| | | | | | | | | | | | | | | | | | | | private is a reserved keyword in C++. Thus if one is to have a backend driver written in said language build will fail as below: .../wayland-egl-backend.h:56:8: expected unqualified-id before ‘private’ Rename it to driver_private and update the test. NOTE: version bump is not required since: - this is a pure API change, ABI is identical - hardware drivers already require [minor] changes to move to the upstream wayland-egl-backend.h Cc: Arnaud Vrac <rawoul@gmail.com> Cc: Miguel A . Vico <mvicomoya@nvidia.com> Suggested-by: Arnaud Vrac <rawoul@gmail.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Miguel A Vico Moya <mvicomoya@nvidia.com>
* wayland-egl: move the wayland-egl{, -core}.h headers to egl/Emil Velikov2018-02-092-0/+92
| | | | | | | Now we have all the wayland-egl bits in a single place. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Arnaud Vrac <avrac@freebox.fr>
* wayland-egl-symbols-check: pass the DSO name via the build systemEmil Velikov2018-02-091-1/+1
| | | | | | | | | The location of the file is build system specific so, keep it there. Cc: Daniel Stone <daniels@collabora.com> Suggested-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Arnaud Vrac <avrac@freebox.fr>
* wayland-egl: add a note about keeping the backend version in syncEmil Velikov2018-02-091-0/+4
| | | | | Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Arnaud Vrac <avrac@freebox.fr>
* wayland-egl: introduce wayland-egl-backend.pcEmil Velikov2018-02-091-0/+9
| | | | | | | | | | | | | | | | File will be installed alongside the backend header. This way vendor implementations have enough information about the interface and they can build their backend/driver library accordingly. Cc: Miguel A. Vico <mvicomoya@nvidia.com> Cc: James Jones <jajones@nvidia.com> Cc: Daniel Stone <daniels@collabora.com> Cc: duncan-roe <duncan_roe@optusnet.com.au> Cc: Takanari Hayama <taki@igel.co.jp> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Miguel A Vico Moya <mvicomoya@nvidia.com> Reviewed-by: Arnaud Vrac <avrac@freebox.fr>
* wayland-egl: correct wayland-egl.pc description/versionEmil Velikov2018-02-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop the "Mesa" part from the commit message and change the version to 17.4.0. The number bears references from its Mesa heritage. Currently Mesa provides 17.2.x while 17.3.x should be the last version that ships the library. Some version numbers of wayland-egl.pc providers and users. The latter is taken from Ubuntu 17.04. Providers: - Mali: 7.10 - Mesa: 17.2.2 Users: - retroarch: NA - qtwayland5: NA - mpv, libmpv1: 9.0 - mesa-utils-extra: NA - weston, libweston-1-0: NA - libwaffle-1-0: 9.1 - libsdl2-2.0-0: NA - libgstreamer-plugins-bad1.0-0: autotools 9.0, meson 1.0 - libglfw3-wayland: NA - kwin-wayland, kwin-wayland-backend-wayland: NA? - glmark2-wayland, glmark2-es2-wayland: NA - libwebkit2gtk-4.0-37, libwebkit2gtk-4.0-37-gtk2, (webkit overall): NA - libgtk-3-0 (gtk overall): NA - libcogl20 (cogl overall): 1.0.0 v2: Bump the version to 17.4.0 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Arnaud Vrac <avrac@freebox.fr>
* wayland-egl: reuse the existing WL_EXPORT macroEmil Velikov2018-02-091-10/+5
| | | | | | | | | | There's little point if redefining new one ourselves. Just reuse the one that's already available. Cc: Daniel Stone <daniels@collabora.com> Suggested-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Arnaud Vrac <avrac@freebox.fr>
* wayland-egl: import libwayland-egl.so frontend library from MesaEmil Velikov2018-02-095-0/+434
Currently the client-facing libwayland-egl API is defined by a header file shipped by Wayland, but the implementation is left to each vendor. This can cause collisions when multiple implementations are installed on the same system. Importing the implementation into Wayland with a stable and versioned driver-facing ABI allows multiple drivers to coexist on the same system. Pull the sample implementation from Mesa commit 677edff5cfd ("wayland-egl: rework and simplify wl_egl_window initialization") It has been used by the Mesa open source drivers, NVIDIA and others[1]. v2: Reword commit message, rebase on top of newer Mesa. [1] https://github.com/thayama/wayland-egl Cc: Miguel A. Vico <mvicomoya@nvidia.com> Cc: James Jones <jajones@nvidia.com> Cc: Daniel Stone <daniels@collabora.com> Cc: duncan-roe <duncan_roe@optusnet.com.au> Cc: Takanari Hayama <taki@igel.co.jp> Suggested-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Miguel A Vico Moya <mvicomoya@nvidia.com> Reviewed-by: Arnaud Vrac <avrac@freebox.fr>