backend/drm: modeset before enabling an output
This saves one modeset in case the previous mode is different.
This commit is contained in:
parent
5d1ba0f446
commit
f0781cd792
|
@ -422,12 +422,6 @@ static bool drm_connector_commit(struct wlr_output *output) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (output->pending.committed & WLR_OUTPUT_STATE_ENABLED) {
|
|
||||||
if (!enable_drm_connector(output, output->pending.enabled)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (output->pending.committed & WLR_OUTPUT_STATE_MODE) {
|
if (output->pending.committed & WLR_OUTPUT_STATE_MODE) {
|
||||||
switch (output->pending.mode_type) {
|
switch (output->pending.mode_type) {
|
||||||
case WLR_OUTPUT_STATE_MODE_FIXED:
|
case WLR_OUTPUT_STATE_MODE_FIXED:
|
||||||
|
@ -446,6 +440,12 @@ static bool drm_connector_commit(struct wlr_output *output) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (output->pending.committed & WLR_OUTPUT_STATE_ENABLED) {
|
||||||
|
if (!enable_drm_connector(output, output->pending.enabled)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (output->pending.committed & WLR_OUTPUT_STATE_BUFFER) {
|
if (output->pending.committed & WLR_OUTPUT_STATE_BUFFER) {
|
||||||
if (!drm_connector_commit_buffer(output)) {
|
if (!drm_connector_commit_buffer(output)) {
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue