---
src/compositor-drm.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index a05b2c8..21e59c8 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -238,10 +238,6 @@ drm_output_prepare_scanout_surface(struct drm_output
*output)
es = container_of(c->base.surface_list.next,
struct weston_surface, link);
- /* Need to verify output->region contained in surface opaque
- * region. Or maybe just that format doesn't have alpha. */
- return -1;
-
if (es->geometry.x != output->base.x ||
es->geometry.y != output->base.y ||
es->geometry.width != output->base.current->width ||
@@ -256,6 +252,14 @@ drm_output_prepare_scanout_surface(struct drm_output
*output)
es->geometry.height,
GBM_BO_USE_SCANOUT);
+ /* Need to verify output->region contained in surface opaque
+ * region. Or maybe just that format doesn't have alpha.
+ * For now, scanout only if format is XRGB8888. */
+ if (gbm_bo_get_format(bo) != GBM_FORMAT_XRGB8888) {
+ gbm_bo_destroy(bo);
+ return -1;
+ }
+
output->next = drm_fb_get_from_bo(bo, output);
if (!output->next) {
gbm_bo_destroy(bo);
--
1.7.4.1
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel