1 /* 2 * Copyright © 2008 Red Hat, Inc. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Soft- 6 * ware"), to deal in the Software without restriction, including without 7 * limitation the rights to use, copy, modify, merge, publish, distribute, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, provided that the above copyright 10 * notice(s) and this permission notice appear in all copies of the Soft- 11 * ware and that both the above copyright notice(s) and this permission 12 * notice appear in supporting documentation. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- 16 * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY 17 * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN 18 * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE- 19 * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR- 22 * MANCE OF THIS SOFTWARE. 23 * 24 * Except as contained in this notice, the name of a copyright holder shall 25 * not be used in advertising or otherwise to promote the sale, use or 26 * other dealings in this Software without prior written authorization of 27 * the copyright holder. 28 * 29 * Authors: 30 * Kristian Høgsberg (krh@redhat.com) 31 */ 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 struct dri2_screen { 38 struct glx_screen base; 39 40 __DRIscreen *driScreen; 41 __GLXDRIscreen vtable; 42 const __DRIdri2Extension *dri2; 43 const __DRIcoreExtension *core; 44 45 const __DRI2flushExtension *f; 46 const __DRI2configQueryExtension *config; 47 const __DRItexBufferExtension *texBuffer; 48 const __DRI2throttleExtension *throttle; 49 const __DRI2rendererQueryExtension *rendererQuery; 50 const __DRI2interopExtension *interop; 51 const __DRIconfig **driver_configs; 52 53 void *driver; 54 int fd; 55 56 int show_fps_interval; 57 }; 58 59 struct dri2_context 60 { 61 struct glx_context base; 62 __DRIcontext *driContext; 63 }; 64 65 _X_HIDDEN int 66 dri2_query_renderer_integer(struct glx_screen *base, int attribute, 67 unsigned int *value); 68 69 _X_HIDDEN int 70 dri2_query_renderer_string(struct glx_screen *base, int attribute, 71 const char **value); 72 73 _X_HIDDEN int 74 dri2_interop_query_device_info(struct glx_context *ctx, 75 struct mesa_glinterop_device_info *out); 76 77 _X_HIDDEN int 78 dri2_interop_export_object(struct glx_context *ctx, 79 struct mesa_glinterop_export_in *in, 80 struct mesa_glinterop_export_out *out); 81 82 #ifdef __cplusplus 83 } 84 #endif 85