diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2011-03-09 20:55:02 +0100 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2011-05-30 12:02:58 +0200 |
commit | a074942b13e8c7647685d25139be830d33223c9d (patch) | |
tree | 81224025e352db6ef9ff36022d4ef02601a19d4b | |
parent | 9195f0475359f2503348779a9a1900fbe470083f (diff) |
st/dri: Implement DRIimageExtension::dupImage
-rw-r--r-- | src/gallium/state_trackers/dri/drm/dri2.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c index e471e8e5be..0296a78092 100644 --- a/src/gallium/state_trackers/dri/drm/dri2.c +++ b/src/gallium/state_trackers/dri/drm/dri2.c @@ -564,6 +564,24 @@ dri2_query_image(__DRIimage *image, int attrib, int *value) } } +static __DRIimage * +dri2_dup_image(__DRIimage *image, void *loaderPrivate) +{ + __DRIimage *img; + + img = CALLOC_STRUCT(__DRIimageRec); + if (!img) + return NULL; + + img->texture = NULL; + pipe_resource_reference(&img->texture, image->texture); + img->level = image->level; + img->layer = image->layer; + img->loader_private = loaderPrivate; + + return img; +} + static void dri2_destroy_image(__DRIimage *img) { @@ -578,6 +596,7 @@ static struct __DRIimageExtensionRec dri2ImageExtension = { dri2_destroy_image, dri2_create_image, dri2_query_image, + dri2_dup_image, }; /* |