Module: Mesa Branch: master Commit: a26693493570a9d0f0fba1be617e01ee7bfff4db URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a26693493570a9d0f0fba1be617e01ee7bfff4db
Author: Jason Ekstrand <[email protected]> Date: Wed Jun 6 10:24:01 2018 -0700 i965/screen: Return false for unsupported formats in query_modifiers Cc: [email protected] Reviewed-by: Lionel Landwerlin <[email protected]> --- src/mesa/drivers/dri/i965/intel_screen.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 2c78359120..5f0eeb4177 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -1262,6 +1262,16 @@ intel_create_image_from_dma_bufs(__DRIscreen *dri_screen, loaderPrivate); } +static bool +intel_image_format_is_supported(const struct intel_image_format *fmt) +{ + if (fmt->fourcc == __DRI_IMAGE_FOURCC_SARGB8888 || + fmt->fourcc == __DRI_IMAGE_FOURCC_SABGR8888) + return false; + + return true; +} + static GLboolean intel_query_dma_buf_formats(__DRIscreen *screen, int max, int *formats, int *count) @@ -1269,8 +1279,7 @@ intel_query_dma_buf_formats(__DRIscreen *screen, int max, int num_formats = 0, i; for (i = 0; i < ARRAY_SIZE(intel_image_formats); i++) { - if (intel_image_formats[i].fourcc == __DRI_IMAGE_FOURCC_SARGB8888 || - intel_image_formats[i].fourcc == __DRI_IMAGE_FOURCC_SABGR8888) + if (!intel_image_format_is_supported(&intel_image_formats[i])) continue; num_formats++; @@ -1300,6 +1309,9 @@ intel_query_dma_buf_modifiers(__DRIscreen *_screen, int fourcc, int max, if (f == NULL) return false; + if (!intel_image_format_is_supported(f)) + return false; + for (i = 0; i < ARRAY_SIZE(supported_modifiers); i++) { uint64_t modifier = supported_modifiers[i].modifier; if (!modifier_is_supported(&screen->devinfo, f, 0, modifier)) _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
