diff options
author | Benjamin Franzke <[email protected]> | 2011-03-09 20:55:02 +0100 |
---|---|---|
committer | Benjamin Franzke <[email protected]> | 2011-06-23 21:07:17 +0200 |
commit | 15d7f1c1c73735eb108710a01806712b11ce5e8a (patch) | |
tree | d703201022631047af9d623be34ed5fca3496809 /src/gallium/state_trackers | |
parent | 3af3c58dfd8b1ddc96fc10b6865de0cb26860dde (diff) |
st/dri: Implement DRIimageExtension::dupImage
Diffstat (limited to 'src/gallium/state_trackers')
-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 e471e8e5be2..0296a78092a 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, }; /* |