Commits on Source (70)
-
Eric Engestrom authored
A typo made it depend on EGL instead. Fixes: ab9b5fcc ("Install the GL/GLES/GLX/EGL header files.")
-
Kyle Brenneman authored
include: install GL headers when GL is enabled See merge request glvnd/libglvnd!190
-
Laurent Carlier authored
Because mesa can be built without glesv1 so it breaks autodetection. Fixes: https://bugs.archlinux.org/task/64032 ('mesa-demos doesn't build, unable to find GLES/gl.h')
-
Kyle Brenneman authored
Add a configure option to disable glesv1 or glesv2 See merge request glvnd/libglvnd!191
-
Adam Jackson authored
commit de3a5e867d906a04a5c37ee0d89e7f01d3598eb9 Author: Ken Russell <kbrussel@alum.mit.edu> Date: Sat Oct 12 05:44:43 2019 -0700 Reserve enums 0x34A0..0x34AF for ANGLE project. (#93) Closes: https://gitlab.freedesktop.org/glvnd/libglvnd/issues/193
-
Kyle Brenneman authored
egl: Sync with Khronos Update egl.h and egl.xml to upstream commit de3a5e867d906a04a5c37ee0d89e7f01d3598eb9. Closes #193 See merge request glvnd/libglvnd!192
-
Kyle Brenneman authored
Updated GL/gl.h to match the copy from Mesa at commit a0829cf23b307ca44ab8c4505974fb7c8d71a35a.
-
Lepton Wu authored
This skips touching %ebx most times and the same change for mesa shows that glGetString performance increased from 114M/s to 120M/s on my desktop.
-
Lepton Wu authored
This save one call frame and a similar change for mesa shows that glGetString performance increased from 118M/s to 128M/s on my desktop.
-
Kyle Brenneman authored
Update GL/gl.h to match Mesa. Closes #194 See merge request glvnd/libglvnd!195
-
Kyle Brenneman authored
Add a .gitlab-ci.yml file to run libglvnd's unit tests. The "build-distcheck" target will simply run "make distcheck". That should also cover running the unit tests for the x86-64 TLS build. The "build-i386", "build-i386-tsd", and "build-x86-64-tsd" targets will build and test the x86 TLS and TSD builds and the x86-64 TSD build. The pure C stubs aren't covered yet, but they'll be easy to add once the unit tests are fixed for them. ARM and PPC builds also aren't covered yet.
-
Matt Turner authored
The one in Mesa is empty but appears to come from some Khronos repository, but gl3ext.h has never existed in the OpenGL-Registry repository on github. Provide it for backwards compatibility. Closes: https://gitlab.freedesktop.org/glvnd/libglvnd/issues/195
-
Kyle Brenneman authored
Provide an empty GLES3/gl3ext.h header Closes #195 See merge request glvnd/libglvnd!200
-
Kyle Brenneman authored
Add GitLab CI configuration See merge request glvnd/libglvnd!198
-
Kyle Brenneman authored
Define a new USE_DISPATCH_ASM macro in config.h if assembly dispatch stubs are enabled. Update the GLX entrypoint generation to use that macro instead of checking all of the USE_*_ASM macros. This is less likely to break if we add assembly support for another architecture. In addition, it'll make it easier to skip any unit tests that depend on being able to generate new dispatch stubs.
-
Kyle Brenneman authored
In testgldispatch, if it's testing generating or patching entrypoints, then check if assembly support is enabled, and skip the test if it's not.
-
Kyle Brenneman authored
Added a new test, testgldispatchthread, which tests some of the thread-handling stuff in libGLdispatch.
-
Kyle Brenneman authored
Added a separate test program testglxgetprocaddress_genentry to test the GLX entrypoint generation by itself instead of lumping that in with testglxgetprocaddress.
-
Kyle Brenneman authored
It now calls glXGetClientString up front to load the dummy vendor library. The GLX entrypoint generation path has its own test now, so this test can now work on builds without assembly support. It now uses glXQueryServerString to test calling a core GLX function. That's a better test because it returns a predictable value, so we can make sure that it actually gets dispatched to the vendor library, instead of just checking that it doesn't crash. For testing looking up an OpenGL function, it'll call glXGetProcAddress and directly call __glDispatchGetProcAddress, and make sure that it gets the same pointer from both. It doesn't try to call the function, since OpenGL dispatching has its own tests.
-
Kyle Brenneman authored
Set the environment variable __GLX_FORCE_VENDOR_LIBRARY_0 for all of the GLX tests instead of __GLX_VENDOR_LIBRARY_NAME. Individual tests can force libGLX to load a vendor library early by calling glXGetClientString or similar.
-
Kyle Brenneman authored
Change glMakeCurrentTestResults to a GLX function instead of a GL function, so that it can be dispatched using a vendor-provided stub instead of having to generate one. Remove the testglxmclate test, and the --late option in testglxmakecurrent, since that only makes sense when MakeCurrentTestResults was a GL function.
-
Kyle Brenneman authored
The testgldispatch tests cover the entrypoint patching code, so the testpatchentrypoints test is redundant.
-
Kyle Brenneman authored
Now that the unit tests can handle builds without assembly support, add builds with C dispatch stubs to .gitlab-ci.yml.
-
Kyle Brenneman authored
Fix for unit tests with no assembly support Closes #154 See merge request glvnd/libglvnd!180
-
Kyle Brenneman authored
The glvnd_genentry code isn't used outside of GLX.
-
Kyle Brenneman authored
Instead of allocating pages of memory for the dynamic dispatch stubs, define them at build time like the static stubs. The dynamic stubs are identical to the static ones, so we can use the same code to define both the static and dynamic stubs at compile time. Removed entry_generate(). entry_generate_default_code is now only used to restore entrypoints after patching. Aside from simplifying things by not having a separate allocation for the dynamic stubs, this should also allow the dispatch stubs to function properly in both processes after a call to fork.
-
Kyle Brenneman authored
Remove the writeEntry variables in the various entry_generate_default_code functions, since it doesn't have separate writable and executable mappings.
-
Kyle Brenneman authored
Changed the interface in stub.h to work with function indexes instead of mapi_stub pointers. The mapi_stub structure is now an internal detail in stub.c. The mapi_stub struct now only contains a name and a slot. Removed the dynamic_stubs array. Instead, it just keeps an array of the function names for each dynamic stub. It now looks up the function pointers with entry_get_public, and the slot number is always equal to the index, so the name is the only thing it needs to keep track of.
-
Kyle Brenneman authored
entry_get_patch_addresses now takes an index instead of a function pointer.
-
Kyle Brenneman authored
Move the function entry_get_patch_addresses into entry_common.c for all architectures. Now that it takes an index instead of a pointer, ther's no longer a difference between ARMv7 and everything else.
-
Kyle Brenneman authored
entry_get_patch_address now returns a single address, since it doesn't have separate writable and executable mappings anymore.
-
Kyle Brenneman authored
For better consistency with the rest of GLdispatch, entry_generate_default_code now takes the index of the stub instead of a function pointer.
-
Kyle Brenneman authored
In stub_add_dynamic, use all 4096 dynamic dispatch stubs. There's no longer any need to leave the last one empty.
-
Kyle Brenneman authored
Rewrote the generated dispatch stubs for GLX so that they're all defined at compile time, instead of generating them at runtime. Insted of patching the address of the vendor-provided functions into the assembly stubs, it will now keep a separate array of function pointers. The assembly stubs will look up the approprite entry in that array and jump to it. As a result, the assembly code is entirely static, so we don't need to deal with generating or modifying executable code at runtime.
-
Kyle Brenneman authored
-
Kyle Brenneman authored
GLX: Define the GLX dispatch stubs at compile time (v2) See merge request glvnd/libglvnd!146
-
Kyle Brenneman authored
GLdispatch: Define all dispatch stubs at compile time (v2) See merge request glvnd/libglvnd!145
-
Kyle Brenneman authored
GLdispatch: Improve the x86 TLS stubs performance. See merge request glvnd/libglvnd!196
-
Kyle Brenneman authored
GLdispatch: Improve the x86 tsd stubs performance. See merge request glvnd/libglvnd!197
-
Kyle Brenneman authored
Fixed some missing static libraries for the EGL dummy vendor library. Added Xlib to the GLX dummy library. Added the --no-undefined flag for both of the dummy vendor libraries.
-
Kyle Brenneman authored
Remove all of the functions related to allocating executable memory, since they're no longer needed.
-
Kyle Brenneman authored
Removed the rest of the assembly code generation from libGLdispatch. Since we don't need to generate dispatch stubs at runtime for extension functions anymore, the code generation is now only used to restore the dispatch stubs after a vendor library patches them. Now, instead of reconstructing each dispatch stub, libGLdispatch will just allocate a copy of all of the entrypoints before patching them, and then it uses memcpy to restore them.
-
Kyle Brenneman authored
entry_init_public() is empty on all platforms, so just remove it.
-
Kyle Brenneman authored
Change the configure script to define the EGL_NO_X11 macro unconditionally, so that the EGL headers don't try to include the Xlib headers. Regardless of whether --disable-x11 is used, libglvnd doesn't need X11-specific typedefs for EGLNativeDisplayType et. al.
-
Kyle Brenneman authored
EGL: Set EGL_NO_X11 macro if --disable-x11 is used. See merge request glvnd/libglvnd!193
-
Aaron Plattner authored
tests: Fix some missing libraries See merge request glvnd/libglvnd!201
-
Dylan Baker authored
This resolves issues with creating a docker image.
-
Eric Engestrom authored
gitlab-ci: Update the wayland-template version See merge request glvnd/libglvnd!207
-
Kyle Brenneman authored
Fix a bug in gen_egl_dispatch.py which caused libEGL.so to export two extension functions, eglCreatePlatformWindowSurfaceEXT and eglCreatePlatformPixmapSurfaceEXT. Fixes https://gitlab.freedesktop.org/glvnd/libglvnd/issues/196
-
Kyle Brenneman authored
EGL: Fix two exported extension functions Closes #196 See merge request glvnd/libglvnd!204
-
Dylan Baker authored
Many project in the freedesktop graphics space use editorconfig files as a way to standardize style in an editor agnostic way. This one configures all of the files current in libglvnd (I looked at the .c and .h files and they seem to all use 4 spaces for indent). Because it seemed everything used 4 spaces I just set that to the default and overrode as necessary.
-
Dylan Baker authored
Since right now it tests the same thing as the patch test
-
Eric Engestrom authored
Add .editorconfig file See merge request glvnd/libglvnd!205
-
Dylan Baker authored
These use the symbol-check.py script from mesa, and should help to ensure that glvnd doesn't start exposing/hiding new symbols. It's also useful to double check that meson and autotools are doing the same thing.
-
Kyle Brenneman authored
Test changes from the meson MR See merge request glvnd/libglvnd!206
-
Kyle Brenneman authored
Add a '-l' flag to testgldispatch, which tells it to test a generated stub at the very end of the dispatch table. On PPC, looking up a function past index 4096 requires more than just a simple register+immediate load, so this makes sure that it's correct.
-
Kyle Brenneman authored
Remove runtime assembly generation See merge request glvnd/libglvnd!202
-
Matt Turner authored
Add unit tests for the end of GLdispatch's dispatch table. See merge request glvnd/libglvnd!203
-
Kyle Brenneman authored
Add a '-l' flag to testgldispatch, which tells it to test a generated stub at the very end of the dispatch table. On PPC, looking up a function past index 4096 requires more than just a simple register+immediate load, so this makes sure that it's correct.
-
Dylan Baker authored
autotools force includes this with `-include config.h`, so it's unnecessary to make compilation work. Meson doesn't generate a config.h so this will break meson compilation.
-
Dylan Baker authored
Theres a couple of things that this meson build system does differently than autotools. It doesn't use a config.h file, it just puts #defines on the command line with -D. It also does all of the code generation in the generated folder, simply because it's simpler to do that. On my 2 core / 4 thread KBL system: autotools (no ccache): sh -c "./autogen.sh&& ./configure && make -j6 check" 44.74s user 6.70s system 145% cpu 35.269 total autotools (warm ccache): sh -c "./autogen.sh&& ./configure && make -j6 check" 32.86s user 4.22s system 129% cpu 28.580 total meson (no ccache): sh -c "meson build; ninja -C build test" 23.48s user 3.71s system 236% cpu 11.487 total meson (warm ccache) sh -c "meson build; ninja -C build test" 16.06s user 2.31s system 210% cpu 8.727 total
-
Dylan Baker authored
-
Dylan Baker authored
-
Dylan Baker authored
-
Dylan Baker authored
-
Dylan Baker authored
-
Dylan Baker authored
-
Eric Engestrom authored
New meson build system See merge request glvnd/libglvnd!199
-
Matt Turner authored
These were presumably copied from Mesa where they enable assembly code that is not part of the dispatch layer. They are unused in libglvnd.
-
Matt Turner authored
.editorconfig
0 → 100644
.gitlab-ci.yml
0 → 100644
.gitlab-ci/i686-linux-gnu
0 → 100644
.gitlab-ci/run_build.sh
0 → 100644
.gitlab-ci/run_distcheck.sh
0 → 100644
.gitlab-ci/run_meson.sh
0 → 100644
.gitlab-ci/ubuntu_install.sh
0 → 100644
bin/symbols-check.py
0 → 100644
include/GLES3/gl3ext.h
0 → 100644
include/meson.build
0 → 100644
meson.build
0 → 100644
meson_options.txt
0 → 100644
src/EGL/egl-symbol-check.sh
0 → 100755