| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \
| | |
| | | |
Improvements to the test suite
|
| | | |
| | |
| | |
| | |
| | |
| | | |
As per the previous commit, instead of assuming that Apple doesn't have dlvsym
but everywhere else does, actually check for dlvsym() existing as that function
is glibc-specific.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
build_apple was introduced in 756dca as a proxy for the fact that Apple's libc
doesn't have dlvsym(), which is glibc-specific so also isn't present in other
libc implementations such as musl.
Instead of detecting whether we are building for Apple or not, just probe the to
see if we have dlvsym.
|
| |/ / |
|
| |/
|
|
|
| |
The NVIDIA driver calls dlopen with NULL as filename; strcmp is not
NULL-safe.
|
| | |
|
| |
|
|
|
|
|
| |
We have a few public entry points that we ought to test properly.
Using the EGL API is easier to set up a test case, so let's just do
that.
|
| |
|
|
|
|
|
|
|
|
|
| |
The GL version minor numbers haven't hit 10, yet, but if they do we're
going to get non-sensical encoded versions when calling
epoxy_gl_version(), like we're getting right now, with the GLSL version
numbers.
If the minor number is larger than the multiplication factor used for
the major number, we should bump up the factor to the next order of
magnitude.
|
| |
|
|
|
|
|
| |
Instead of iterating over the list of compiler flags, we should use the
get_supported_arguments() method of the compiler object, which does it
for us — and maybe, in the future, will be optimised to do the checks in
parallel.
|
| |
|
|
| |
The glGetString() function takes a GLenum, so we should too.
|
| |
|
|
| |
We require a newer version than 0.39.1.
|
| |
|
|
|
|
|
|
| |
When building on Android we end up in the Linux branch of the symbol
loading logic, but the __ANDROID__ conditional does not have the
OPENGL_LIB symbol defined, and that breaks the build.
Closes: #152
|
| | |
|
| |
|
|
|
|
|
|
| |
Epoxy should provide a function that returns the version of the GL
shading language in use, in the same vein as it allows to get the
version of GL.
Closes: #145
|
| |
|
|
|
|
|
| |
The `enable-` prefix is an Autotool-ism; idiomatic naming for Meson
projects should just use the name of the option, and rely on the type
to convey meaning, especially because Meson does not have `disable`
aliases that avoid the explicit `enable-foo=no` cases.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Epoxy can be compiled with GLX and X11 native resources on EGL. We can
disable the former, but the latter is always built in when enabling EGL
support.
Some platforms do not support X11 at all, so we need a way to disable
X11 when configuring Epoxy.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the system we're building Epoxy on has GL and EGL pkg-config modules,
then we should add them to the Requires.private field of the pkg-config
file.
The Requires.private field does not contribute to the linker flags
generated by pkg-config, unless we're doing a static build; it does,
however, contribute to the compiler flags generated by pkg-config, which
means that platforms that specify ad hoc compiler flags for their GL and
EGL implementations via pkg-config will be able to propagate them
through Epoxy.
Closes: #139
|
| |
|
|
|
|
| |
We generate the pkg-config file using Meson's pkgconfig module as of
commit b1119d8fcfe646f3ff108a3bf3685dfce6f049e4, but we're still setting
up a configuration_data object.
|
| |
|
|
|
| |
There's no real benefit in hosting the Dockerfile in an external
repository.
|
| |
|
|
|
| |
- OpenGL: dc62ac39930726183c0f0ad007e4ce6499597664
- EGL: 0fa0d37da846998aa838ed2b784a340c28dadff3
|
| |
|
|
|
|
|
|
| |
Instead of using a template file, and filling in the blanks, we can use
the Meson pkgconfig module to generate the pkg-config file mostly from
the library object itself — including dependencies and flags.
The template file remains in tree for the Autotools build.
|
| |
|
|
|
|
| |
Use the latest stable release; we're going to use its features to
generate the pkg-config file for Epoxy, instead of using a template
file.
|
| |
|
|
|
|
| |
The common EGL testing code uses XOpenDisplay(), which means we need to
explicitly include the Xlib.h header file, instead of relying on
something else stringing it along.
|
| |
|
|
|
|
|
| |
We currently run CI on Linux only, given that the macOS builders in
Travis are always fairly overwhelmed; thus, there's no need to
complicate the Travis script with a conditional that is always going to
be true.
|
| |\
| |
| | |
Fix printf family usage
|
| | |
| |
| |
| |
| |
| |
| | |
This avoids any unnecessary allocations when simply passing static strings
to be printed onto stderr, and uses the simpler fputs mechanism.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This mutes compiler warnings for `dlwrap.c` by ensuring we actually check
the return status of the `asprintf` call. At this point in the test suite
our possible failure here is only memory, so we'll abort.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
|
| |\ \
| | |
| | | |
test: Fix respecting $(DLOPEN_LIBS)
|
| |/ /
| |
| |
| |
| | |
Fix two tests that are linking to -ldl directly to use DLOPEN_LIBS. This
fixes failing test build on Gentoo/FreeBSD.
|
| |\ \
| | |
| | | |
test: Fix dlwrap for glvnd
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Add libOpenGL to the list of libraries we'll intercept. This is harmless
if glvnd is not available as the dlopen(libOpenGL.so) will fail, but
without this we can't intercept glGetString, which the
egl_and_glx_different_pointers_glx test needs to be able to do.
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
| |\ \
| |/
|/| |
Check __ANDROID__ define when guarding Android code
|
| |/
|
|
|
|
| |
Both gcc and clang define __ANDROID__ but not ANDROID when targeting Android so
at least with the Meson build, and an NDK r16 toolchain, testing on
Android failed without this change.
|
| |\
| |
| | |
Expose epoxy_extension_in_string() in public headers
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The EGL_EXT_device_query extension introduces the
eglQueryDeviceStringEXT() function, which can be used with an
EGLDeviceEXT enumeration to receive an OpenGL extension string
containing all of the device extensions supported by it. From the
EGL_EXT_device_query spec's amendments to section "3.2 Devices" after
"3.1 Errors":
const char *eglQueryDeviceStringEXT(EGLDeviceEXT device,
EGLint name);
returns a pointer to a static, zero-terminated string describing
some aspect of the specified EGLDeviceEXT. <name> must be
EGL_EXTENSIONS.
Since OpenGL extension parsing is rather simple, and we could always run
into additional cases similar to this one in the future, we expose the
shared epoxy_extension_in_string() function in libepoxy's public headers
so that users can save themselves the hassle of having to write their
own extension parser.
Signed-off-by: Lyude Paul <thatslyude@gmail.com>
|
| |\ \
| | |
| | | |
meson: Define visibility flags for static builds
|
| | | |
| | |
| | |
| | |
| | | |
It's used unconditionally, but defined only for shared builds. For
static builds define it but don't populate it.
|
| |\ \ \
| |/ /
|/| | |
Fix pointer mismatch bug on Windows 10.
|
| |/ /
| |
| | |
We must explicitly cast to void**
|
| | |
| |
| |
| | |
We added new API, so we need a new version.
|
| |\ \
| | |
| | | |
RFC: Add epoxy_set_resolver_failure_handler()
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
| |\ \ \
| | | |
| | | | |
GLEW supports EGL as of version 2.0.0 onwards
|
| | | |/
| |/| |
|
| |\ \ \
| |/ /
|/| | |
dispatch: Fix the libOpenGL soname
|
| |/ /
| |
| |
| | |
Brown-paper-bag-for: Adam Jackson <ajax@redhat.com>
|
| |\ \
| |/
|/| |
Add fallback definition for EGL_CAST
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The EGL API update from d11104f2b5 introduced a dependency on the
EGL_CAST() macro, provided by an updated eglplatform.h. Given that we
don't provide eglplatform.h, add a fallback definition for if we're
building against Mesa 17.0.x or similar.
https://bugs.gentoo.org/show_bug.cgi?id=623926
|
| |\ \
| |/
|/| |
Try even harder to not load GLX
|