Merge commit 'origin/gallium-0.1' into gallium-0.2
[mesa.git] / include / GL / xmesa.h
index 273b83508c7100077c4559e27c15f1111578ec31..98139af83368de6f85014a111567de221bddddc3 100644 (file)
@@ -1,10 +1,8 @@
-/* $Id: xmesa.h,v 1.9 2000/08/22 13:31:01 joukj Exp $ */
-
 /*
  * Mesa 3-D graphics library
- * Version:  3.3
+ * Version:  7.1
  * 
- * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
  * 
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -58,7 +56,6 @@ and create a window, you must do the following to use the X/Mesa interface:
 
 8. Before exiting, call XMesaDestroyVisual and XMesaDestroyContext.
 
-See the demos/xdemo.c and xmesa1.c files for examples.
 */
 
 
@@ -90,7 +87,7 @@ extern struct Library *XLibBase;
 #endif
 
 
-#define XMESA_MAJOR_VERSION 3
+#define XMESA_MAJOR_VERSION 6
 #define XMESA_MINOR_VERSION 3
 
 
@@ -183,6 +180,21 @@ extern XMesaContext XMesaCreateContext( XMesaVisual v,
 extern void XMesaDestroyContext( XMesaContext c );
 
 
+#ifdef XFree86Server
+/*
+ * These are the extra routines required for integration with XFree86.
+ * None of these routines should be user visible. -KEM
+ */
+extern GLboolean XMesaForceCurrent( XMesaContext c );
+
+extern GLboolean XMesaLoseCurrent( XMesaContext c );
+
+extern GLboolean XMesaCopyContext( XMesaContext src,
+                                  XMesaContext dst,
+                                  GLuint mask );
+#endif /* XFree86Server */
+
+
 /*
  * Create an XMesaBuffer from an X window.
  */
@@ -366,6 +378,44 @@ extern GLboolean XMesaSetFXmode( GLint mode );
 
 
 
+/*
+ * Reallocate the back/depth/stencil/accum/etc/ buffers associated with
+ * buffer <b> if its size has changed.
+ *
+ * New in Mesa 4.0.2
+ */
+extern void XMesaResizeBuffers( XMesaBuffer b );
+
+
+
+/*
+ * Create a pbuffer.
+ * New in Mesa 4.1
+ */
+extern XMesaBuffer XMesaCreatePBuffer(XMesaVisual v, XMesaColormap cmap,
+                                      unsigned int width, unsigned int height);
+
+
+
+/*
+ * Texture from Pixmap
+ * New in Mesa 7.1
+ */
+extern void
+XMesaBindTexImage(XMesaDisplay *dpy, XMesaBuffer drawable, int buffer,
+                  const int *attrib_list);
+
+extern void
+XMesaReleaseTexImage(XMesaDisplay *dpy, XMesaBuffer drawable, int buffer);
+
+
+extern XMesaBuffer
+XMesaCreatePixmapTextureBuffer(XMesaVisual v, XMesaPixmap p,
+                               XMesaColormap cmap,
+                               int format, int target, int mipmap);
+
+
+
 #ifdef __cplusplus
 }
 #endif