compositor-drm: avoid scissor in assign_planes
authorPekka Paalanen <pekka.paalanen@collabora.co.uk>
Tue, 17 Feb 2015 14:33:18 +0000 (16:33 +0200)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Wed, 4 Mar 2015 09:55:41 +0000 (11:55 +0200)
Support for scissor not implemented yet on cursor overlay or for direct
scanout. Overlays OTOH use the boundingbox to compute their coordinates,
so that should probably work.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Tested-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
src/compositor-drm.c

index 209f2ae..ed4eabf 100644 (file)
@@ -481,6 +481,9 @@ drm_output_prepare_scanout_view(struct drm_output *output,
            ev->transform.enabled)
                return NULL;
 
+       if (ev->geometry.scissor_enabled)
+               return NULL;
+
        bo = gbm_bo_import(c->gbm, GBM_BO_IMPORT_WL_BUFFER,
                           buffer->resource, GBM_BO_USE_SCANOUT);
 
@@ -1000,6 +1003,8 @@ drm_output_prepare_cursor_view(struct drm_output *output,
                return NULL;
        if (c->cursors_are_broken)
                return NULL;
+       if (ev->geometry.scissor_enabled)
+               return NULL;
        if (ev->surface->buffer_ref.buffer == NULL ||
            !wl_shm_buffer_get(ev->surface->buffer_ref.buffer->resource) ||
            ev->surface->width > 64 || ev->surface->height > 64)