mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-23 02:05:33 +07:00
Remove setting max bpc
This commit is contained in:
@@ -320,6 +320,10 @@ Apparently, setting max bpc to 8 breaks some displays driven by AMDGPU.
|
|||||||
If this happens to you, set this debug flag, which will prevent niri from changing max bpc.
|
If this happens to you, set this debug flag, which will prevent niri from changing max bpc.
|
||||||
AMDGPU bug report: https://gitlab.freedesktop.org/drm/amd/-/issues/4487.
|
AMDGPU bug report: https://gitlab.freedesktop.org/drm/amd/-/issues/4487.
|
||||||
|
|
||||||
|
<sup>Since: next release</sup>
|
||||||
|
This setting is deprecated and does nothing: niri no longer sets max bpc.
|
||||||
|
The old niri behavior with this setting enabled matches the new behavior.
|
||||||
|
|
||||||
```kdl
|
```kdl
|
||||||
debug {
|
debug {
|
||||||
keep-max-bpc-unchanged
|
keep-max-bpc-unchanged
|
||||||
|
|||||||
@@ -1237,15 +1237,6 @@ impl Tty {
|
|||||||
Err(err) => debug!("couldn't reset HDR properties: {err:?}"),
|
Err(err) => debug!("couldn't reset HDR properties: {err:?}"),
|
||||||
}
|
}
|
||||||
|
|
||||||
if !niri.config.borrow().debug.keep_max_bpc_unchanged {
|
|
||||||
// We only use 8888 RGB formats, so set max bpc to 8 to allow more types of links to
|
|
||||||
// run.
|
|
||||||
match set_max_bpc(&props, 8) {
|
|
||||||
Ok(_bpc) => (),
|
|
||||||
Err(err) => debug!("couldn't set max bpc: {err:?}"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
match get_panel_orientation(&props) {
|
match get_panel_orientation(&props) {
|
||||||
Ok(x) => orientation = Some(x),
|
Ok(x) => orientation = Some(x),
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
@@ -3224,30 +3215,6 @@ fn reset_hdr(props: &ConnectorProperties) -> anyhow::Result<()> {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_max_bpc(props: &ConnectorProperties, bpc: u64) -> anyhow::Result<u64> {
|
|
||||||
let (info, value) = props.find(c"max bpc")?;
|
|
||||||
let property::ValueType::UnsignedRange(min, max) = info.value_type() else {
|
|
||||||
bail!("wrong property type")
|
|
||||||
};
|
|
||||||
|
|
||||||
let bpc = bpc.clamp(min, max);
|
|
||||||
let property::Value::UnsignedRange(value) = info.value_type().convert_value(*value) else {
|
|
||||||
bail!("wrong property type")
|
|
||||||
};
|
|
||||||
|
|
||||||
if value != bpc {
|
|
||||||
props
|
|
||||||
.device
|
|
||||||
.set_property(
|
|
||||||
props.connector,
|
|
||||||
info.handle(),
|
|
||||||
property::Value::UnsignedRange(bpc).into(),
|
|
||||||
)
|
|
||||||
.context("error setting property")?;
|
|
||||||
}
|
|
||||||
Ok(bpc)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn is_vrr_capable(device: &DrmDevice, connector: connector::Handle) -> Option<bool> {
|
fn is_vrr_capable(device: &DrmDevice, connector: connector::Handle) -> Option<bool> {
|
||||||
let (_, info, value) = find_drm_property(device, connector, "vrr_capable")?;
|
let (_, info, value) = find_drm_property(device, connector, "vrr_capable")?;
|
||||||
info.value_type().convert_value(value).as_boolean()
|
info.value_type().convert_value(value).as_boolean()
|
||||||
|
|||||||
Reference in New Issue
Block a user