From: Varad Gautam <varad.gau...@collabora.com> ask the driver for supported dmabuf formats
Signed-off-by: Varad Gautam <varad.gau...@collabora.com> --- src/gallium/state_trackers/dri/dri2.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c index a2b87a7..e12a064 100644 --- a/src/gallium/state_trackers/dri/dri2.c +++ b/src/gallium/state_trackers/dri/dri2.c @@ -1259,6 +1259,17 @@ dri2_from_fds(__DRIscreen *screen, int width, int height, int fourcc, return img; } +static void +dri2_query_dma_buf_formats(__DRIscreen *_screen, int max, int *formats, + int *count) +{ + struct dri_screen *screen = dri_screen(_screen); + struct pipe_screen *pscreen = screen->base.screen; + + if (pscreen->get_param(pscreen, PIPE_CAP_QUERY_DMABUF_ATTRIBS)) + pscreen->query_dmabuf_formats(pscreen, max, formats, count); +} + static __DRIimage * dri2_from_dma_bufs(__DRIscreen *screen, int width, int height, int fourcc, @@ -1444,6 +1455,7 @@ static __DRIimageExtension dri2ImageExtension = { .mapImage = dri2_map_image, .unmapImage = dri2_unmap_image, .createImageFromDmaBufs2 = NULL, + .queryDmaBufFormats = NULL, }; @@ -1938,6 +1950,7 @@ dri2_init_screen(__DRIscreen * sPriv) dri2ImageExtension.createImageFromFds = dri2_from_fds; dri2ImageExtension.createImageFromDmaBufs = dri2_from_dma_bufs; dri2ImageExtension.createImageFromDmaBufs2 = dri2_from_dma_bufs2; + dri2ImageExtension.queryDmaBufFormats = dri2_query_dma_buf_formats; } } @@ -2011,6 +2024,7 @@ dri_kms_init_screen(__DRIscreen * sPriv) dri2ImageExtension.createImageFromFds = dri2_from_fds; dri2ImageExtension.createImageFromDmaBufs = dri2_from_dma_bufs; dri2ImageExtension.createImageFromDmaBufs2 = dri2_from_dma_bufs2; + dri2ImageExtension.queryDmaBufFormats = dri2_query_dma_buf_formats; } sPriv->extensions = dri_screen_extensions; -- 2.6.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev