svga: initialize a variable to silence a gcc warning
[mesa.git] / src / glx / glxclient.h
index 30c9e52139543cc923589d95d99c59643a39ba22..ed57a2968001e1c7ad7bca821b5c94a0d6b732ed 100644 (file)
@@ -47,8 +47,8 @@
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include <pthread.h>
 #include <stdint.h>
+#include <pthread.h>
 #include "GL/glxproto.h"
 #include "glxconfig.h"
 #include "glxhash.h"
 
 #include "glxextensions.h"
 
+#if defined(USE_LIBGLVND_GLX)
+#define _GLX_PUBLIC _X_HIDDEN
+#else
+#define _GLX_PUBLIC _X_EXPORT
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 
 #define GLX_MAJOR_VERSION 1       /* current version numbers */
 #define GLX_MINOR_VERSION 4
@@ -208,6 +218,10 @@ typedef struct __GLXattributeMachineRec
    __GLXattribute **stackPointer;
 } __GLXattributeMachine;
 
+struct mesa_glinterop_device_info;
+struct mesa_glinterop_export_in;
+struct mesa_glinterop_export_out;
+
 struct glx_context_vtable {
    void (*destroy)(struct glx_context *ctx);
    int (*bind)(struct glx_context *context, struct glx_context *old,
@@ -222,6 +236,11 @@ struct glx_context_vtable {
                          int buffer, const int *attrib_list);
    void (*release_tex_image)(Display * dpy, GLXDrawable drawable, int buffer);
    void * (*get_proc_address)(const char *symbol);
+   int (*interop_query_device_info)(struct glx_context *ctx,
+                                    struct mesa_glinterop_device_info *out);
+   int (*interop_export_object)(struct glx_context *ctx,
+                                struct mesa_glinterop_export_in *in,
+                                struct mesa_glinterop_export_out *out);
 };
 
 /**
@@ -815,4 +834,8 @@ indirect_create_context_attribs(struct glx_screen *base,
                                 const uint32_t *attribs,
                                 unsigned *error);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* !__GLX_client_h__ */