X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglx%2Fglxclient.h;h=41edf17210f15d41cc7e55d28737ff20589dc6ca;hb=bf3fc3cf3d5dbf9f337a137d7715a8b88961fe3d;hp=7ffd4842e0c440310586f68ec4bdd5370e1da8a8;hpb=22a9e00aab66d3dd6890e9eaac3f429c0ddec17e;p=mesa.git diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index 7ffd4842e0c..41edf17210f 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -56,7 +56,7 @@ #include "glxextensions.h" -#if defined(USE_LIBGLVND_GLX) +#if defined(USE_LIBGLVND) #define _GLX_PUBLIC _X_HIDDEN #else #define _GLX_PUBLIC _X_EXPORT @@ -154,11 +154,15 @@ struct __GLXDRIdrawableRec extern __GLXDRIdisplay *driswCreateDisplay(Display * dpy); extern __GLXDRIdisplay *driCreateDisplay(Display * dpy); extern __GLXDRIdisplay *dri2CreateDisplay(Display * dpy); +extern __GLXDRIdisplay *dri3_create_display(Display * dpy); +extern __GLXDRIdisplay *driwindowsCreateDisplay(Display * dpy); + +/* +** +*/ extern void dri2InvalidateBuffers(Display *dpy, XID drawable); extern unsigned dri2GetSwapEventType(Display *dpy, XID drawable); -extern __GLXDRIdisplay *dri3_create_display(Display * dpy); - /* ** Functions to obtain driver configuration information from a direct ** rendering client application @@ -218,9 +222,9 @@ typedef struct __GLXattributeMachineRec __GLXattribute **stackPointer; } __GLXattributeMachine; -typedef struct _mesa_glinterop_device_info mesa_glinterop_device_info; -typedef struct _mesa_glinterop_export_in mesa_glinterop_export_in; -typedef struct _mesa_glinterop_export_out mesa_glinterop_export_out; +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); @@ -237,10 +241,10 @@ struct glx_context_vtable { 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, - mesa_glinterop_device_info *out); + struct mesa_glinterop_device_info *out); int (*interop_export_object)(struct glx_context *ctx, - mesa_glinterop_export_in *in, - mesa_glinterop_export_out *out); + struct mesa_glinterop_export_in *in, + struct mesa_glinterop_export_out *out); }; /** @@ -323,13 +327,6 @@ struct glx_context GLuint *selectBuf; /*@} */ - /** - * Fill newImage with the unpacked form of \c oldImage getting it - * ready for transport to the server. - */ - void (*fillImage) (struct glx_context *, GLint, GLint, GLint, GLint, GLenum, - GLenum, const GLvoid *, GLubyte *, GLubyte *); - /** * Client side attribs. */ @@ -433,6 +430,12 @@ struct glx_context */ unsigned long thread_refcount; + /** + * GLX_ARB_create_context_no_error setting for this context. + * This needs to be kept here to enforce shared context rules. + */ + Bool noError; + char gl_extension_bits[__GL_EXT_BYTES]; }; @@ -606,6 +609,9 @@ struct glx_display __GLXDRIdisplay *dri2Display; __GLXDRIdisplay *dri3Display; #endif +#ifdef GLX_USE_WINDOWSGL + __GLXDRIdisplay *windowsdriDisplay; +#endif }; struct glx_drawable { @@ -639,8 +645,6 @@ extern void __glXSendLargeCommand(struct glx_context *, const GLvoid *, GLint, /* Initialize the GLX extension for dpy */ extern struct glx_display *__glXInitialize(Display *); -extern void __glXPreferEGL(int state); - /************************************************************************/ extern int __glXDebug; @@ -649,7 +653,7 @@ extern int __glXDebug; extern void __glXSetCurrentContext(struct glx_context * c); -# if defined( GLX_USE_TLS ) +# if defined( USE_ELF_TLS ) extern __thread void *__glX_tls_Context __attribute__ ((tls_model("initial-exec"))); @@ -660,7 +664,7 @@ extern __thread void *__glX_tls_Context extern struct glx_context *__glXGetCurrentContext(void); -# endif /* defined( GLX_USE_TLS ) */ +# endif /* defined( USE_ELF_TLS ) */ extern void __glXSetCurrentContextNull(void); @@ -834,6 +838,10 @@ indirect_create_context_attribs(struct glx_screen *base, const uint32_t *attribs, unsigned *error); + +extern int __glXGetDrawableAttribute(Display * dpy, GLXDrawable drawable, + int attribute, unsigned int *value); + #ifdef __cplusplus } #endif