mach64_dri.h revision 32b578d3
132b578d3Smrg/* 232b578d3Smrg * Copyright 2000 Gareth Hughes 332b578d3Smrg * All Rights Reserved. 432b578d3Smrg * 532b578d3Smrg * Permission is hereby granted, free of charge, to any person obtaining a 632b578d3Smrg * copy of this software and associated documentation files (the "Software"), 732b578d3Smrg * to deal in the Software without restriction, including without limitation 832b578d3Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 932b578d3Smrg * and/or sell copies of the Software, and to permit persons to whom the 1032b578d3Smrg * Software is furnished to do so, subject to the following conditions: 1132b578d3Smrg * 1232b578d3Smrg * The above copyright notice and this permission notice (including the next 1332b578d3Smrg * paragraph) shall be included in all copies or substantial portions of the 1432b578d3Smrg * Software. 1532b578d3Smrg * 1632b578d3Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1732b578d3Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1832b578d3Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1932b578d3Smrg * GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 2032b578d3Smrg * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 2132b578d3Smrg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2232b578d3Smrg */ 2332b578d3Smrg 2432b578d3Smrg/* 2532b578d3Smrg * Authors: 2632b578d3Smrg * Gareth Hughes <gareth@valinux.com> 2732b578d3Smrg * Leif Delgass <ldelgass@retinalburn.net> 2832b578d3Smrg */ 2932b578d3Smrg 3032b578d3Smrg#ifndef __MACH64_DRI_H__ 3132b578d3Smrg#define __MACH64_DRI_H__ 1 3232b578d3Smrg 3332b578d3Smrg#include "xf86drm.h" 3432b578d3Smrg 3532b578d3Smrgtypedef struct { 3632b578d3Smrg drm_handle_t fbHandle; 3732b578d3Smrg 3832b578d3Smrg drm_handle_t regsHandle; 3932b578d3Smrg drmSize regsSize; 4032b578d3Smrg 4132b578d3Smrg int IsPCI; 4232b578d3Smrg 4332b578d3Smrg drm_handle_t agpHandle; /* Handle from drmAgpAlloc */ 4432b578d3Smrg unsigned long agpOffset; 4532b578d3Smrg drmSize agpSize; 4632b578d3Smrg int agpMode; 4732b578d3Smrg 4832b578d3Smrg /* DMA descriptor ring */ 4932b578d3Smrg unsigned long ringStart; /* Offset into AGP space */ 5032b578d3Smrg drm_handle_t ringHandle; /* Handle from drmAddMap */ 5132b578d3Smrg drmSize ringMapSize; /* Size of map */ 5232b578d3Smrg int ringSize; /* Size of ring (in kB) */ 5332b578d3Smrg drmAddress ringMap; /* Map */ 5432b578d3Smrg 5532b578d3Smrg /* vertex buffer data */ 5632b578d3Smrg unsigned long bufferStart; /* Offset into AGP space */ 5732b578d3Smrg drm_handle_t bufferHandle; /* Handle from drmAddMap */ 5832b578d3Smrg drmSize bufferMapSize; /* Size of map */ 5932b578d3Smrg int bufferSize; /* Size of buffers (in MB) */ 6032b578d3Smrg drmAddress bufferMap; /* Map */ 6132b578d3Smrg 6232b578d3Smrg drmBufMapPtr drmBuffers; /* Buffer map */ 6332b578d3Smrg int numBuffers; /* Number of buffers */ 6432b578d3Smrg 6532b578d3Smrg /* AGP Texture data */ 6632b578d3Smrg unsigned long agpTexStart; /* Offset into AGP space */ 6732b578d3Smrg drm_handle_t agpTexHandle; /* Handle from drmAddMap */ 6832b578d3Smrg drmSize agpTexMapSize; /* Size of map */ 6932b578d3Smrg int agpTexSize; /* Size of AGP tex space (in MB) */ 7032b578d3Smrg drmAddress agpTexMap; /* Map */ 7132b578d3Smrg int log2AGPTexGran; 7232b578d3Smrg 7332b578d3Smrg int fbX; 7432b578d3Smrg int fbY; 7532b578d3Smrg int backX; 7632b578d3Smrg int backY; 7732b578d3Smrg int depthX; 7832b578d3Smrg int depthY; 7932b578d3Smrg 8032b578d3Smrg int frontOffset; 8132b578d3Smrg int frontPitch; 8232b578d3Smrg int backOffset; 8332b578d3Smrg int backPitch; 8432b578d3Smrg int depthOffset; 8532b578d3Smrg int depthPitch; 8632b578d3Smrg 8732b578d3Smrg int textureOffset; 8832b578d3Smrg int textureSize; 8932b578d3Smrg int logTextureGranularity; 9032b578d3Smrg} ATIDRIServerInfoRec, *ATIDRIServerInfoPtr; 9132b578d3Smrg 9232b578d3Smrgtypedef struct { 9332b578d3Smrg int chipset; 9432b578d3Smrg int width; 9532b578d3Smrg int height; 9632b578d3Smrg int mem; 9732b578d3Smrg int cpp; 9832b578d3Smrg 9932b578d3Smrg int IsPCI; 10032b578d3Smrg int AGPMode; 10132b578d3Smrg 10232b578d3Smrg unsigned int frontOffset; 10332b578d3Smrg unsigned int frontPitch; 10432b578d3Smrg 10532b578d3Smrg unsigned int backOffset; 10632b578d3Smrg unsigned int backPitch; 10732b578d3Smrg 10832b578d3Smrg unsigned int depthOffset; 10932b578d3Smrg unsigned int depthPitch; 11032b578d3Smrg 11132b578d3Smrg unsigned int textureOffset; 11232b578d3Smrg unsigned int textureSize; 11332b578d3Smrg int logTextureGranularity; 11432b578d3Smrg 11532b578d3Smrg drm_handle_t regs; 11632b578d3Smrg drmSize regsSize; 11732b578d3Smrg 11832b578d3Smrg drm_handle_t agp; 11932b578d3Smrg drmSize agpSize; 12032b578d3Smrg unsigned int agpTextureOffset; 12132b578d3Smrg unsigned int agpTextureSize; 12232b578d3Smrg int logAgpTextureGranularity; 12332b578d3Smrg} ATIDRIRec, *ATIDRIPtr; 12432b578d3Smrg 12532b578d3Smrg#endif /* __MACH64_DRI_H__ */ 126