1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* $XFree86: xc/lib/GL/dri/xf86dri.h,v 1.7 2000/12/07 20:26:02 dawes Exp $ */ 2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/************************************************************************** 3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCopyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. 5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCopyright 2000 VA Linux Systems, Inc. 6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCopyright (c) 2002, 2008, 2009 Apple Computer, Inc. 7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectAll Rights Reserved. 8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectPermission is hereby granted, free of charge, to any person obtaining a 10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectcopy of this software and associated documentation files (the 11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project"Software"), to deal in the Software without restriction, including 12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectwithout limitation the rights to use, copy, modify, merge, publish, 13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectdistribute, sub license, and/or sell copies of the Software, and to 14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectpermit persons to whom the Software is furnished to do so, subject to 15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectthe following conditions: 16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectThe above copyright notice and this permission notice (including the 18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectnext paragraph) shall be included in all copies or substantial portions 19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectof the Software. 20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectIN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR 25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**************************************************************************/ 30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* 32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Authors: 33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Kevin E. Martin <martin@valinux.com> 34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Jens Owen <jens@valinux.com> 35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Rickard E. (Rik) Faith <faith@valinux.com> 36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef _APPLEDRI_H_ 40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define _APPLEDRI_H_ 41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <X11/Xlib.h> 43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <X11/Xfuncproto.h> 44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRIQueryVersion 0 46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRIQueryDirectRenderingCapable 1 47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRICreateSurface 2 48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRIDestroySurface 3 49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRIAuthConnection 4 50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRICreateSharedBuffer 5 51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRISwapBuffers 6 52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRICreatePixmap 7 53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X_AppleDRIDestroyPixmap 8 54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Requests up to and including 18 were used in a previous version */ 56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Events */ 58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRIObsoleteEvent1 0 59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRIObsoleteEvent2 1 60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRIObsoleteEvent3 2 61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRISurfaceNotify 3 62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRINumberEvents 4 63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Errors */ 65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRIClientNotLocal 0 66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRIOperationNotSupported 1 67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRINumberErrors (AppleDRIOperationNotSupported + 1) 68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Kinds of SurfaceNotify events: */ 70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRISurfaceNotifyChanged 0 71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define AppleDRISurfaceNotifyDestroyed 1 72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef _APPLEDRI_SERVER_ 74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct 76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project{ 77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int type; /* of event */ 78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long serial; /* # of last request processed by server */ 79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project Bool send_event; /* true if this came frome a SendEvent request */ 80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project Display *display; /* Display the event was read from */ 81656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project Window window; /* window of event */ 82656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project Time time; /* server timestamp when event happened */ 83656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int kind; /* subtype of event */ 84656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int arg; 85656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project} XAppleDRINotifyEvent; 86656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 87656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project_XFUNCPROTOBEGIN 88656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project Bool XAppleDRIQueryExtension(Display * dpy, int *event_base, 89656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int *error_base); 90656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 91656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRIQueryVersion(Display * dpy, int *majorVersion, 92656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int *minorVersion, int *patchVersion); 93656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 94656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRIQueryDirectRenderingCapable(Display * dpy, int screen, 95656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project Bool * isCapable); 96656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 97656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid *XAppleDRISetSurfaceNotifyHandler(void (*fun) (Display * dpy, 98656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned uid, int kind)); 99656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRIAuthConnection(Display * dpy, int screen, unsigned int magic); 101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRICreateSurface(Display * dpy, int screen, Drawable drawable, 103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned int client_id, unsigned int key[2], 104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned int *uid); 105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRIDestroySurface(Display * dpy, int screen, Drawable drawable); 107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRISynchronizeSurfaces(Display * dpy); 109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRICreateSharedBuffer(Display * dpy, int screen, Drawable drawable, 111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project Bool doubleSwap, char *path, size_t pathlen, 112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int *width, int *height); 113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRISwapBuffers(Display * dpy, int screen, Drawable drawable); 115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRICreatePixmap(Display * dpy, int screen, Drawable drawable, 117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int *width, int *height, int *pitch, int *bpp, 118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project size_t * size, char *bufname, size_t bufnamesize); 119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBool XAppleDRIDestroyPixmap(Display * dpy, Pixmap pixmap); 121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project_XFUNCPROTOEND 123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* _APPLEDRI_SERVER_ */ 124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* _APPLEDRI_H_ */ 125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project