From f61a8ba1688193080ffe7f419fde1605d0f72dc9 Mon Sep 17 00:00:00 2001 From: Varad Gautam Date: Tue, 30 May 2017 17:23:43 +0530 Subject: st/dri: implement createImageWithModifiers in DRIimage adds a pscreen->resource_create_with_modifiers() to create textures with modifier. v2: - stylefixes (Emil Velikov) - don't return selected modifier from resource_create_with_modifiers. we can use the winsys_handle to get this. Signed-off-by: Varad Gautam Reviewed-by: Lucas Stach (v1) Cc: Lucas Stach Reviewed-by: Lucas Stach --- src/gallium/include/pipe/p_screen.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 8b4239c61ae..5102827440e 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -328,6 +328,21 @@ struct pipe_screen { * driver doesn't support an on-disk shader cache. */ struct disk_cache *(*get_disk_shader_cache)(struct pipe_screen *screen); + + /** + * Create a new texture object from the given template info, taking + * format modifiers into account. \p modifiers specifies a list of format + * modifier tokens, as defined in drm_fourcc.h. The driver then picks the + * best modifier among these and creates the resource. \p count must + * contain the size of \p modifiers array. + * + * Returns NULL if an entry in \p modifiers is unsupported by the driver, + * or if only DRM_FORMAT_MOD_INVALID is provided. + */ + struct pipe_resource * (*resource_create_with_modifiers)( + struct pipe_screen *, + const struct pipe_resource *templat, + const uint64_t *modifiers, int count); }; -- cgit v1.2.3