1*54e60f84SAndroid Build Coastguard Worker /* 2*54e60f84SAndroid Build Coastguard Worker * Copyright © 2007,2008 Red Hat, Inc. 3*54e60f84SAndroid Build Coastguard Worker * 4*54e60f84SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a 5*54e60f84SAndroid Build Coastguard Worker * copy of this software and associated documentation files (the "Soft- 6*54e60f84SAndroid Build Coastguard Worker * ware"), to deal in the Software without restriction, including without 7*54e60f84SAndroid Build Coastguard Worker * limitation the rights to use, copy, modify, merge, publish, distribute, 8*54e60f84SAndroid Build Coastguard Worker * and/or sell copies of the Software, and to permit persons to whom the 9*54e60f84SAndroid Build Coastguard Worker * Software is furnished to do so, provided that the above copyright 10*54e60f84SAndroid Build Coastguard Worker * notice(s) and this permission notice appear in all copies of the Soft- 11*54e60f84SAndroid Build Coastguard Worker * ware and that both the above copyright notice(s) and this permission 12*54e60f84SAndroid Build Coastguard Worker * notice appear in supporting documentation. 13*54e60f84SAndroid Build Coastguard Worker * 14*54e60f84SAndroid Build Coastguard Worker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15*54e60f84SAndroid Build Coastguard Worker * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- 16*54e60f84SAndroid Build Coastguard Worker * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY 17*54e60f84SAndroid Build Coastguard Worker * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN 18*54e60f84SAndroid Build Coastguard Worker * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE- 19*54e60f84SAndroid Build Coastguard Worker * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 20*54e60f84SAndroid Build Coastguard Worker * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 21*54e60f84SAndroid Build Coastguard Worker * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR- 22*54e60f84SAndroid Build Coastguard Worker * MANCE OF THIS SOFTWARE. 23*54e60f84SAndroid Build Coastguard Worker * 24*54e60f84SAndroid Build Coastguard Worker * Except as contained in this notice, the name of a copyright holder shall 25*54e60f84SAndroid Build Coastguard Worker * not be used in advertising or otherwise to promote the sale, use or 26*54e60f84SAndroid Build Coastguard Worker * other dealings in this Software without prior written authorization of 27*54e60f84SAndroid Build Coastguard Worker * the copyright holder. 28*54e60f84SAndroid Build Coastguard Worker * 29*54e60f84SAndroid Build Coastguard Worker * Authors: 30*54e60f84SAndroid Build Coastguard Worker * Kristian Høgsberg ([email protected]) 31*54e60f84SAndroid Build Coastguard Worker */ 32*54e60f84SAndroid Build Coastguard Worker 33*54e60f84SAndroid Build Coastguard Worker #ifndef _VA_DRI2_H_ 34*54e60f84SAndroid Build Coastguard Worker #define _VA_DRI2_H_ 35*54e60f84SAndroid Build Coastguard Worker 36*54e60f84SAndroid Build Coastguard Worker #include <X11/Xproto.h> 37*54e60f84SAndroid Build Coastguard Worker #include <X11/extensions/Xfixes.h> 38*54e60f84SAndroid Build Coastguard Worker #include <X11/Xfuncproto.h> 39*54e60f84SAndroid Build Coastguard Worker #include <xf86drm.h> 40*54e60f84SAndroid Build Coastguard Worker 41*54e60f84SAndroid Build Coastguard Worker typedef struct { 42*54e60f84SAndroid Build Coastguard Worker unsigned int attachment; 43*54e60f84SAndroid Build Coastguard Worker unsigned int name; 44*54e60f84SAndroid Build Coastguard Worker unsigned int pitch; 45*54e60f84SAndroid Build Coastguard Worker unsigned int cpp; 46*54e60f84SAndroid Build Coastguard Worker unsigned int flags; 47*54e60f84SAndroid Build Coastguard Worker } VA_DRI2Buffer; 48*54e60f84SAndroid Build Coastguard Worker 49*54e60f84SAndroid Build Coastguard Worker extern Bool 50*54e60f84SAndroid Build Coastguard Worker VA_DRI2QueryExtension(Display *display, int *eventBase, int *errorBase); 51*54e60f84SAndroid Build Coastguard Worker extern Bool 52*54e60f84SAndroid Build Coastguard Worker VA_DRI2QueryVersion(Display *display, int *major, int *minor); 53*54e60f84SAndroid Build Coastguard Worker extern Bool 54*54e60f84SAndroid Build Coastguard Worker VA_DRI2Connect(Display *display, XID window, 55*54e60f84SAndroid Build Coastguard Worker char **driverName, char **deviceName); 56*54e60f84SAndroid Build Coastguard Worker extern Bool 57*54e60f84SAndroid Build Coastguard Worker VA_DRI2Authenticate(Display *display, XID window, drm_magic_t magic); 58*54e60f84SAndroid Build Coastguard Worker extern void 59*54e60f84SAndroid Build Coastguard Worker VA_DRI2CreateDrawable(Display *display, XID drawable); 60*54e60f84SAndroid Build Coastguard Worker extern void 61*54e60f84SAndroid Build Coastguard Worker VA_DRI2DestroyDrawable(Display *display, XID handle); 62*54e60f84SAndroid Build Coastguard Worker extern VA_DRI2Buffer * 63*54e60f84SAndroid Build Coastguard Worker VA_DRI2GetBuffers(Display *dpy, XID drawable, 64*54e60f84SAndroid Build Coastguard Worker int *width, int *height, 65*54e60f84SAndroid Build Coastguard Worker unsigned int *attachments, int count, 66*54e60f84SAndroid Build Coastguard Worker int *outCount); 67*54e60f84SAndroid Build Coastguard Worker extern void 68*54e60f84SAndroid Build Coastguard Worker VA_DRI2CopyRegion(Display *dpy, XID drawable, XserverRegion region, 69*54e60f84SAndroid Build Coastguard Worker CARD32 dest, CARD32 src); 70*54e60f84SAndroid Build Coastguard Worker extern void 71*54e60f84SAndroid Build Coastguard Worker VA_DRI2SwapBuffers(Display *dpy, XID drawable, CARD64 target_msc, CARD64 divisor, 72*54e60f84SAndroid Build Coastguard Worker CARD64 remainder, CARD64 *count); 73*54e60f84SAndroid Build Coastguard Worker #endif 74