summaryrefslogtreecommitdiffstats
path: root/include/GL/internal/dri_interface.h
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2008-03-09 21:28:04 -0400
committerKristian Høgsberg <[email protected]>2008-03-09 21:28:04 -0400
commitdcbe215c015c8dc48440f578023c2b9d12b934e4 (patch)
treeff2196f4e814c36ec23cbaf1a94bac152a8acdf7 /include/GL/internal/dri_interface.h
parent180b41594c669574355b54ceb2c2ff96889bf336 (diff)
DRI2: Make setTexBuffer take a __DRIdrawable instead of a BO handle.
This fixes a problem where texturing from the same Pixmap more than once per batchbuffer would hang the DRI driver. We just use the region associated with the front left renderbuffer of the __DRIdrawable for texturing, which avoids creating different regions for the same BO. This change also make GLX_EXT_texture_from_pixmap work for direct rendering, since tracking the __DRIdrawable -> BO handle now uses the standard DRI2 event buffer. Of course, DRI2 direct rendering doesn't exist yet. Finally, this commit bumps the DRI interface version again, accounting for the change in the DRI_TEX_BUFFER extension and the change in commit 0bba0e5be7a4a7275dad1edc34bdcc134ea1f424 to pass in the event buffer head index on drawable creation.
Diffstat (limited to 'include/GL/internal/dri_interface.h')
-rw-r--r--include/GL/internal/dri_interface.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
index 0cd9f944dd0..fb68fd6ee71 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -216,16 +216,14 @@ struct __DRItexBufferExtensionRec {
__DRIextension base;
/**
- * Method to override base texture image with a DRM memory manager
- * buffer object. The depth passed in allows e.g. to ignore the
- * alpha channel of texture images where the non-alpha components
- * don't occupy a whole texel.
+ * Method to override base texture image with the contents of a
+ * __DRIdrawable.
*
* For GLX_EXT_texture_from_pixmap with AIGLX.
*/
void (*setTexBuffer)(__DRIcontext *pDRICtx,
- GLint target, unsigned long handle,
- GLint cpp, GLuint pitch, GLuint height);
+ GLint target,
+ __DRIdrawable *pDraw);
};
@@ -243,7 +241,7 @@ struct __DRItexBufferExtensionRec {
*/
/*@{*/
-#define __DRI_INTERFACE_VERSION 20080226
+#define __DRI_INTERFACE_VERSION 20080310
typedef void *(CREATENEWSCREENFUNC)(int scr, __DRIscreen *psc,
const __DRIversion * ddx_version, const __DRIversion * dri_version,