Mesa (master): st/dri: enable DRIimage modifier queries
Emil Velikov
evelikov at kemper.freedesktop.org
Fri Jun 9 14:03:18 UTC 2017
Module: Mesa
Branch: master
Commit: d33fe8b84e45308a26068d3f015e033de93315b1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d33fe8b84e45308a26068d3f015e033de93315b1
Author: Varad Gautam <varad.gautam at collabora.com>
Date: Tue May 30 17:41:42 2017 +0530
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 <daniels at collabora.com>
Signed-off-by: Varad Gautam <varad.gautam at collabora.com>
Cc: Lucas Stach <l.stach at pengutronix.de>
Reviewed-by: Lucas Stach <l.stach at pengutronix.de>
---
src/gallium/state_trackers/dri/dri2.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index 740c6a4aaf..465100b0ed 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;
}
More information about the mesa-commit
mailing list