mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-21 20:35:58 +01:00
output: allow_artifacts -> allow_reconfiguration
The name "allow_artifacts" and associated description is very vague, and theoretically allow for tearing behavior. Clarify that we only intend to mean artifacts related to output configuration (e.g., modesets). References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3740
This commit is contained in:
parent
291431c14f
commit
2cf78f4c5b
4 changed files with 8 additions and 8 deletions
|
@ -452,7 +452,7 @@ static void drm_connector_state_init(struct wlr_drm_connector_state *state,
|
||||||
const struct wlr_output_state *base) {
|
const struct wlr_output_state *base) {
|
||||||
*state = (struct wlr_drm_connector_state){
|
*state = (struct wlr_drm_connector_state){
|
||||||
.base = base,
|
.base = base,
|
||||||
.modeset = base->allow_artifacts,
|
.modeset = base->allow_reconfiguration,
|
||||||
.active = (base->committed & WLR_OUTPUT_STATE_ENABLED) ?
|
.active = (base->committed & WLR_OUTPUT_STATE_ENABLED) ?
|
||||||
base->enabled : conn->output.enabled,
|
base->enabled : conn->output.enabled,
|
||||||
};
|
};
|
||||||
|
|
|
@ -77,9 +77,9 @@ enum wlr_output_state_mode_type {
|
||||||
*/
|
*/
|
||||||
struct wlr_output_state {
|
struct wlr_output_state {
|
||||||
uint32_t committed; // enum wlr_output_state_field
|
uint32_t committed; // enum wlr_output_state_field
|
||||||
// Set to true to allow temporary visual artifacts (e.g. black screen) while
|
// Set to true to allow output reconfiguration to occur which may result
|
||||||
// the update is being applied
|
// in temporary output disruptions and content misrepresentations.
|
||||||
bool allow_artifacts;
|
bool allow_reconfiguration;
|
||||||
pixman_region32_t damage; // output-buffer-local coordinates
|
pixman_region32_t damage; // output-buffer-local coordinates
|
||||||
bool enabled;
|
bool enabled;
|
||||||
float scale;
|
float scale;
|
||||||
|
|
|
@ -155,7 +155,7 @@ bool output_ensure_buffer(struct wlr_output *output,
|
||||||
if (state->committed & WLR_OUTPUT_STATE_RENDER_FORMAT) {
|
if (state->committed & WLR_OUTPUT_STATE_RENDER_FORMAT) {
|
||||||
needs_new_buffer = true;
|
needs_new_buffer = true;
|
||||||
}
|
}
|
||||||
if (state->allow_artifacts && output->commit_seq == 0 && enabled) {
|
if (state->allow_reconfiguration && output->commit_seq == 0 && enabled) {
|
||||||
// On first commit, require a new buffer if the compositor called a
|
// On first commit, require a new buffer if the compositor called a
|
||||||
// mode-setting function, even if the mode won't change. This makes it
|
// mode-setting function, even if the mode won't change. This makes it
|
||||||
// so the swapchain is created now.
|
// so the swapchain is created now.
|
||||||
|
|
|
@ -22,7 +22,7 @@ void wlr_output_state_set_enabled(struct wlr_output_state *state,
|
||||||
bool enabled) {
|
bool enabled) {
|
||||||
state->committed |= WLR_OUTPUT_STATE_ENABLED;
|
state->committed |= WLR_OUTPUT_STATE_ENABLED;
|
||||||
state->enabled = enabled;
|
state->enabled = enabled;
|
||||||
state->allow_artifacts = true;
|
state->allow_reconfiguration = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wlr_output_state_set_mode(struct wlr_output_state *state,
|
void wlr_output_state_set_mode(struct wlr_output_state *state,
|
||||||
|
@ -30,7 +30,7 @@ void wlr_output_state_set_mode(struct wlr_output_state *state,
|
||||||
state->committed |= WLR_OUTPUT_STATE_MODE;
|
state->committed |= WLR_OUTPUT_STATE_MODE;
|
||||||
state->mode_type = WLR_OUTPUT_STATE_MODE_FIXED;
|
state->mode_type = WLR_OUTPUT_STATE_MODE_FIXED;
|
||||||
state->mode = mode;
|
state->mode = mode;
|
||||||
state->allow_artifacts = true;
|
state->allow_reconfiguration = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wlr_output_state_set_custom_mode(struct wlr_output_state *state,
|
void wlr_output_state_set_custom_mode(struct wlr_output_state *state,
|
||||||
|
@ -40,7 +40,7 @@ void wlr_output_state_set_custom_mode(struct wlr_output_state *state,
|
||||||
state->custom_mode.width = width;
|
state->custom_mode.width = width;
|
||||||
state->custom_mode.height = height;
|
state->custom_mode.height = height;
|
||||||
state->custom_mode.refresh = refresh;
|
state->custom_mode.refresh = refresh;
|
||||||
state->allow_artifacts = true;
|
state->allow_reconfiguration = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wlr_output_state_set_scale(struct wlr_output_state *state, float scale) {
|
void wlr_output_state_set_scale(struct wlr_output_state *state, float scale) {
|
||||||
|
|
Loading…
Reference in a new issue