Path: blob/master/libmupen64plus/mupen64plus-video-glide64mk2/src/Glitch64/inc/g3ext.h
2 views
/*1** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY2** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT3** TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX4** INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE5** DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC([email protected]).6** THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER7** EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A8** FULL TEXT OF THE NON-WARRANTY PROVISIONS.9**10** USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO11** RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN12** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,13** AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR14** SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF15** THE UNITED STATES.16**17** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED18*/1920/*21** H3EXT.H22**23** The following #defines are relevant when using Glide:24**25** One of the following "platform constants" must be defined during26** compilation:27**28** __DOS__ Defined for 32-bit DOS applications29** __WIN32__ Defined for 32-bit Windows applications30** __sparc__ Defined for Sun Solaris/SunOS31** __linux__ Defined for Linux applications32** __FreeBSD__ Defined for FreeBSD applications33** __NetBSD__ Defined for NetBSD applications34** __OpenBSD__ Defined for OpenBSD applications35** __IRIX__ Defined for SGI Irix applications36**37*/38#ifndef __H3EXT_H__39#define __H3EXT_H__4041#include <3dfx.h>42#include <glidesys.h>43#include <sst1vid.h>4445#ifdef __cplusplus46extern "C" {47#endif4849/*50** -----------------------------------------------------------------------51** TYPE DEFINITIONS52** -----------------------------------------------------------------------53*/54/*55** -----------------------------------------------------------------------56** CONSTANTS AND TYPES57** -----------------------------------------------------------------------58*/5960/*61* gregk 5/3/9962* Constants defined for SSTH3_ALPHADITHERMODE registry key63*/6465#define OPTIMAL 166#define SHARPER 267#define SMOOTHER 36869/* tbext */70#define GR_BUFFER_TEXTUREBUFFER_EXT 0x671#define GR_BUFFER_TEXTUREAUXBUFFER_EXT 0x77273typedef FxU32 GrPixelFormat_t;7475#define GR_PIXFMT_I_8 0x000176#define GR_PIXFMT_AI_88 0x000277#define GR_PIXFMT_RGB_565 0x000378#define GR_PIXFMT_ARGB_1555 0x000479#define GR_PIXFMT_ARGB_8888 0x000580#define GR_PIXFMT_AA_2_RGB_565 0x000681#define GR_PIXFMT_AA_2_ARGB_1555 0x000782#define GR_PIXFMT_AA_2_ARGB_8888 0x000883#define GR_PIXFMT_AA_4_RGB_565 0x000984#define GR_PIXFMT_AA_4_ARGB_1555 0x000a85#define GR_PIXFMT_AA_4_ARGB_8888 0x000b86#define GR_PIXFMT_AA_8_RGB_565 0x000c /* 8xaa */87#define GR_PIXFMT_AA_8_ARGB_1555 0x000d88#define GR_PIXFMT_AA_8_ARGB_8888 0x000e899091#define GR_LFBWRITEMODE_Z32 0x00089293typedef FxU32 GrAAMode_t;9495#define GR_AA_NONE 0x000096#define GR_AA_4SAMPLES 0x00019798typedef FxU8 GrStencil_t;99100typedef FxU32 GrStencilOp_t;101#define GR_STENCILOP_KEEP 0x00 /* keep current value */102#define GR_STENCILOP_ZERO 0x01 /* set to zero */103#define GR_STENCILOP_REPLACE 0x02 /* replace with reference value */104#define GR_STENCILOP_INCR_CLAMP 0x03 /* increment - clamp */105#define GR_STENCILOP_DECR_CLAMP 0x04 /* decrement - clamp */106#define GR_STENCILOP_INVERT 0x05 /* bitwise inversion */107#define GR_STENCILOP_INCR_WRAP 0x06 /* increment - wrap */108#define GR_STENCILOP_DECR_WRAP 0x07 /* decrement - wrap */109110#define GR_TEXTURE_UMA_EXT 0x06111#define GR_STENCIL_MODE_EXT 0x07112#define GR_OPENGL_MODE_EXT 0x08113114typedef FxU32 GrCCUColor_t;115116typedef FxU32 GrACUColor_t;117118typedef FxU32 GrTCCUColor_t;119120typedef FxU32 GrTACUColor_t;121122#define GR_CMBX_ZERO 0x00123#define GR_CMBX_TEXTURE_ALPHA 0x01124#define GR_CMBX_ALOCAL 0x02125#define GR_CMBX_AOTHER 0x03126#define GR_CMBX_B 0x04127#define GR_CMBX_CONSTANT_ALPHA 0x05128#define GR_CMBX_CONSTANT_COLOR 0x06129#define GR_CMBX_DETAIL_FACTOR 0x07130#define GR_CMBX_ITALPHA 0x08131#define GR_CMBX_ITRGB 0x09132#define GR_CMBX_LOCAL_TEXTURE_ALPHA 0x0a133#define GR_CMBX_LOCAL_TEXTURE_RGB 0x0b134#define GR_CMBX_LOD_FRAC 0x0c135#define GR_CMBX_OTHER_TEXTURE_ALPHA 0x0d136#define GR_CMBX_OTHER_TEXTURE_RGB 0x0e137#define GR_CMBX_TEXTURE_RGB 0x0f138#define GR_CMBX_TMU_CALPHA 0x10139#define GR_CMBX_TMU_CCOLOR 0x11140141typedef FxU32 GrCombineMode_t;142#define GR_FUNC_MODE_ZERO 0x00143#define GR_FUNC_MODE_X 0x01144#define GR_FUNC_MODE_ONE_MINUS_X 0x02145#define GR_FUNC_MODE_NEGATIVE_X 0x03146#define GR_FUNC_MODE_X_MINUS_HALF 0x04147148typedef FxU32 GrAlphaBlendOp_t;149#define GR_BLEND_OP_ADD 0x00150#define GR_BLEND_OP_SUB 0x01151#define GR_BLEND_OP_REVSUB 0x02152153#define GR_BLEND_SAME_COLOR_EXT 0x08154#define GR_BLEND_ONE_MINUS_SAME_COLOR_EXT 0x09155156/* Napalm extensions to GrTextureFormat_t */157#define GR_TEXFMT_ARGB_CMP_FXT1 0x11158#define GR_TEXFMT_ARGB_8888 0x12159#define GR_TEXFMT_YUYV_422 0x13160#define GR_TEXFMT_UYVY_422 0x14161#define GR_TEXFMT_AYUV_444 0x15162#define GR_TEXFMT_ARGB_CMP_DXT1 0x16163#define GR_TEXFMT_ARGB_CMP_DXT2 0x17164#define GR_TEXFMT_ARGB_CMP_DXT3 0x18165#define GR_TEXFMT_ARGB_CMP_DXT4 0x19166#define GR_TEXFMT_ARGB_CMP_DXT5 0x1A167#define GR_TEXTFMT_RGB_888 0xFF168169/* Napalm extensions to GrLOD_t */170#define GR_LOD_LOG2_2048 0xb171#define GR_LOD_LOG2_1024 0xa172#define GR_LOD_LOG2_512 0x9173174/* Napalm extensions to GrTexBaseRange_t */175#define GR_TEXBASE_2048 0x7176#define GR_TEXBASE_1024 0x6177#define GR_TEXBASE_512 0x5178#define GR_TEXBASE_256_TO_1 0x4179180#ifdef __cplusplus181}182#endif183184#include <glideutl.h>185186#endif /* __H3EXT_H__ */187188189