commit
571d2ed511
10
Cargo.toml
10
Cargo.toml
|
@ -5,17 +5,17 @@ authors = ["Victor Berger <victor.berger@thalesgroup.com>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
wayland-server = "0.9.4"
|
wayland-server = "0.9.9"
|
||||||
nix = "0.7.0"
|
nix = "0.7.0"
|
||||||
xkbcommon = "0.2.1"
|
xkbcommon = "0.2.1"
|
||||||
tempfile = "2.1.5"
|
tempfile = "2.1.5"
|
||||||
slog = { version = "2.0.0" }
|
slog = { version = "2.0.0" }
|
||||||
slog-stdlog = "2.0.0-0.2"
|
slog-stdlog = "2.0.0-0.2"
|
||||||
libloading = "0.4.0"
|
libloading = "0.4.0"
|
||||||
wayland-client = { version = "~0.8.6", optional = true }
|
wayland-client = { version = "0.9.9", optional = true }
|
||||||
winit = { git = "https://github.com/tomaka/winit.git", optional = true }
|
winit = { version = "0.7.0", optional = true }
|
||||||
glium = { version = "~0.16.0", optional = true, default-features = false }
|
glium = { version = "0.16.0", optional = true, default-features = false }
|
||||||
input = { version = "~0.2.0", optional = true }
|
input = { version = "0.2.0", optional = true }
|
||||||
clippy = { version = "*", optional = true }
|
clippy = { version = "*", optional = true }
|
||||||
rental = "0.4.11"
|
rental = "0.4.11"
|
||||||
|
|
||||||
|
|
|
@ -110,32 +110,30 @@ where
|
||||||
let window = Rc::new(builder.build(&events_loop)?);
|
let window = Rc::new(builder.build(&events_loop)?);
|
||||||
debug!(log, "Window created");
|
debug!(log, "Window created");
|
||||||
|
|
||||||
let (native_display, native_surface, surface) =
|
let (native_display, native_surface, surface) = if let (Some(conn), Some(window)) =
|
||||||
if let (Some(conn), Some(window)) = (get_x11_xconnection(), window.get_xlib_window()) {
|
(get_x11_xconnection(), window.get_xlib_window())
|
||||||
debug!(log, "Window is backed by X11");
|
{
|
||||||
(
|
debug!(log, "Window is backed by X11");
|
||||||
NativeDisplay::X11(conn.display as *const _),
|
(
|
||||||
NativeSurface::X11(window),
|
NativeDisplay::X11(conn.display as *const _),
|
||||||
None,
|
NativeSurface::X11(window),
|
||||||
)
|
None,
|
||||||
} else if let (Some(display), Some(surface)) =
|
)
|
||||||
(
|
} else if let (Some(display), Some(surface)) =
|
||||||
window.get_wayland_display(),
|
(window.get_wayland_display(), window.get_wayland_surface())
|
||||||
window.get_wayland_client_surface(),
|
{
|
||||||
)
|
debug!(log, "Window is backed by Wayland");
|
||||||
{
|
let (w, h) = window.get_inner_size().unwrap();
|
||||||
debug!(log, "Window is backed by Wayland");
|
let egl_surface = unsafe { wegl::WlEglSurface::new_from_raw(surface as *mut _, w as i32, h as i32) };
|
||||||
let (w, h) = window.get_inner_size().unwrap();
|
(
|
||||||
let egl_surface = wegl::WlEglSurface::new(surface, w as i32, h as i32);
|
NativeDisplay::Wayland(display),
|
||||||
(
|
NativeSurface::Wayland(egl_surface.ptr() as *const _),
|
||||||
NativeDisplay::Wayland(display),
|
Some(egl_surface),
|
||||||
NativeSurface::Wayland(egl_surface.ptr() as *const _),
|
)
|
||||||
Some(egl_surface),
|
} else {
|
||||||
)
|
error!(log, "Window is backed by an unsupported graphics framework");
|
||||||
} else {
|
return Err(CreationError::NotSupported);
|
||||||
error!(log, "Window is backed by an unsupported graphics framework");
|
};
|
||||||
return Err(CreationError::NotSupported);
|
|
||||||
};
|
|
||||||
|
|
||||||
let context = unsafe {
|
let context = unsafe {
|
||||||
match EGLContext::new(
|
match EGLContext::new(
|
||||||
|
|
Loading…
Reference in New Issue