⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libfbx-3dfx.h

📁 libfxb是linux下只写操作framebuffer的一个轻量级的库。
💻 H
字号:
/* *  libfbx-3dfx.h -- Primary header for 3dfx optimizations *  (C)opyright 2001 U4X Labs * *  Written by: Michael Bourgeous <nitrogen@u4xlabs.com> *  *  $Id: libfbx-3dfx.h,v 1.17 2001/03/03 01:34:43 lethal Exp $ * *  	This is the place for all the declarations of 3dfx hardware *  specific optimizations for the libfbx system go. * *  See ChangeLog for modifications, CREDITS for credits. * *  All source herein is copyright U4X Labs and its original author.  *  Any code modifications or additions are (C)opyright the original  *  author and U4X Labs respectively. * *  libfbx is free software; you can redistribute it and/or modify it  *  under the terms of the GNU Lesser General Public License as  *  published by the Free Software Foundation; either version 2.1 of  *  the License, or (at your option) any later version. * *  libfbx is distributed in the hope that it will be useful, but  *  WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  *  GNU Lesser General Public License for more details. * *  You should have received a copy of the GNU Lesser General Public *  License along with libfbx; if not, write to the Free Software  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *  USA */#ifndef __LIBFBX_3DFX_H#define __LIBFBX_3DFX_H#include <libfbx/libfbx-drivers.h>#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//* membase0 register offsets */#define STATUS		0x00#define PCIINIT0	0x04#define SIPMONITOR	0x08#define LFBMEMORYCONFIG	0x0c#define MISCINIT0	0x10#define MISCINIT1	0x14#define DRAMINIT0	0x18#define DRAMINIT1	0x1c#define AGPINIT		0x20#define TMUGBEINIT	0x24#define VGAINIT0	0x28#define VGAINIT1	0x2c#define DRAMCOMMAND	0x30#define DRAMDATA	0x34/* reserved             0x38 *//* reserved             0x3c */#define PLLCTRL0	0x40#define PLLCTRL1	0x44#define PLLCTRL2	0x48#define DACMODE		0x4c#define DACADDR		0x50#define DACDATA		0x54#define RGBMAXDELTA	0x58#define VIDPROCCFG	0x5c#define HWCURPATADDR	0x60#define HWCURLOC	0x64#define HWCURC0		0x68#define HWCURC1		0x6c#define VIDINFORMAT	0x70#define VIDINSTATUS	0x74#define VIDSERPARPORT	0x78#define VIDINXDELTA	0x7c#define VIDININITERR	0x80#define VIDINYDELTA	0x84#define VIDPIXBUFTHOLD	0x88#define VIDCHRMIN	0x8c#define VIDCHRMAX	0x90#define VIDCURLIN	0x94#define VIDSCREENSIZE	0x98#define VIDOVRSTARTCRD	0x9c#define VIDOVRENDCRD	0xa0#define VIDOVRDUDX	0xa4#define VIDOVRDUDXOFF	0xa8#define VIDOVRDVDY	0xac/*  ... */#define VIDOVRDVDYOFF	0xe0#define VIDDESKSTART	0xe4#define VIDDESKSTRIDE	0xe8#define VIDINADDR0	0xec#define VIDINADDR1	0xf0#define VIDINADDR2	0xf4#define VIDINSTRIDE	0xf8#define VIDCUROVRSTART	0xfc#define INTCTRL		(0x00100000 + 0x04)#define CLIP0MIN	(0x00100000 + 0x08)#define CLIP0MAX	(0x00100000 + 0x0c)#define DSTBASE		(0x00100000 + 0x10)#define DSTFORMAT	(0x00100000 + 0x14)#define SRCBASE		(0x00100000 + 0x34)#define COMMANDEXTRA_2D	(0x00100000 + 0x38)#define CLIP1MIN	(0x00100000 + 0x4c)#define CLIP1MAX	(0x00100000 + 0x50)#define SRCFORMAT	(0x00100000 + 0x54)#define SRCSIZE		(0x00100000 + 0x58)#define SRCXY		(0x00100000 + 0x5c)#define COLORBACK	(0x00100000 + 0x60)#define COLORFORE	(0x00100000 + 0x64)#define DSTSIZE		(0x00100000 + 0x68)#define DSTXY		(0x00100000 + 0x6c)#define COMMAND_2D	(0x00100000 + 0x70)#define LAUNCH_2D	(0x00100000 + 0x80)#define COMMAND_3D	(0x00200000 + 0x120)/* COMMAND_2D reg. values */#define ROP_COPY			0xCC	/* dst = src */#define ROP_INVERT			0x55	/* dst = NOT dst */#define ROP_XOR				0x66	/* dst = src XOR dst */#define AUTOINC_DSTX                    BIT(10)#define AUTOINC_DSTY                    BIT(11)#define COMMAND_2D_S2S_BLIT		0x01	/* screen to screen */#define COMMAND_2D_S2S_STRETCH		0x02	/* screen to screen stretch */#define COMMAND_2D_H2S_BLIT		0x03	/* host to screen */#define COMMAND_2D_H2S_STRETCH		0x04	/* host to screen stretch */#define COMMAND_2D_FILLRECT		0x05	/* rectangle fill */#define COMMAND_2D_LINE                 0x06	/* line */#define COMMAND_2D_POLYLINE		0x07	/* polygon line */#define COMMAND_2D_POLYGON_FILL         0x08	/* polygon fill */#define COMMAND_2D_INITIATE             BIT(8)#define COMMAND_2D_REVERSELINE          BIT(9)#define COMMAND_2D_STIPPLELINE          BIT(12)#define COMMAND_2D_MONOCHROME_PATT      BIT(13)#define COMMAND_2D_MONOCHROME_TRANSP    BIT(16)#define COMMAND_3D_NOP			0x00#define STATUS_RETRACE			BIT(6)#define STATUS_BUSY			BIT(9)#define MISCINIT1_CLUT_INV		BIT(0)#define MISCINIT1_2DBLOCK_DIS		BIT(15)#define DRAMINIT0_SGRAM_NUM		BIT(26)#define DRAMINIT0_SGRAM_TYPE		BIT(27)#define DRAMINIT1_MEM_SDRAM		BIT(30)#define VGAINIT0_VGA_DISABLE		BIT(0)#define VGAINIT0_EXT_TIMING		BIT(1)#define VGAINIT0_8BIT_DAC		BIT(2)#define VGAINIT0_EXT_ENABLE		BIT(6)#define VGAINIT0_WAKEUP_3C3		BIT(8)#define VGAINIT0_LEGACY_DISABLE		BIT(9)#define VGAINIT0_ALT_READBACK		BIT(10)#define VGAINIT0_FAST_BLINK		BIT(11)#define VGAINIT0_EXTSHIFTOUT		BIT(12)#define VGAINIT0_DECODE_3C6		BIT(13)#define VGAINIT0_SGRAM_HBLANK_DISABLE	BIT(22)#define VGAINIT1_MASK			0x1fffff#define VIDCFG_VIDPROC_ENABLE		BIT(0)#define VIDCFG_CURS_X11			BIT(1)#define VIDCFG_HALF_MODE		BIT(4)#define VIDCFG_DESK_ENABLE		BIT(7)#define VIDCFG_CLUT_BYPASS		BIT(10)#define VIDCFG_2X			BIT(26)#define VIDCFG_HWCURSOR_ENABLE          BIT(27)#define VIDCFG_PIXFMT_SHIFT		18#define DACMODE_2X			BIT(0)/* VGA rubbish, need to change this for multihead support */#define MISC_W 	0x3c2#define MISC_R 	0x3cc#define SEQ_I 	0x3c4#define SEQ_D	0x3c5#define CRT_I	0x3d4#define CRT_D	0x3d5#define ATT_IW	0x3c0#define IS1_R	0x3da#define GRA_I	0x3ce#define GRA_D	0x3cf/* libfbx-3dfx.c */inline void tdfx_blank(int val);void tdfx_fill_rect(__s32 x1, __s32 y1, __s32 x2, __s32 y2, __s32 r, __s32 g, __s32 b, fb_surface *surface);void tdfx_line(__s32 x1, __s32 y1, __s32 x2, __s32 y2, __s32 r, __s32 g, __s32 b, fb_surface *surface);void tdfx_putc(__s32 x, __s32 y, __u32 c);/* libfbx-3dfx-misc.c */void seq_outb(__u32 idx, __u8 val);__u8 seq_inb(__u32 idx);void tdfx_make_room(int size);void tdfx_wait_idle();#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __LIBFBX_3DFX_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -