dri_interface.h: Add new __DRI_USE_INVALIDATE extension
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 11 May 2010 13:09:30 +0000 (09:09 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 11 May 2010 14:23:53 +0000 (10:23 -0400)
The presence of this extension indicates to the DRI driver that the
loader will call invalidate in the __DRI2_FLUSH extension, whenever
the needs to query for new buffers.  This means that the DRI driver
can drop the polling in glViewport().

include/GL/internal/dri_interface.h

index 172669e39554ac7364a03d00778d4e9a730d539d..e4c2b3a3eba76f8484d4d79bf5934ef69516bee4 100644 (file)
@@ -427,6 +427,26 @@ struct __DRIswrastLoaderExtensionRec {
                     char *data, void *loaderPrivate);
 };
 
+/**
+ * Invalidate loader extension.  The presence of this extension
+ * indicates to the DRI driver that the loader will call invalidate in
+ * the __DRI2_FLUSH extension, whenever the needs to query for new
+ * buffers.  This means that the DRI driver can drop the polling in
+ * glViewport().
+ *
+ * The extension doesn't provide any functionality, it's only use to
+ * indicate to the driver that it can use the new semantics.  A DRI
+ * driver can use this to switch between the different semantics or
+ * just refuse to initialize if this extension isn't present.
+ */
+#define __DRI_USE_INVALIDATE "DRI_UseInvalidate"
+#define __DRI_USE_INVALIDATE_VERSION 1
+
+typedef struct __DRIuseInvalidateExtensionRec __DRIuseInvalidateExtension;
+struct __DRIuseInvalidateExtensionRec {
+   __DRIextension base;
+};
+
 /**
  * The remaining extensions describe driver extensions, immediately
  * available interfaces provided by the driver.  To start using the