etnaviv: only try to construct scanout resource when on KMS winsys
authorLucas Stach <l.stach@pengutronix.de>
Wed, 27 Mar 2019 11:25:18 +0000 (12:25 +0100)
committerLucas Stach <l.stach@pengutronix.de>
Wed, 3 Apr 2019 10:54:09 +0000 (12:54 +0200)
Trying to construct a scanout capable buffer will only ever work when
when we are on top of a KMS winsys, as the render node isn't capable
of allocating contiguous buffers.

Tested-by: Marius Vlad <marius.vlad@collabora.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
src/gallium/drivers/etnaviv/etnaviv_resource.c

index c7eedab74187cd3644b0d4b21d6b31ddd3ef434e..83179d3cd0880bf2da6486287aae9fbc958c02a3 100644 (file)
@@ -238,7 +238,7 @@ etna_resource_alloc(struct pipe_screen *pscreen, unsigned layout,
    if (!screen->specs.use_blt && templat->target != PIPE_BUFFER)
       etna_adjust_rs_align(screen->specs.pixel_pipes, NULL, &paddingY);
 
-   if (templat->bind & PIPE_BIND_SCANOUT) {
+   if (templat->bind & PIPE_BIND_SCANOUT && screen->ro->kms_fd >= 0) {
       struct pipe_resource scanout_templat = *templat;
       struct renderonly_scanout *scanout;
       struct winsys_handle handle;