kms: Don't consider software devices for primary
This commit is contained in:
parent
6eb5ca1f94
commit
18a1ba2d26
2 changed files with 8 additions and 1 deletions
|
|
@ -107,6 +107,7 @@ pub struct LockedDevice<'a> {
|
||||||
pub struct InnerDevice {
|
pub struct InnerDevice {
|
||||||
pub dev_node: DrmNode,
|
pub dev_node: DrmNode,
|
||||||
pub render_node: DrmNode,
|
pub render_node: DrmNode,
|
||||||
|
pub is_software: bool,
|
||||||
pub egl: Option<EGLInternals>,
|
pub egl: Option<EGLInternals>,
|
||||||
|
|
||||||
pub outputs: HashMap<connector::Handle, Output>,
|
pub outputs: HashMap<connector::Handle, Output>,
|
||||||
|
|
@ -124,6 +125,7 @@ impl fmt::Debug for InnerDevice {
|
||||||
f.debug_struct("Device")
|
f.debug_struct("Device")
|
||||||
.field("dev_node", &self.dev_node)
|
.field("dev_node", &self.dev_node)
|
||||||
.field("render_node", &self.render_node)
|
.field("render_node", &self.render_node)
|
||||||
|
.field("is_software", &self.is_software)
|
||||||
.field("egl", &self.egl)
|
.field("egl", &self.egl)
|
||||||
.field("outputs", &self.outputs)
|
.field("outputs", &self.outputs)
|
||||||
.field("surfaces", &self.surfaces)
|
.field("surfaces", &self.surfaces)
|
||||||
|
|
@ -323,6 +325,7 @@ impl State {
|
||||||
inner: InnerDevice {
|
inner: InnerDevice {
|
||||||
dev_node: drm_node,
|
dev_node: drm_node,
|
||||||
render_node,
|
render_node,
|
||||||
|
is_software,
|
||||||
egl: None,
|
egl: None,
|
||||||
|
|
||||||
outputs: HashMap::new(),
|
outputs: HashMap::new(),
|
||||||
|
|
|
||||||
|
|
@ -238,7 +238,11 @@ fn determine_primary_gpu(
|
||||||
}
|
}
|
||||||
|
|
||||||
// else just take the first
|
// else just take the first
|
||||||
Ok(drm_devices.values().next().map(|dev| dev.inner.render_node))
|
Ok(drm_devices
|
||||||
|
.values()
|
||||||
|
.next()
|
||||||
|
.filter(|dev| !dev.inner.is_software)
|
||||||
|
.map(|dev| dev.inner.render_node))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Create `GlowRenderer` for `EGL_MESA_device_software` device, if present
|
/// Create `GlowRenderer` for `EGL_MESA_device_software` device, if present
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue