1af69d88dSmrg/* This file was derived from drisw_glx.c which carries the following 2af69d88dSmrg * copyright: 3af69d88dSmrg * 4af69d88dSmrg * Copyright 2008 George Sapountzis 5af69d88dSmrg * 6af69d88dSmrg * Permission is hereby granted, free of charge, to any person obtaining a 7af69d88dSmrg * copy of this software and associated documentation files (the "Software"), 8af69d88dSmrg * to deal in the Software without restriction, including without limitation 9af69d88dSmrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10af69d88dSmrg * and/or sell copies of the Software, and to permit persons to whom the 11af69d88dSmrg * Software is furnished to do so, subject to the following conditions: 12af69d88dSmrg * 13af69d88dSmrg * The above copyright notice and this permission notice (including the next 14af69d88dSmrg * paragraph) shall be included in all copies or substantial portions of the 15af69d88dSmrg * Software. 16af69d88dSmrg * 17af69d88dSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18af69d88dSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19af69d88dSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20af69d88dSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21af69d88dSmrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22af69d88dSmrg * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23af69d88dSmrg * SOFTWARE. 24af69d88dSmrg */ 25af69d88dSmrg 2601e04c3fSmrg#ifndef DRISW_PRIV_H 2701e04c3fSmrg#define DRISW_PRIV_H 2801e04c3fSmrg 2901e04c3fSmrg#include <X11/extensions/XShm.h> 3001e04c3fSmrg 31af69d88dSmrgstruct drisw_display 32af69d88dSmrg{ 33af69d88dSmrg __GLXDRIdisplay base; 34af69d88dSmrg}; 35af69d88dSmrg 36af69d88dSmrgstruct drisw_context 37af69d88dSmrg{ 38af69d88dSmrg struct glx_context base; 39af69d88dSmrg __DRIcontext *driContext; 40af69d88dSmrg 41af69d88dSmrg}; 42af69d88dSmrg 43af69d88dSmrgstruct drisw_screen 44af69d88dSmrg{ 45af69d88dSmrg struct glx_screen base; 46af69d88dSmrg 47af69d88dSmrg __DRIscreen *driScreen; 48af69d88dSmrg __GLXDRIscreen vtable; 49af69d88dSmrg const __DRIcoreExtension *core; 50af69d88dSmrg const __DRIswrastExtension *swrast; 51af69d88dSmrg const __DRItexBufferExtension *texBuffer; 52af69d88dSmrg const __DRIcopySubBufferExtension *copySubBuffer; 53af69d88dSmrg const __DRI2rendererQueryExtension *rendererQuery; 54af69d88dSmrg 55af69d88dSmrg const __DRIconfig **driver_configs; 56af69d88dSmrg 57af69d88dSmrg void *driver; 58af69d88dSmrg}; 59af69d88dSmrg 60af69d88dSmrgstruct drisw_drawable 61af69d88dSmrg{ 62af69d88dSmrg __GLXDRIdrawable base; 63af69d88dSmrg 64af69d88dSmrg GC gc; 65af69d88dSmrg __DRIdrawable *driDrawable; 667ec681f3Smrg struct glx_config *config; 67af69d88dSmrg XImage *ximage; 6801e04c3fSmrg XShmSegmentInfo shminfo; 697ec681f3Smrg int xDepth; 70af69d88dSmrg}; 71af69d88dSmrg 72af69d88dSmrg_X_HIDDEN int 73af69d88dSmrgdrisw_query_renderer_integer(struct glx_screen *base, int attribute, 74af69d88dSmrg unsigned int *value); 75af69d88dSmrg_X_HIDDEN int 76af69d88dSmrgdrisw_query_renderer_string(struct glx_screen *base, int attribute, 77af69d88dSmrg const char **value); 7801e04c3fSmrg 7901e04c3fSmrg#endif 80