drm: include st_rdev in Drm object
This commit is contained in:
parent
9a084a53aa
commit
b754e37bfe
9 changed files with 41 additions and 34 deletions
|
|
@ -236,7 +236,13 @@ impl MetalBackend {
|
|||
return;
|
||||
}
|
||||
};
|
||||
let master = Rc::new(DrmMaster::new(&slf.state.ring, res.fd.clone()));
|
||||
let master = match DrmMaster::new(&slf.state.ring, res.fd.clone()) {
|
||||
Ok(m) => Rc::new(m),
|
||||
Err(e) => {
|
||||
log::error!("Could not open the drm device: {}", ErrorFmt(e));
|
||||
return;
|
||||
}
|
||||
};
|
||||
let dev = match slf.create_drm_device(dev, &master) {
|
||||
Ok(d) => d,
|
||||
Err(e) => {
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ use {
|
|||
rc::Rc,
|
||||
},
|
||||
thiserror::Error,
|
||||
uapi::{c::dev_t, Errno},
|
||||
uapi::c::dev_t,
|
||||
};
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
|
|
@ -114,8 +114,6 @@ pub enum XBackendError {
|
|||
MapWindow(#[source] XconError),
|
||||
#[error("Could not query device")]
|
||||
QueryDevice(#[source] XconError),
|
||||
#[error("Could not fstat the drm device")]
|
||||
DrmDeviceFstat(#[source] Errno),
|
||||
#[error("Render device does not support XRGB8888 format")]
|
||||
XRGB8888,
|
||||
}
|
||||
|
|
@ -174,10 +172,7 @@ pub async fn create(state: &Rc<State>) -> Result<Rc<XBackend>, XBackendError> {
|
|||
Err(e) => return Err(XBackendError::DriOpen(e)),
|
||||
}
|
||||
};
|
||||
let drm_dev = match uapi::fstat(drm.raw()) {
|
||||
Ok(s) => s.st_rdev,
|
||||
Err(e) => return Err(XBackendError::DrmDeviceFstat(e)),
|
||||
};
|
||||
let drm_dev = drm.dev();
|
||||
let gbm = GbmDevice::new(&drm)?;
|
||||
let ctx = match state.create_gfx_context(&drm, None) {
|
||||
Ok(r) => r,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue