xref: /aosp_15_r20/external/libdrm/tests/ttmtest/src/xf86dri.h (revision 7688df22e49036ff52a766b7101da3a49edadb8c)
1*7688df22SAndroid Build Coastguard Worker /* $XFree86: xc/lib/GL/dri/xf86dri.h,v 1.8 2002/10/30 12:51:25 alanh Exp $ */
2*7688df22SAndroid Build Coastguard Worker /**************************************************************************
3*7688df22SAndroid Build Coastguard Worker 
4*7688df22SAndroid Build Coastguard Worker Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
5*7688df22SAndroid Build Coastguard Worker Copyright 2000 VA Linux Systems, Inc.
6*7688df22SAndroid Build Coastguard Worker All Rights Reserved.
7*7688df22SAndroid Build Coastguard Worker 
8*7688df22SAndroid Build Coastguard Worker Permission is hereby granted, free of charge, to any person obtaining a
9*7688df22SAndroid Build Coastguard Worker copy of this software and associated documentation files (the
10*7688df22SAndroid Build Coastguard Worker "Software"), to deal in the Software without restriction, including
11*7688df22SAndroid Build Coastguard Worker without limitation the rights to use, copy, modify, merge, publish,
12*7688df22SAndroid Build Coastguard Worker distribute, sub license, and/or sell copies of the Software, and to
13*7688df22SAndroid Build Coastguard Worker permit persons to whom the Software is furnished to do so, subject to
14*7688df22SAndroid Build Coastguard Worker the following conditions:
15*7688df22SAndroid Build Coastguard Worker 
16*7688df22SAndroid Build Coastguard Worker The above copyright notice and this permission notice (including the
17*7688df22SAndroid Build Coastguard Worker next paragraph) shall be included in all copies or substantial portions
18*7688df22SAndroid Build Coastguard Worker of the Software.
19*7688df22SAndroid Build Coastguard Worker 
20*7688df22SAndroid Build Coastguard Worker THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21*7688df22SAndroid Build Coastguard Worker OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22*7688df22SAndroid Build Coastguard Worker MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
23*7688df22SAndroid Build Coastguard Worker IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
24*7688df22SAndroid Build Coastguard Worker ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25*7688df22SAndroid Build Coastguard Worker TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26*7688df22SAndroid Build Coastguard Worker SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27*7688df22SAndroid Build Coastguard Worker 
28*7688df22SAndroid Build Coastguard Worker **************************************************************************/
29*7688df22SAndroid Build Coastguard Worker 
30*7688df22SAndroid Build Coastguard Worker /**
31*7688df22SAndroid Build Coastguard Worker  * \file xf86dri.h
32*7688df22SAndroid Build Coastguard Worker  * Protocol numbers and function prototypes for DRI X protocol.
33*7688df22SAndroid Build Coastguard Worker  *
34*7688df22SAndroid Build Coastguard Worker  * \author Kevin E. Martin <[email protected]>
35*7688df22SAndroid Build Coastguard Worker  * \author Jens Owen <[email protected]>
36*7688df22SAndroid Build Coastguard Worker  * \author Rickard E. (Rik) Faith <[email protected]>
37*7688df22SAndroid Build Coastguard Worker  */
38*7688df22SAndroid Build Coastguard Worker 
39*7688df22SAndroid Build Coastguard Worker #ifndef _XF86DRI_H_
40*7688df22SAndroid Build Coastguard Worker #define _XF86DRI_H_
41*7688df22SAndroid Build Coastguard Worker 
42*7688df22SAndroid Build Coastguard Worker #include <X11/Xfuncproto.h>
43*7688df22SAndroid Build Coastguard Worker #include <drm/drm.h>
44*7688df22SAndroid Build Coastguard Worker 
45*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIQueryVersion			0
46*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIQueryDirectRenderingCapable	1
47*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIOpenConnection			2
48*7688df22SAndroid Build Coastguard Worker #define X_XF86DRICloseConnection		3
49*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIGetClientDriverName		4
50*7688df22SAndroid Build Coastguard Worker #define X_XF86DRICreateContext			5
51*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIDestroyContext			6
52*7688df22SAndroid Build Coastguard Worker #define X_XF86DRICreateDrawable			7
53*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIDestroyDrawable		8
54*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIGetDrawableInfo		9
55*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIGetDeviceInfo			10
56*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIAuthConnection                 11
57*7688df22SAndroid Build Coastguard Worker #define X_XF86DRIOpenFullScreen                 12	/* Deprecated */
58*7688df22SAndroid Build Coastguard Worker #define X_XF86DRICloseFullScreen                13	/* Deprecated */
59*7688df22SAndroid Build Coastguard Worker 
60*7688df22SAndroid Build Coastguard Worker #define XF86DRINumberEvents		0
61*7688df22SAndroid Build Coastguard Worker 
62*7688df22SAndroid Build Coastguard Worker #define XF86DRIClientNotLocal		0
63*7688df22SAndroid Build Coastguard Worker #define XF86DRIOperationNotSupported	1
64*7688df22SAndroid Build Coastguard Worker #define XF86DRINumberErrors		(XF86DRIOperationNotSupported + 1)
65*7688df22SAndroid Build Coastguard Worker 
66*7688df22SAndroid Build Coastguard Worker #ifndef _XF86DRI_SERVER_
67*7688df22SAndroid Build Coastguard Worker 
68*7688df22SAndroid Build Coastguard Worker _XFUNCPROTOBEGIN
69*7688df22SAndroid Build Coastguard Worker     Bool uniDRIQueryExtension(Display * dpy, int *event_base,
70*7688df22SAndroid Build Coastguard Worker     int *error_base);
71*7688df22SAndroid Build Coastguard Worker 
72*7688df22SAndroid Build Coastguard Worker Bool uniDRIQueryVersion(Display * dpy, int *majorVersion, int *minorVersion,
73*7688df22SAndroid Build Coastguard Worker     int *patchVersion);
74*7688df22SAndroid Build Coastguard Worker 
75*7688df22SAndroid Build Coastguard Worker Bool uniDRIQueryDirectRenderingCapable(Display * dpy, int screen,
76*7688df22SAndroid Build Coastguard Worker     Bool * isCapable);
77*7688df22SAndroid Build Coastguard Worker 
78*7688df22SAndroid Build Coastguard Worker Bool uniDRIOpenConnection(Display * dpy, int screen, drm_handle_t * hSAREA,
79*7688df22SAndroid Build Coastguard Worker     char **busIDString);
80*7688df22SAndroid Build Coastguard Worker 
81*7688df22SAndroid Build Coastguard Worker Bool uniDRIAuthConnection(Display * dpy, int screen, drm_magic_t magic);
82*7688df22SAndroid Build Coastguard Worker 
83*7688df22SAndroid Build Coastguard Worker Bool uniDRICloseConnection(Display * dpy, int screen);
84*7688df22SAndroid Build Coastguard Worker 
85*7688df22SAndroid Build Coastguard Worker Bool uniDRIGetClientDriverName(Display * dpy, int screen,
86*7688df22SAndroid Build Coastguard Worker     int *ddxDriverMajorVersion, int *ddxDriverMinorVersion,
87*7688df22SAndroid Build Coastguard Worker     int *ddxDriverPatchVersion, char **clientDriverName);
88*7688df22SAndroid Build Coastguard Worker 
89*7688df22SAndroid Build Coastguard Worker Bool uniDRICreateContext(Display * dpy, int screen, Visual * visual,
90*7688df22SAndroid Build Coastguard Worker     XID * ptr_to_returned_context_id, drm_context_t * hHWContext);
91*7688df22SAndroid Build Coastguard Worker 
92*7688df22SAndroid Build Coastguard Worker Bool uniDRICreateContextWithConfig(Display * dpy, int screen, int configID,
93*7688df22SAndroid Build Coastguard Worker     XID * ptr_to_returned_context_id, drm_context_t * hHWContext);
94*7688df22SAndroid Build Coastguard Worker 
95*7688df22SAndroid Build Coastguard Worker extern Bool uniDRIDestroyContext(Display * dpy, int screen, XID context_id);
96*7688df22SAndroid Build Coastguard Worker 
97*7688df22SAndroid Build Coastguard Worker extern Bool uniDRICreateDrawable(Display * dpy, int screen,
98*7688df22SAndroid Build Coastguard Worker     Drawable drawable, drm_drawable_t * hHWDrawable);
99*7688df22SAndroid Build Coastguard Worker 
100*7688df22SAndroid Build Coastguard Worker extern Bool uniDRIDestroyDrawable(Display * dpy, int screen,
101*7688df22SAndroid Build Coastguard Worker     Drawable drawable);
102*7688df22SAndroid Build Coastguard Worker 
103*7688df22SAndroid Build Coastguard Worker Bool uniDRIGetDrawableInfo(Display * dpy, int screen, Drawable drawable,
104*7688df22SAndroid Build Coastguard Worker     unsigned int *index, unsigned int *stamp,
105*7688df22SAndroid Build Coastguard Worker     int *X, int *Y, int *W, int *H,
106*7688df22SAndroid Build Coastguard Worker     int *numClipRects, drm_clip_rect_t ** pClipRects,
107*7688df22SAndroid Build Coastguard Worker     int *backX, int *backY,
108*7688df22SAndroid Build Coastguard Worker     int *numBackClipRects, drm_clip_rect_t ** pBackClipRects);
109*7688df22SAndroid Build Coastguard Worker 
110*7688df22SAndroid Build Coastguard Worker Bool uniDRIGetDeviceInfo(Display * dpy, int screen,
111*7688df22SAndroid Build Coastguard Worker     drm_handle_t * hFrameBuffer, int *fbOrigin, int *fbSize,
112*7688df22SAndroid Build Coastguard Worker     int *fbStride, int *devPrivateSize, void **pDevPrivate);
113*7688df22SAndroid Build Coastguard Worker 
114*7688df22SAndroid Build Coastguard Worker _XFUNCPROTOEND
115*7688df22SAndroid Build Coastguard Worker #endif /* _XF86DRI_SERVER_ */
116*7688df22SAndroid Build Coastguard Worker #endif /* _XF86DRI_H_ */
117