summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/dri
diff options
context:
space:
mode:
authorJakob Bornecrantz <[email protected]>2012-08-21 23:19:32 +0200
committerJakob Bornecrantz <[email protected]>2012-08-26 15:40:10 +0200
commit15effe1fabe9e47e680f9f9c12ea6b61acf97cd5 (patch)
treec864daa2380d65db96bf93131fccc09af450332b /src/gallium/state_trackers/dri
parent93ebec87ed46978942464a6f08801ae06e86fa8b (diff)
st/dri: Claim to support validate_usage
Support version 3 as well as 2, since that is only the new format query, which Jesse added support for to st/dri when he added it to dri_inteface.h. Tested-by: Scott Moreau <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/dri')
-rw-r--r--src/gallium/state_trackers/dri/drm/dri2.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c
index 1f14b5c3140..5c7acfeb4f4 100644
--- a/src/gallium/state_trackers/dri/drm/dri2.c
+++ b/src/gallium/state_trackers/dri/drm/dri2.c
@@ -629,6 +629,20 @@ dri2_dup_image(__DRIimage *image, void *loaderPrivate)
return img;
}
+static GLboolean
+dri2_validate_usage(__DRIimage *image, unsigned int use)
+{
+ /*
+ * Gallium drivers are bad at adding usages to the resources
+ * once opened again in another process, which is the main use
+ * case for this, so we have to lie.
+ */
+ if (image != NULL)
+ return GL_TRUE;
+ else
+ return GL_FALSE;
+}
+
static void
dri2_destroy_image(__DRIimage *img)
{
@@ -637,13 +651,14 @@ dri2_destroy_image(__DRIimage *img)
}
static struct __DRIimageExtensionRec dri2ImageExtension = {
- { __DRI_IMAGE, 1 },
+ { __DRI_IMAGE, 3 },
dri2_create_image_from_name,
dri2_create_image_from_renderbuffer,
dri2_destroy_image,
dri2_create_image,
dri2_query_image,
dri2_dup_image,
+ dri2_validate_usage,
};
/*