backend/drm: drop wlr_drm_layer.pending_{width,height}

No need to store this info in struct wlr_drm_layer. We can just
extract the size when we need it.
This commit is contained in:
Simon Ser 2023-02-21 10:31:39 +01:00 committed by Isaac Freund
parent 7215bd1e0f
commit 8338d17d7e
3 changed files with 6 additions and 8 deletions

View file

@ -564,11 +564,8 @@ static bool drm_connector_set_pending_layer_fbs(struct wlr_drm_connector *conn,
} }
if (layer_state->buffer != NULL) { if (layer_state->buffer != NULL) {
layer->pending_width = layer_state->buffer->width;
layer->pending_height = layer_state->buffer->height;
drm_fb_import(&layer->pending_fb, drm, layer_state->buffer, NULL); drm_fb_import(&layer->pending_fb, drm, layer_state->buffer, NULL);
} else { } else {
layer->pending_width = layer->pending_height = 0;
drm_fb_clear(&layer->pending_fb); drm_fb_clear(&layer->pending_fb);
} }
} }

View file

@ -177,6 +177,12 @@ static bool set_layer_props(struct wlr_drm_backend *drm,
const struct wlr_output_layer_state *state, uint64_t zpos) { const struct wlr_output_layer_state *state, uint64_t zpos) {
struct wlr_drm_layer *layer = get_drm_layer(drm, state->layer); struct wlr_drm_layer *layer = get_drm_layer(drm, state->layer);
uint32_t width = 0, height = 0;
if (state->buffer != NULL) {
width = state->buffer->width;
height = state->buffer->height;
}
struct wlr_drm_fb *fb = layer->pending_fb; struct wlr_drm_fb *fb = layer->pending_fb;
int ret = 0; int ret = 0;
if (state->buffer == NULL) { if (state->buffer == NULL) {
@ -190,9 +196,6 @@ static bool set_layer_props(struct wlr_drm_backend *drm,
return false; return false;
} }
uint32_t width = layer->pending_width;
uint32_t height = layer->pending_height;
uint64_t crtc_x = (uint64_t)state->x; uint64_t crtc_x = (uint64_t)state->x;
uint64_t crtc_y = (uint64_t)state->y; uint64_t crtc_y = (uint64_t)state->y;
uint64_t crtc_w = (uint64_t)width; uint64_t crtc_w = (uint64_t)width;

View file

@ -50,8 +50,6 @@ struct wlr_drm_layer {
/* Buffer currently displayed on screen */ /* Buffer currently displayed on screen */
struct wlr_drm_fb *current_fb; struct wlr_drm_fb *current_fb;
int pending_width, pending_height;
// One entry per wlr_drm_backend.planes // One entry per wlr_drm_backend.planes
bool *candidate_planes; bool *candidate_planes;
}; };