backend-drm: Don't try non-fullscreen views on the primary plane
You'd think this would go without saying, but no, we just sort of buried that. Signed-off-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
@@ -308,15 +308,6 @@ drm_output_prepare_scanout_view(struct drm_output_state *output_state,
|
|||||||
assert(b->atomic_modeset);
|
assert(b->atomic_modeset);
|
||||||
assert(mode == DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY);
|
assert(mode == DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY);
|
||||||
|
|
||||||
/* Check the view spans exactly the output size, calculated in the
|
|
||||||
* logical co-ordinate space. */
|
|
||||||
if (!weston_view_matches_output_entirely(ev, &output->base)) {
|
|
||||||
drm_debug(b, "\t\t\t\t[%s] not placing view %p on %s: "
|
|
||||||
" view does not match output entirely\n",
|
|
||||||
p_name, ev, p_name);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If the surface buffer has an in-fence fd, but the plane doesn't
|
/* If the surface buffer has an in-fence fd, but the plane doesn't
|
||||||
* support fences, we can't place the buffer on this plane. */
|
* support fences, we can't place the buffer on this plane. */
|
||||||
if (ev->surface->acquire_fence_fd >= 0 &&
|
if (ev->surface->acquire_fence_fd >= 0 &&
|
||||||
@@ -673,6 +664,8 @@ drm_output_prepare_plane_view(struct drm_output_state *state,
|
|||||||
continue;
|
continue;
|
||||||
if (mode != DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY)
|
if (mode != DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY)
|
||||||
continue;
|
continue;
|
||||||
|
if (!view_matches_entire_output)
|
||||||
|
continue;
|
||||||
break;
|
break;
|
||||||
case WDRM_PLANE_TYPE_OVERLAY:
|
case WDRM_PLANE_TYPE_OVERLAY:
|
||||||
assert(fb);
|
assert(fb);
|
||||||
|
|||||||
Reference in New Issue
Block a user