dristruct.h revision b8e299dddd091ae24e0c08c45d91b8f937bd14d2
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/* $XFree86: xc/programs/Xserver/GL/dri/dristruct.h,v 1.10 2001/03/21 16:21:40 dawes Exp $ */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/**************************************************************************
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncCopyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncCopyright (c) 2002 Apple Computer, Inc.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncAll Rights Reserved.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncPermission is hereby granted, free of charge, to any person obtaining a
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsynccopy of this software and associated documentation files (the
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync"Software"), to deal in the Software without restriction, including
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncwithout limitation the rights to use, copy, modify, merge, publish,
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncdistribute, sub license, and/or sell copies of the Software, and to
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncpermit persons to whom the Software is furnished to do so, subject to
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncthe following conditions:
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncThe above copyright notice and this permission notice (including the
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncnext paragraph) shall be included in all copies or substantial portions
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncof the Software.
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncIN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync**************************************************************************/
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync/*
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync * Authors:
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync * Jens Owen <jens@precisioninsight.com>
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync *
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#ifndef DRI_STRUCT_H
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#define DRI_STRUCT_H
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#include "dri.h"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#include "x-list.h"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#define DRI_MAX_DRAWABLES 256
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#define DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin) \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync ((DRIWindowPrivIndex < 0) ? \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync NULL : \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync ((DRIDrawablePrivPtr)((pWin)->devPrivates[DRIWindowPrivIndex].ptr)))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#define DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix) \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync ((DRIPixmapPrivIndex < 0) ? \
cb172d105a87f41489b1553fbd99ec97932609ffvboxsync NULL : \
cb172d105a87f41489b1553fbd99ec97932609ffvboxsync ((DRIDrawablePrivPtr)((pPix)->devPrivates[DRIPixmapPrivIndex].ptr)))
cb172d105a87f41489b1553fbd99ec97932609ffvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsynctypedef struct _DRIDrawablePrivRec
d85f5fb26ce3bbbcb8029e48b62f9d550c0317bfvboxsync{
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync xp_surface_id sid;
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync int drawableIndex;
2c691730ab202620fe427110841aa4e0075b7ccavboxsync DrawablePtr pDraw;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync ScreenPtr pScreen;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync int refCount;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync unsigned int key[2];
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync x_list *notifiers; /* list of (FUN . DATA) */
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync} DRIDrawablePrivRec, *DRIDrawablePrivPtr;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#define DRI_SCREEN_PRIV(pScreen) \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync ((DRIScreenPrivIndex < 0) ? \
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync NULL : \
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync ((DRIScreenPrivPtr)((pScreen)->devPrivates[DRIScreenPrivIndex].ptr)))
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#define DRI_SCREEN_PRIV_FROM_INDEX(screenIndex) ((DRIScreenPrivPtr) \
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync (screenInfo.screens[screenIndex]->devPrivates[DRIScreenPrivIndex].ptr))
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsynctypedef struct _DRIScreenPrivRec
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync{
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync Bool directRenderingSupport;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync int nrWindows;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync DRIWrappedFuncsRec wrap;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync DrawablePtr DRIDrawables[DRI_MAX_DRAWABLES];
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync} DRIScreenPrivRec, *DRIScreenPrivPtr;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#endif /* DRI_STRUCT_H */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync