From d33fe8b84e45308a26068d3f015e033de93315b1 Mon Sep 17 00:00:00 2001 From: Varad Gautam Date: Tue, 30 May 2017 17:23:42 +0530 Subject: st/dri: enable DRIimage modifier queries return the modifier selected by the driver when creating this image. v2: since we can use winsys_handle->modifier to serve these, remove DRIimage->modifier from v1. use DRM_API_HANDLE_TYPE_KMS instead of DRM_API_HANDLE_TYPE_FD to avoid ownership transfer. (Lucas) Suggested-by: Daniel Stone Signed-off-by: Varad Gautam Cc: Lucas Stach Reviewed-by: Lucas Stach --- src/gallium/state_trackers/dri/dri2.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/gallium') diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c index 740c6a4aaf5..465100b0eda 100644 --- a/src/gallium/state_trackers/dri/dri2.c +++ b/src/gallium/state_trackers/dri/dri2.c @@ -1088,6 +1088,18 @@ dri2_query_image(__DRIimage *image, int attrib, int *value) case __DRI_IMAGE_ATTRIB_NUM_PLANES: *value = 1; return GL_TRUE; + case __DRI_IMAGE_ATTRIB_MODIFIER_UPPER: + whandle.type = DRM_API_HANDLE_TYPE_KMS; + image->texture->screen->resource_get_handle(image->texture->screen, + NULL, image->texture, &whandle, usage); + *value = (whandle.modifier >> 32) & 0xffffffff; + return GL_TRUE; + case __DRI_IMAGE_ATTRIB_MODIFIER_LOWER: + whandle.type = DRM_API_HANDLE_TYPE_KMS; + image->texture->screen->resource_get_handle(image->texture->screen, + NULL, image->texture, &whandle, usage); + *value = whandle.modifier & 0xffffffff; + return GL_TRUE; default: return GL_FALSE; } -- cgit v1.2.3