1
0
Fork 0
forked from wry/wry

backend: add connector capabilities

This commit is contained in:
Julian Orth 2025-07-12 08:47:28 +02:00
parent 3c1475041f
commit 078c59d730
2 changed files with 19 additions and 3 deletions

View file

@ -124,6 +124,13 @@ impl Display for ConnectorKernelId {
}
}
bitflags! {
ConnectorCaps: u32;
CONCAP_CONNECTOR = 1 << 0,
CONCAP_MODE_SETTING = 1 << 1,
CONCAP_PHYSICAL_DISPLAY = 1 << 2,
}
pub trait Connector: Any {
fn id(&self) -> ConnectorId;
fn kernel_id(&self) -> ConnectorKernelId;
@ -132,6 +139,10 @@ pub trait Connector: Any {
fn damage(&self);
fn drm_dev(&self) -> Option<DrmDeviceId>;
fn effectively_locked(&self) -> bool;
#[expect(dead_code)]
fn caps(&self) -> ConnectorCaps {
ConnectorCaps::none()
}
fn drm_feedback(&self) -> Option<Rc<DrmFeedback>> {
None
}

View file

@ -4,9 +4,10 @@ use {
async_engine::{Phase, SpawnedFuture},
backend::{
BackendColorSpace, BackendConnectorState, BackendDrmDevice, BackendDrmLease,
BackendDrmLessee, BackendEvent, BackendLuminance, BackendTransferFunction, Connector,
ConnectorEvent, ConnectorId, ConnectorKernelId, DrmDeviceId, HardwareCursor,
HardwareCursorUpdate, Mode, MonitorInfo,
BackendDrmLessee, BackendEvent, BackendLuminance, BackendTransferFunction,
CONCAP_CONNECTOR, CONCAP_MODE_SETTING, CONCAP_PHYSICAL_DISPLAY, Connector,
ConnectorCaps, ConnectorEvent, ConnectorId, ConnectorKernelId, DrmDeviceId,
HardwareCursor, HardwareCursorUpdate, Mode, MonitorInfo,
transaction::{
BackendConnectorTransaction, BackendConnectorTransactionError,
BackendConnectorTransactionType, BackendConnectorTransactionTypeDyn,
@ -854,6 +855,10 @@ impl Connector for MetalConnector {
fb.locked
}
fn caps(&self) -> ConnectorCaps {
CONCAP_CONNECTOR | CONCAP_MODE_SETTING | CONCAP_PHYSICAL_DISPLAY
}
fn drm_feedback(&self) -> Option<Rc<DrmFeedback>> {
self.drm_feedback.get()
}