summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* test: Add unit tests for epoxy_gl_version() and epoxy_glsl_version().version-unit-testEric Anholt2018-11-013-0/+96
| | | | | | Based on a bug report I got on IRC. v2: Drop glx includes, add to automake.
* ci: Update the Meson version for AppVeyorEmmanuele Bassi2018-10-051-6/+6
|
* Post-release version bump to 1.5.4Emmanuele Bassi2018-10-052-2/+2
|
* Merge pull request #193 from anholt/issue-1881.5.3Emmanuele Bassi2018-10-051-0/+2
|\ | | | | Ensure Autotools enables EGL-X11 support
| * Ensure Autotools enables EGL-X11 supportissue-188Emmanuele Bassi2018-10-041-0/+2
| | | | | | | | | | | | | | | | The X11 support in the Autotools build is missing the definition of the ENABLE_X11 pre-processor symbol. Without it, we're missing the X11 platform definitions for EGL. Fixes #188
* | Merge pull request #192 from anholt/meson-bumpEmmanuele Bassi2018-10-042-6/+2
|\ \ | | | | | | Require a newer version of Meson
| * | build: Drop conditional use of get_supported_link_arguments()meson-bumpEmmanuele Bassi2018-10-041-5/+1
| | | | | | | | | | | | Meson complains even in the face of a version check.
| * | Update minimum Meson versionEmmanuele Bassi2018-10-041-1/+1
| |/ | | | | | | | | We're using functionality introduced after 0.44, so we might as well update to a more recent version of Meson.
* | Merge pull request #189 from jbicha/gitignore-patchEmmanuele Bassi2018-10-041-1/+0
|\ \ | |/ |/| gitignore: Don't ignore .patch files
| * gitignore: Don't ignore .patch filesJeremy Bicha2018-09-181-1/+0
|/ | | | | This makes things a bit awkward for distros that keep their packaging in git and use patch files
* Merge pull request #184 from quink-black/devEmmanuele Bassi2018-07-251-2/+2
|\ | | | | | | | | dispatch_common: fix conditional compilation Symbols are always defined, but they are set to 0 or 1; this means we can't use `ifdef`.
| * dispatch_common: fix conditional compilationZhao Zhili2018-07-161-2/+2
|/
* dispatch: Fix GLES3 symbol lookupAdam Jackson2018-07-061-1/+1
| | | | | Looking for a symbol named "libGLESv2.so.2" is probably not going to work very well.
* Merge pull request #182 from anholt/issue-181Emmanuele Bassi2018-06-182-0/+2
|\ | | | | Define _GNU_SOURCE for strdup()
| * Define _GNU_SOURCE for strdup()issue-181Emmanuele Bassi2018-06-182-0/+2
| | | | | | | | | | | | | | | | | | The strdup() function is available on uClibc if _XOPEN_SOURCE_EXTENDED is defined; since we're using _GNU_SOURCE elsewhere to enable extended libc features, and uClibc will set _XOPEN_SOURCE_EXTENDED if _GNU_SOURCE is set, let's use that. Closes #181
* | Add a CGL test for the Epoxy APIEmmanuele Bassi2018-06-042-0/+84
| | | | | | | | Just like the one we use for EGL.
* | Add a CoreGraphics OpenGL test for macOSEmmanuele Bassi2018-06-042-0/+77
| | | | | | | | | | A basic test, to check that we're actually capable of working on macOS without GLX enabled.
* | ci: Dump the test log on failureEmmanuele Bassi2018-06-043-10/+28
| | | | | | | | | | We need to see what failed, as Meson's test harness will just show the result.
* | Merge pull request #178 from ebassi/osx-ciEmmanuele Bassi2018-05-305-19/+61
|\ \ | |/ |/| Fix build of Epoxy on macOS
| * ci: Enable builds on macOSEmmanuele Bassi2018-05-293-5/+42
| | | | | | | | | | Use Travis's macOS builder to check if Epoxy is building on that platform.
| * Use the appropriate symbols on __APPLE__Emmanuele Bassi2018-05-291-13/+18
| | | | | | | | | | | | | | | | | | | | When building on macOS we don't have access to EGL, and GLX support is conditional. We should ensure we're using the appropriate paths depending on the platform, and protect our use of macros to avoid undefined symbols. Closes: #176
| * Disable EGL on macOSEmmanuele Bassi2018-05-291-1/+1
|/ | | | EGL is not available on macOS, except through Objective C.
* Post-release version bump to 1.5.3Emmanuele Bassi2018-05-192-2/+2
|
* dispatch: Try harder to avoid calling the resolver1.5.2Adam Jackson2018-05-171-3/+5
| | | | | | | | | | | | | | Our caller may load (eg) epoxy_glAlphaFunc, which is a function pointer, and then call through that value multiple times. Until the caller re-examines the value of that function pointer, which is a copy relocation in the executable, repeated calls mean repeated work resolving the GL function. We can't make the caller reinspect the variable, but the resolver function can avoid doing redundant work. Fixes: anholt/libepoxy#171 Signed-off-by: Adam Jackson <ajax@redhat.com>
* Use -Bsymbolic-functions instead of -BsymbolicEmmanuele Bassi2018-05-172-3/+3
| | | | | | | | | | | | | Epoxy updates the function pointers in order to avoid calling the resolver multiple times, but with -Bsymbolic we're going to update the copy inside libepoxy, instead of the relocated copy in the code using libepoxy. This leads to libepoxy constantly querying the function resolver code instead of just once. We still want to avoid intra-library relocations for our functions, but we need to live with them for our global function pointers. See issue #171
* Use abort() instead of exit(1)Emmanuele Bassi2018-05-171-3/+3
| | | | | | We want to consistently handle exceptions for the internal state checks; calling `exit()` does not allow us to attach a debugger and get a proper trace.
* Merge pull request #172 from lantw44/masterEmmanuele Bassi2018-05-052-2/+6
|\ | | | | Fix dlwrap for FreeBSD
| * dlwrap: Add FBSD_1.0 version for FreeBSDTing-Wei Lan2018-05-051-1/+2
| | | | | | | | | | This fixes dlwrap_real_dlsym on FreeBSD, but tests still fail because we currently don't have libglvnd.
| * meson: Don't define _POSIX_C_SOURCE when dlvsym is foundTing-Wei Lan2018-05-041-1/+4
| | | | | | | | | | | | | | | | FreeBSD hides declarations of non-POSIX functions when POSIX macros, such as _POSIX_C_SOURCE or _XOPEN_SOURCE, is defined. This causes test/dlwrap.c to fail to compile because it uses dlvsym and asprintf. Fixes: #169
* | Merge pull request #170 from nwnk/epoxy-load-fooEmmanuele Bassi2018-05-054-47/+77
|\ \ | |/ |/| Make epoxy_load_{egl,glx} load libraries if they exist
| * dispatch: Load EGL/GLX provider lib from epoxy_has_{egl,glx}()Adam Jackson2018-05-014-28/+35
| | | | | | | | | | | | | | | | | | Now that we're being conservative about probing libraries, these entrypoints would not succeed unless the caller had already dlopened stuff themselves, or had explicitly linked against the provider library. Both of those are exactly not what we want. Signed-off-by: Adam Jackson <ajax@redhat.com>
| * dispatch: Stop implicitly loading libraries from do_dlsymAdam Jackson2018-05-011-32/+55
|/ | | | | | | Mostly this is to get all the calls to get_dlopen_handle nicely isolated so they're easier to reason about. Signed-off-by: Adam Jackson <ajax@redhat.com>
* Merge pull request #168 from nwnk/even-more-gentle-glx-detectionEmmanuele Bassi2018-04-301-44/+17
|\ | | | | Even more gentle glx detection
| * dispatch: Be even gentler about probing for GLXAdam Jackson2018-04-301-34/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dlsym(NULL) can only see (symbols in) libraries that are loaded RTLD_GLOBAL, but our dlopen()s are RTLD_LOCAL and probably so was the one the app did if it did one. So use RTLD_NOLOAD to probe for the library even if it's LOCAL, iff the lookup is non-fatal. Having done that, don't ever load any libraries on this path. We only perform this check while resolving rendering API functions, and the window system resolution paths already load the appropriate library if they need to. Since you have to have gone through a winsys to get a context, and our resolvers only run when a function is _called_, this would only introduce a failure mode if you tried to call a function without a context bound. Signed-off-by: Adam Jackson <ajax@redhat.com>
| * dispatch: Query the EGL context version when bootstrapping on GLESAdam Jackson2018-04-301-10/+10
|/ | | | | | | | | | | | | | We're about to change our dlopen paths to do RTLD_NOLOAD more aggressively. The issue then is we can create an EGL GLES context without libGLES* ever being loaded. test/egl_gles2_without_glx will fail in such a world: the first gentle probe for libGLESv2 will fail, then the less-gentle probe for libGLESv1_CM will be shot down by the test, and we exit. Fortunately by the time we've gotten to this point the context exists, so we can query its version via EGL instead. Signed-off-by: Adam Jackson <ajax@redhat.com>
* test/glx_public_api_core: Fail softer if core contexts aren't availableAdam Jackson2018-04-301-0/+10
| | | | | | | | | | | | If you've built Mesa with --disable-texture-float, and try to run the tests against Xvfb, glx_public_api_core will fail: creating a direct context with llvmpipe will fail because you don't have ARB_texture_float, and the internal fallback to an indirect context will fail because indirect only supports through 1.4. So the server will throw GLXBadFBConfig at you to say "I don't support core contexts", which we should interpret as a skip not a failure. Signed-off-by: Adam Jackson <ajax@redhat.com>
* meson: Fix the -z,relro flagEmmanuele Bassi2018-04-251-1/+1
| | | | We're missing a dash.
* Post-release version bump to 1.5.2Emmanuele Bassi2018-04-252-2/+2
|
* ci: Use envvars to control the build options1.5.1Emmanuele Bassi2018-04-251-4/+7
| | | | | Instead of calling docker multiple times ourselves, use the `env` stanza to control the build options.
* meson: Remove unsupported keywordEmmanuele Bassi2018-04-251-1/+1
| | | | The has_header() function does not have a `required` argument.
* meson: Conditionally test for linker flagsEmmanuele Bassi2018-04-251-6/+6
| | | | | | | | Meson 0.46 introduced a function to check for linker flags passed to the compiler; since the version is really brand new, I don't want to bump the dependency on Meson just yet, so we're going to conditionally use get_supported_link_arguments() only if we're building with Meson 0.46 or later.
* Remove the "EGL/GLX have different pointers" testsEmmanuele Bassi2018-04-123-300/+0
| | | | | | | The correct answer for systems with different EGL and GLX driver implementations is to use GLVND.` Closes #165
* Merge pull request #166 from nwnk/assertEmmanuele Bassi2018-04-121-1/+1
|\ | | | | dispatch: assert, not errx, when we have no context
| * dispatch: assert, not errx, when we have no contextAdam Jackson2018-04-121-1/+1
|/ | | | | | errx() calls exit(), you'd rather get a backtrace. Signed-off-by: Adam Jackson <ajax@redhat.com>
* Merge pull request #162 from 1ace/meson-simplifyEmmanuele Bassi2018-03-131-28/+6
|\ | | | | meson: simplify build_{glx,egl} logic
| * meson: simplify build_{glx,egl} logicEric Engestrom2018-03-131-28/+6
|/ | | | Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
* Merge pull request #156 from tschoonj/fix-gl-pkgconfig-macosEmmanuele Bassi2018-03-121-2/+2
|\ | | | | meson: do not add gl to pkg-config file on macOS
| * meson: do not add gl to pkg-config file on macOSTom Schoonjans2018-03-041-2/+2
| | | | | | | | | | | | | | Even though meson will find the dependency gl on macOS, this does not mean that there is a pkg-config file for it, as meson does not use pkg-config to establish its presence. It should therefore not be added to the libepoxy pkg-config file as a (private) requirement.
* | Merge pull request #159 from luzpaz/misc-typosEmmanuele Bassi2018-03-123-3/+3
|\ \ | | | | | | Trival misc. typo fixes
| * | Trival misc. typo fixesluz.paz2018-03-053-3/+3
| |/