gfx-rs / gfx

[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
http://gfx-rs.github.io/
Apache License 2.0
5.36k stars 547 forks source link

Better GL context initialization #3535

Closed kvark closed 3 years ago

kvark commented 3 years ago

Fixes #3519 for real this time Fixes #3534 Drops X11 dependency :tada:

PR checklist:

kvark commented 3 years ago

The quad example runs, but the tests crash with SIGSEGV for me:

0x00007ffff76b9a80 in ?? ()
(gdb) bt
#0  0x00007ffff76b9a80 in ?? ()
#1  0x00007ffff780bd4e in ?? () from /usr/lib/libxcb.so.1
#2  0x00007ffff780c19e in ?? () from /usr/lib/libxcb.so.1
#3  0x00007ffff780cee9 in xcb_send_request () from /usr/lib/libxcb.so.1
#4  0x00007ffff781ef04 in xcb_query_extension () from /usr/lib/libxcb.so.1
#5  0x00007ffff780fe51 in xcb_prefetch_extension_data () from /usr/lib/libxcb.so.1
#6  0x00007ffff78b4793 in ?? () from /usr/lib/libEGL_mesa.so.0
#7  0x00007ffff78b3ac8 in ?? () from /usr/lib/libEGL_mesa.so.0
#8  0x00007ffff78aeb23 in ?? () from /usr/lib/libEGL_mesa.so.0
#9  0x00007ffff78aac3d in ?? () from /usr/lib/libEGL_mesa.so.0
#10 0x00007ffff78aac8a in ?? () from /usr/lib/libEGL_mesa.so.0
#11 0x00007ffff78a5298 in ?? () from /usr/lib/libEGL_mesa.so.0
#12 0x0000555555b989ad in khronos_egl::initialize (display=...) at /home/kvark/.cargo/registry/src/github.com-1ecc6299db9ec823/khronos-egl-2.2.0/src/lib.rs:756
#13 0x0000555555b319c7 in <gfx_backend_gl::window::egl::Instance as gfx_hal::Instance<gfx_backend_gl::Backend>>::create () at src/backend/gl/src/window/egl.rs:70
#14 0x00005555559cb0c7 in reftest::Harness::run (self=0x7fffffffe0e8, name=..., disabilities=...) at src/warden/src/bin/reftest.rs:103
#15 0x00005555556fdb1c in reftest::main () at src/warden/src/bin/reftest.rs:237
kvark commented 3 years ago

Anyhow, let's proceed. We can fix all the things at once. bors r+

bors[bot] commented 3 years ago

Build succeeded: