- Apr 30, 2021
-
-
Matt Turner authored
-
- Apr 27, 2021
-
-
Kyle Brenneman authored
GLdispatch: Add a build option to disable entrypoint patching. Closes #217 See merge request !240
-
- Apr 21, 2021
-
-
Kyle Brenneman authored
Added a --disable-entrypoint-tracking configure option and an 'entrypoint-patching' meson option to disable libGLdispatch's entrypoint patching at build time. If entrypoint patching is disabled, then it #ifdef's out the mprotect call, and acts as if mprotect had failed, which causes libGLdispatch to skip trying to perform any patching. Fixes #217
-
- Feb 22, 2021
-
-
Kyle Brenneman authored
GLX: Fix a potential deadlock in OnDisplayClosed. Closes #213 See merge request glvnd/libglvnd!236
-
- Feb 11, 2021
-
-
Kyle Brenneman authored
Add .arm directives for the GLX entrypoint stubs. See merge request glvnd/libglvnd!233
-
- Nov 19, 2020
-
-
Kyle Brenneman authored
In OnDisplayClosed, unlock the __glXDisplayInfoHash lock before locking glxContextHashLock. In CommonMakeCurrent, it holds glxContextHashLock while it tries to take the __glXDisplayInfoHash lock, so if CommonMakeCurrent and OnDisplayClosed run at the same time, they could deadlock. To avoid that, OnDisplayClosed will set a new inTeardown flag in the __GLXdisplayInfoHash, then it will unlock the display hash before calling __glXDisplayClosed. After __glXDisplayClosed is finished, OnDisplayClosed will lock __glXDisplayInfoHash again long enough to remove the display from the hashtable. The inTeardown flag tells __glXLookupDisplay to return NULL, since after that point, nothing should be trying to look up the display. In principle, we could just remove the display from the hashtable up front, but then if something did try to look up the display, then __glXLookupDisplay would try to create a new __GLXdisplayInfo for it. Fixes glvnd/libglvnd#213
-
- Nov 18, 2020
-
-
Kyle Brenneman authored
egl: use device dispatch if at least one vendor suceeds See merge request glvnd/libglvnd!235
-
Ronan Pigott authored
Currently, in InitDeviceListInternal if any egl vendor fails to list its devices for any reason the construction of the device list is abandoned. That means that even if we have one vendor successfully serving the application, the failure of another vendor library will break any api calls related to egl devices. Instead, if a vendor fails queryDevicesEXT the device mapping logic should proceed as if it listed no devices. If the relevant device belongs to the failed vendor then the dispatch will still fail with EGL_BAD_DEVICE.
-
- Aug 12, 2020
-
-
Kyle Brenneman authored
Fix some duplicate code in configure.ac See merge request glvnd/libglvnd!232
-
- Aug 11, 2020
-
-
Kyle Brenneman authored
Add .arm and .thumb directives before and after the ARMv7 GLX dispatch stubs. The function addresses that get passed around don't take Thumb into account, so if they're compiled as Thumb, then they'd still get executed as ARM, which would cause them to crash a SIGILL.
-
- Aug 06, 2020
-
-
Kyle Brenneman authored
Combine the x86/x86-64 and stub type selection branches, since the same code works for either of them.
-
Kyle Brenneman authored
In configure.ac, there's a block that should have been moved to later in the file, but got copied instead. Remove the leftover duplicate.
-
- Jul 01, 2020
-
-
Kyle Brenneman authored
build: Support meson-0.49.2 See merge request glvnd/libglvnd!230
-
Philippe Coval authored
Ternary operator inside method call crashes the parser, so it's relocated outside. This change will help to build project under latest debian:10 Forwarded: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests Bug: https://github.com/NVIDIA/libglvnd/issues/198 Relate-to: https://github.com/mesonbuild/meson/issues/5003 Signed-off-by: Philippe Coval <rzr@users.sf.net> Change-Id: I18b6e8eca7564a6a252fff1ec6299311a3a92669
-
- Jun 25, 2020
-
-
Matt Turner authored
-
Matt Turner authored
Remove -Werror from default CFLAGS See merge request glvnd/libglvnd!229
-
Matt Turner authored
The set of warnings emitted are dependent on compiler version, optimization level, CPU architecture, dependency versions, etc. It's not tractable for a code base to be warning free under all circumstances, and it's widely agreed that -Werror should not be enabled by default. Given that it's trivial for developers to enable -Werror for autotools by settings CFLAGS=-Werror and for meson with -Dwerror=true we should not enable -Werror by default and require builders to disable it. See https://devmanual.gentoo.org/ebuild-writing/common-mistakes/index.html#-werror-compiler-flag-not-removed Reviewed-by: Eric Anholt <eric@anholt.net>
-
Matt Turner authored
The next commit will remove -Werror from the default autotools and meson builds, but we would like to continue treating warnings as errors in CI.
-
Matt Turner authored
-
- Jun 10, 2020
-
-
Kyle Brenneman authored
generate: Use xml.etree.ElementTree instead of cElementTree. Closes #204 See merge request glvnd/libglvnd!227
-
Kyle Brenneman authored
The cElementTree module is deprecated as of 3.3, so use the normal ElementTree module instead. Fixes glvnd/libglvnd#204
-
- May 20, 2020
-
-
Kyle Brenneman authored
meson: Treat warnings as errors. See merge request glvnd/libglvnd!226
-
Kyle Brenneman authored
In the Meson build, treat warnings as errors like we do in the autotools build.
-
- May 07, 2020
-
-
Kyle Brenneman authored
egl: sync with Khronos See merge request glvnd/libglvnd!225
-
Simon Ser authored
Updated the EGL headers and XML file to the Khronos repository, from commit 90b78b0662e2f0548cfd1926fb77bf628933541b.
-
- Feb 21, 2020
-
-
Matt Turner authored
-
Matt Turner authored
x86: Add ENDBR at function entries See merge request glvnd/libglvnd!223
-
Intel Control-flow Enforcement Technology (CET): https://software.intel.com/en-us/articles/intel-sdm contains shadow stack (SHSTK) and indirect branch tracking (IBT). When CET is enabled, ELF object files must be marked with .note.gnu.property section. Also when IBT is enabled, all indirect branch targets must start with ENDBR instruction which is NOP on non-CET processors. This fixes: glvnd/libglvnd#202
-
- Jan 24, 2020
-
-
Matt Turner authored
tests: Remove an include for GL/glxint.h. See merge request glvnd/libglvnd!220
-
- Jan 17, 2020
-
-
Kyle Brenneman authored
tests: Add _GLOBAL_OFFSET_TABLE_ to PLATFORM_SYMBOLS See merge request glvnd/libglvnd!222
-
- Jan 16, 2020
-
-
Matt Turner authored
On PA-RISC, the _GLOBAL_OFFSET_TABLE_ symbol is always exposed. See https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=bfd/elf32-hppa.c;h=2e653083ce05a77b3e33c056e2f9a51b327c2b22#l1001 https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=blob;f=sysdeps/hppa/dl-machine.h;h=9e98366ea3b09612d54a3e956d5c35c1bdc86560#l80
-
- Jan 15, 2020
-
-
Kyle Brenneman authored
Meson: Add datadir and datarootdir variables to libglvnd.pc. See merge request glvnd/libglvnd!221
-
- Jan 10, 2020
-
-
Kyle Brenneman authored
Add the missing datadir and datarootdir variables to the libglvnd.pc file that Meson generates.
-
- Dec 17, 2019
-
-
Kyle Brenneman authored
Fix Meson on armel See merge request glvnd/libglvnd!219
-
Eric Engestrom authored
egl: avoid hard-coding the path to `python` See merge request glvnd/libglvnd!216
-
- Dec 13, 2019
-
-
Kyle Brenneman authored
Use xvfb-run in CI scripts See merge request glvnd/libglvnd!212
-
Kyle Brenneman authored
GL/glxint.h isn't a standard GLX header, and isn't needed for anything, so just remove it.
-
Kyle Brenneman authored
When building for armel, Meson's cpu() and cpu_family() strings aren't always sufficient. Instead, try to check for some predefined macros to determine if it's building for ARMv7 or something older.
-
Kyle Brenneman authored
-
Kyle Brenneman authored
Change the CI scripts to use xvfb-run instead of running Xvfb directly. That avoids a potential race condition, where a test could fail because Xvfb hasn't started listening for connections yet. xvfb-run will wait for Xvfb to be ready before it runs any other programs. That also simplifies error handling, because the CI scripts can just use "set -e" instead of having to store the exit code, kill Xvfb, and then check for an error.
-