[Mesa-dev] [PATCH] vl/dri3: handle the case of different GPU

Michel Dänzer michel at daenzer.net
Thu Sep 8 03:33:57 UTC 2016


On 08/09/16 02:48 AM, Nayan Deshmukh wrote:
> use a linear buffer in case of back buffer
> 
> Signed-off-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>

[...]

> @@ -226,8 +227,13 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
>        goto close_fd;
>  
>     memset(&templ, 0, sizeof(templ));
> +   if (scrn->is_different_gpu)
> +   templ.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW |
> +                PIPE_BIND_SCANOUT | PIPE_BIND_SHARED | PIPE_BIND_LINEAR;
> +   else
>     templ.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW |
>                  PIPE_BIND_SCANOUT | PIPE_BIND_SHARED;

The indentation is wrong. Also, it would be better to make it something
like this:

   templ.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW |
                PIPE_BIND_SCANOUT | PIPE_BIND_SHARED;
   if (scrn->is_different_gpu)
      templ.bind |= PIPE_BIND_LINEAR;


However, as we discussed before, for various reasons it would probably
be better to create separate linear buffers instead of making all
buffers linear.


> @@ -248,6 +254,7 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
>                                             usage);
>     buffer_fd = whandle.handle;
>     buffer->pitch = whandle.stride;
> +
>     xcb_dri3_pixmap_from_buffer(scrn->conn,
>                                 (pixmap = xcb_generate_id(scrn->conn)),
>                                 scrn->drawable,

Please remove this kind of pointless whitespace-only change from patches
before sending them for review.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list