mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2024-11-21 22:52:20 +00: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
@ -452,7 +452,7 @@ static void drm_connector_state_init(struct wlr_drm_connector_state *state,
|
||||
const struct wlr_output_state *base) {
|
||||
*state = (struct wlr_drm_connector_state){
|
||||
.base = base,
|
||||
.modeset = base->allow_artifacts,
|
||||
.modeset = base->allow_reconfiguration,
|
||||
.active = (base->committed & WLR_OUTPUT_STATE_ENABLED) ?
|
||||
base->enabled : conn->output.enabled,
|
||||
};
|
||||
|
@ -77,9 +77,9 @@ enum wlr_output_state_mode_type {
|
||||
*/
|
||||
struct wlr_output_state {
|
||||
uint32_t committed; // enum wlr_output_state_field
|
||||
// Set to true to allow temporary visual artifacts (e.g. black screen) while
|
||||
// the update is being applied
|
||||
bool allow_artifacts;
|
||||
// Set to true to allow output reconfiguration to occur which may result
|
||||
// in temporary output disruptions and content misrepresentations.
|
||||
bool allow_reconfiguration;
|
||||
pixman_region32_t damage; // output-buffer-local coordinates
|
||||
bool enabled;
|
||||
float scale;
|
||||
|
@ -155,7 +155,7 @@ bool output_ensure_buffer(struct wlr_output *output,
|
||||
if (state->committed & WLR_OUTPUT_STATE_RENDER_FORMAT) {
|
||||
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
|
||||
// mode-setting function, even if the mode won't change. This makes it
|
||||
// so the swapchain is created now.
|
||||
|
@ -22,7 +22,7 @@ void wlr_output_state_set_enabled(struct wlr_output_state *state,
|
||||
bool enabled) {
|
||||
state->committed |= WLR_OUTPUT_STATE_ENABLED;
|
||||
state->enabled = enabled;
|
||||
state->allow_artifacts = true;
|
||||
state->allow_reconfiguration = true;
|
||||
}
|
||||
|
||||
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->mode_type = WLR_OUTPUT_STATE_MODE_FIXED;
|
||||
state->mode = mode;
|
||||
state->allow_artifacts = true;
|
||||
state->allow_reconfiguration = true;
|
||||
}
|
||||
|
||||
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.height = height;
|
||||
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) {
|
||||
|
Loading…
Reference in New Issue
Block a user