/*-*-c++-*-*/ #ifndef __CVGDEFS_H__ #define __CVGDEFS_H__ /* ** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY ** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT ** TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX ** INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE ** DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com). ** THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER ** EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A ** FULL TEXT OF THE NON-WARRANTY PROVISIONS. ** ** USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO ** RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN ** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, ** AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR ** SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF ** THE UNITED STATES. ** ** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED ** ** $Revision: 1.1.1.1 $ ** $Date: 1999/12/07 21:42:43 $ */ //----------------------- CMDFIFO Section --------------------------- //----------------------- CMDFIFO Section --------------------------- //----------------------- CMDFIFO Section --------------------------- // CVG/H3 abstraction #define SST_IS_CMDFIFO_ENABLED(sst) (sst->fbiInit7 & SST_EN_CMDFIFO) //----------------- SST cmdFifoBase bits --------------------------- #define SST_CMDFIFO_START_SHIFT 0 #define SST_CMDFIFO_START (0x3FF<= 0; -1 if < 0) #define ISIGN(x) (((x) | 0x40000000L) >> 30) #define FSIGN(f) ISIGN(*(long *)&f) #define BIT(n) (1UL<<(n)) #define SST_MASK(n) (0xFFFFFFFFL >> (32-(n))) #define SST_MASK64(n) FX_MASK64(n) //----------------- SST binary point locations --------------- #define SST_LOD_SIZE 6 #define SST_LOD_FRACBITS 2 #define SST_XY_SIZE 16 #define SST_XY_INTBITS 12 #define SST_XY_FRACBITS 4 #define SST_RGBA_SIZE 24 #define SST_RGBA_INTBITS 8 #define SST_RGBA_FRACBITS 12 #define SST_Z_SIZE 32 #define SST_Z_INTBITS 16 #define SST_Z_FRACBITS 12 // NOTE: below are ONLY for the fixed point registers #define SST_ST_SIZE 32 #define SST_ST_INTBITS 14 #define SST_ST_FRACBITS 18 #define SST_W_SIZE 32 #define SST_W_INTBITS 2 #define SST_W_FRACBITS 30 //----------------- SST status bits --------------------------- #define SST_FIFOLEVEL 0x3F #define SST_VRETRACE BIT(6) #define SST_FBI_BUSY BIT(7) #define SST_TMU_BUSY BIT(8) #define SST_TREX_BUSY SST_TMU_BUSY #define SST_BUSY BIT(9) #define SST_DISPLAYED_BUFFER_SHIFT 10 #define SST_DISPLAYED_BUFFER (0x3<