aboutsummaryrefslogtreecommitdiff
path: root/backend/drm
diff options
context:
space:
mode:
Diffstat (limited to 'backend/drm')
-rw-r--r--backend/drm/drm.c3
-rw-r--r--backend/drm/libliftoff.c9
2 files changed, 6 insertions, 6 deletions
diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index 10966940..2c660b8e 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -564,11 +564,8 @@ static bool drm_connector_set_pending_layer_fbs(struct wlr_drm_connector *conn,
}
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);
} else {
- layer->pending_width = layer->pending_height = 0;
drm_fb_clear(&layer->pending_fb);
}
}
diff --git a/backend/drm/libliftoff.c b/backend/drm/libliftoff.c
index ecc79ce9..90525d24 100644
--- a/backend/drm/libliftoff.c
+++ b/backend/drm/libliftoff.c
@@ -177,6 +177,12 @@ static bool set_layer_props(struct wlr_drm_backend *drm,
const struct wlr_output_layer_state *state, uint64_t zpos) {
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;
int ret = 0;
if (state->buffer == NULL) {
@@ -190,9 +196,6 @@ static bool set_layer_props(struct wlr_drm_backend *drm,
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_y = (uint64_t)state->y;
uint64_t crtc_w = (uint64_t)width;