From: Gurchetan Singh Date: Tue, 1 Aug 2017 21:49:33 +0000 (-0700) Subject: st/dri: add drisw image extension X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bbdeddd5fd0b797e1e281f058338b3da4d98029d;p=mesa.git st/dri: add drisw image extension Since the revelant functions have been moved to dri_helpers, drisw.c can make use of the extension. Note we have version 6 of the extension, since we want to support createImageFromTexture. Reviewed-by: Emil Velikov Reviewed-by: Marek Olšák --- diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c index c0f3058272c..9466cfdb203 100644 --- a/src/gallium/state_trackers/dri/drisw.c +++ b/src/gallium/state_trackers/dri/drisw.c @@ -362,6 +362,14 @@ drisw_update_tex_buffer(struct dri_drawable *drawable, pipe_transfer_unmap(pipe, transfer); } +static __DRIimageExtension driSWImageExtension = { + .base = { __DRI_IMAGE, 6 }, + + .createImageFromRenderbuffer = dri2_create_image_from_renderbuffer, + .createImageFromTexture = dri2_create_from_texture, + .destroyImage = dri2_destroy_image, +}; + /* * Backend function for init_screen. */ @@ -372,6 +380,7 @@ static const __DRIextension *drisw_screen_extensions[] = { &dri2ConfigQueryExtension.base, &dri2FenceExtension.base, &dri2NoErrorExtension.base, + &driSWImageExtension.base, NULL }; @@ -413,6 +422,8 @@ drisw_init_screen(__DRIscreen * sPriv) if (!configs) goto fail; + screen->lookup_egl_image = dri2_lookup_egl_image; + return configs; fail: dri_destroy_screen_helper(screen);