Mesa (master): st/dri: add drisw image extension

Emil Velikov evelikov at kemper.freedesktop.org
Mon Aug 7 17:24:58 UTC 2017


Module: Mesa
Branch: master
Commit: bbdeddd5fd0b797e1e281f058338b3da4d98029d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bbdeddd5fd0b797e1e281f058338b3da4d98029d

Author: Gurchetan Singh <gurchetansingh at chromium.org>
Date:   Tue Aug  1 14:49:33 2017 -0700

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 <emil.velikov at collabora.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/state_trackers/dri/drisw.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c
index c0f3058272..9466cfdb20 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);




More information about the mesa-commit mailing list