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

📄 i915_reg.h

📁 Mesa is an open-source implementation of the OpenGL specification - a system for rendering interacti
💻 H
📖 第 1 页 / 共 3 页
字号:
/************************************************************************** *  * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. * All Rights Reserved. *  * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sub license, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: *  * The above copyright notice and this permission notice (including the * next paragraph) shall be included in all copies or substantial portions * of the Software. *  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *  **************************************************************************/#ifndef _I915_REG_H_#define _I915_REG_H_#include "intel_reg.h"#define I915_SET_FIELD( var, mask, value ) (var &= ~(mask), var |= value)#define PRIM3D_INLINE		(CMD_3D | (0x1f<<24))#define PRIM3D_TRILIST		(0x0<<18)#define PRIM3D_TRISTRIP 	(0x1<<18)#define PRIM3D_TRISTRIP_RVRSE	(0x2<<18)#define PRIM3D_TRIFAN		(0x3<<18)#define PRIM3D_POLY		(0x4<<18)#define PRIM3D_LINELIST 	(0x5<<18)#define PRIM3D_LINESTRIP	(0x6<<18)#define PRIM3D_RECTLIST 	(0x7<<18)#define PRIM3D_POINTLIST	(0x8<<18)#define PRIM3D_DIB		(0x9<<18)#define PRIM3D_CLEAR_RECT	(0xa<<18)#define PRIM3D_ZONE_INIT	(0xd<<18)#define PRIM3D_MASK		(0x1f<<18)/* p137 */#define _3DSTATE_AA_CMD			(CMD_3D | (0x06<<24))#define AA_LINE_ECAAR_WIDTH_ENABLE	(1<<16)#define AA_LINE_ECAAR_WIDTH_0_5 	0#define AA_LINE_ECAAR_WIDTH_1_0		(1<<14)#define AA_LINE_ECAAR_WIDTH_2_0 	(2<<14)#define AA_LINE_ECAAR_WIDTH_4_0 	(3<<14)#define AA_LINE_REGION_WIDTH_ENABLE	(1<<8)#define AA_LINE_REGION_WIDTH_0_5	0#define AA_LINE_REGION_WIDTH_1_0	(1<<6)#define AA_LINE_REGION_WIDTH_2_0	(2<<6)#define AA_LINE_REGION_WIDTH_4_0	(3<<6)/* 3DSTATE_BACKFACE_STENCIL_OPS, p138*/#define _3DSTATE_BACKFACE_STENCIL_OPS    (CMD_3D | (0x8<<24))#define BFO_ENABLE_STENCIL_REF          (1<<23)#define BFO_STENCIL_REF_SHIFT           15#define BFO_STENCIL_REF_MASK            (0xff<<15)#define BFO_ENABLE_STENCIL_FUNCS        (1<<14)#define BFO_STENCIL_TEST_SHIFT          11#define BFO_STENCIL_TEST_MASK           (0x7<<11)#define BFO_STENCIL_FAIL_SHIFT          8#define BFO_STENCIL_FAIL_MASK           (0x7<<8)#define BFO_STENCIL_PASS_Z_FAIL_SHIFT   5#define BFO_STENCIL_PASS_Z_FAIL_MASK    (0x7<<5)#define BFO_STENCIL_PASS_Z_PASS_SHIFT   2#define BFO_STENCIL_PASS_Z_PASS_MASK    (0x7<<2)#define BFO_ENABLE_STENCIL_TWO_SIDE     (1<<1)#define BFO_STENCIL_TWO_SIDE            (1<<0)/* 3DSTATE_BACKFACE_STENCIL_MASKS, p140 */#define _3DSTATE_BACKFACE_STENCIL_MASKS    (CMD_3D | (0x9<<24))#define BFM_ENABLE_STENCIL_TEST_MASK      (1<<17)#define BFM_ENABLE_STENCIL_WRITE_MASK     (1<<16)#define BFM_STENCIL_TEST_MASK_SHIFT       8#define BFM_STENCIL_TEST_MASK_MASK        (0xff<<8)#define BFM_STENCIL_WRITE_MASK_SHIFT      0#define BFM_STENCIL_WRITE_MASK_MASK       (0xff<<0)/* 3DSTATE_BIN_CONTROL p141 *//* p143 */#define _3DSTATE_BUF_INFO_CMD	(CMD_3D | (0x1d<<24) | (0x8e<<16) | 1)/* Dword 1 */#define BUF_3D_ID_COLOR_BACK	(0x3<<24)#define BUF_3D_ID_DEPTH 	(0x7<<24)#define BUF_3D_USE_FENCE	(1<<23)#define BUF_3D_TILED_SURFACE	(1<<22)#define BUF_3D_TILE_WALK_X	0#define BUF_3D_TILE_WALK_Y	(1<<21)#define BUF_3D_PITCH(x)         (((x)/4)<<2)/* Dword 2 */#define BUF_3D_ADDR(x)		((x) & ~0x3)/* 3DSTATE_CHROMA_KEY *//* 3DSTATE_CLEAR_PARAMETERS, p150 *//*  * Sets the color, depth and stencil clear values used by the * CLEAR_RECT and ZONE_INIT primitive types, respectively.  These * primitives set override most 3d state and only take a minimal x/y * vertex.  The color/z/stencil information is supplied here and * therefore cannot vary per vertex. */#define _3DSTATE_CLEAR_PARAMETERS	(CMD_3D | (0x1d<<24) | (0x9c<<16) | 5)/* Dword 1 */#define CLEARPARAM_CLEAR_RECT		(1 << 16)#define CLEARPARAM_ZONE_INIT		(0 << 16)#define CLEARPARAM_WRITE_COLOR		(1 << 2)#define CLEARPARAM_WRITE_DEPTH		(1 << 1)#define CLEARPARAM_WRITE_STENCIL	(1 << 0)/* 3DSTATE_CONSTANT_BLEND_COLOR, p153 */#define _3DSTATE_CONST_BLEND_COLOR_CMD	(CMD_3D | (0x1d<<24) | (0x88<<16))/* 3DSTATE_COORD_SET_BINDINGS, p154 */#define _3DSTATE_COORD_SET_BINDINGS      (CMD_3D | (0x16<<24))#define CSB_TCB(iunit, eunit)           ((eunit)<<(iunit*3))/* p156 */#define _3DSTATE_DFLT_DIFFUSE_CMD	(CMD_3D | (0x1d<<24) | (0x99<<16))/* p157 */#define _3DSTATE_DFLT_SPEC_CMD		(CMD_3D | (0x1d<<24) | (0x9a<<16))/* p158 */#define _3DSTATE_DFLT_Z_CMD		(CMD_3D | (0x1d<<24) | (0x98<<16))/* 3DSTATE_DEPTH_OFFSET_SCALE, p159 */#define _3DSTATE_DEPTH_OFFSET_SCALE       (CMD_3D | (0x1d<<24) | (0x97<<16))/* scale in dword 1 *//* 3DSTATE_DEPTH_SUBRECT_DISABLE, p160 */#define _3DSTATE_DEPTH_SUBRECT_DISABLE    (CMD_3D | (0x1c<<24) | (0x11<<19) | 0x2)/* p161 */#define _3DSTATE_DST_BUF_VARS_CMD	(CMD_3D | (0x1d<<24) | (0x85<<16))/* Dword 1 */#define TEX_DEFAULT_COLOR_OGL           (0<<30)#define TEX_DEFAULT_COLOR_D3D           (1<<30)#define ZR_EARLY_DEPTH                  (1<<29)#define LOD_PRECLAMP_OGL                (1<<28)#define LOD_PRECLAMP_D3D                (0<<28)#define DITHER_FULL_ALWAYS              (0<<26)#define DITHER_FULL_ON_FB_BLEND         (1<<26)#define DITHER_CLAMPED_ALWAYS           (2<<26)#define LINEAR_GAMMA_BLEND_32BPP        (1<<25)#define DEBUG_DISABLE_ENH_DITHER        (1<<24)#define DSTORG_HORT_BIAS(x)		((x)<<20)#define DSTORG_VERT_BIAS(x)		((x)<<16)#define COLOR_4_2_2_CHNL_WRT_ALL	0#define COLOR_4_2_2_CHNL_WRT_Y		(1<<12)#define COLOR_4_2_2_CHNL_WRT_CR		(2<<12)#define COLOR_4_2_2_CHNL_WRT_CB		(3<<12)#define COLOR_4_2_2_CHNL_WRT_CRCB	(4<<12)#define COLR_BUF_8BIT			0#define COLR_BUF_RGB555 		(1<<8)#define COLR_BUF_RGB565 		(2<<8)#define COLR_BUF_ARGB8888		(3<<8)#define DEPTH_FRMT_16_FIXED		0#define DEPTH_FRMT_16_FLOAT		(1<<2)#define DEPTH_FRMT_24_FIXED_8_OTHER	(2<<2)#define VERT_LINE_STRIDE_1		(1<<1)#define VERT_LINE_STRIDE_0		(0<<1)#define VERT_LINE_STRIDE_OFS_1		1#define VERT_LINE_STRIDE_OFS_0		0/* p166 */#define _3DSTATE_DRAW_RECT_CMD		(CMD_3D|(0x1d<<24)|(0x80<<16)|3)/* Dword 1 */#define DRAW_RECT_DIS_DEPTH_OFS 	(1<<30)#define DRAW_DITHER_OFS_X(x)		((x)<<26)#define DRAW_DITHER_OFS_Y(x)		((x)<<24)/* Dword 2 */#define DRAW_YMIN(x)			((x)<<16)#define DRAW_XMIN(x)			(x)/* Dword 3 */#define DRAW_YMAX(x)			((x)<<16)#define DRAW_XMAX(x)			(x)/* Dword 4 */#define DRAW_YORG(x)			((x)<<16)#define DRAW_XORG(x)			(x)/* 3DSTATE_FILTER_COEFFICIENTS_4X4, p170 *//* 3DSTATE_FILTER_COEFFICIENTS_6X5, p172 *//* _3DSTATE_FOG_COLOR, p173 */#define _3DSTATE_FOG_COLOR_CMD		(CMD_3D|(0x15<<24))#define FOG_COLOR_RED(x)		((x)<<16)#define FOG_COLOR_GREEN(x)		((x)<<8)#define FOG_COLOR_BLUE(x)		(x)/* _3DSTATE_FOG_MODE, p174 */#define _3DSTATE_FOG_MODE_CMD		(CMD_3D|(0x1d<<24)|(0x89<<16)|2)/* Dword 1 */#define FMC1_FOGFUNC_MODIFY_ENABLE	(1<<31)#define FMC1_FOGFUNC_VERTEX		(0<<28)#define FMC1_FOGFUNC_PIXEL_EXP		(1<<28)#define FMC1_FOGFUNC_PIXEL_EXP2		(2<<28)#define FMC1_FOGFUNC_PIXEL_LINEAR	(3<<28)#define FMC1_FOGFUNC_MASK		(3<<28)#define FMC1_FOGINDEX_MODIFY_ENABLE     (1<<27)#define FMC1_FOGINDEX_Z		        (0<<25)#define FMC1_FOGINDEX_W   		(1<<25)#define FMC1_C1_C2_MODIFY_ENABLE	(1<<24)#define FMC1_DENSITY_MODIFY_ENABLE	(1<<23)#define FMC1_C1_ONE      	        (1<<13)#define FMC1_C1_MASK		        (0xffff<<4)/* Dword 2 */#define FMC2_C2_ONE		        (1<<16)/* Dword 3 */#define FMC3_D_ONE      		(1<<16)/* _3DSTATE_INDEPENDENT_ALPHA_BLEND, p177 */#define _3DSTATE_INDEPENDENT_ALPHA_BLEND_CMD	(CMD_3D|(0x0b<<24))#define IAB_MODIFY_ENABLE	        (1<<23)#define IAB_ENABLE       	        (1<<22)#define IAB_MODIFY_FUNC         	(1<<21)#define IAB_FUNC_SHIFT          	16#define IAB_MODIFY_SRC_FACTOR   	(1<<11)#define IAB_SRC_FACTOR_SHIFT		6#define IAB_SRC_FACTOR_MASK		(BLENDFACT_MASK<<6)#define IAB_MODIFY_DST_FACTOR	        (1<<5)#define IAB_DST_FACTOR_SHIFT		0#define IAB_DST_FACTOR_MASK		(BLENDFACT_MASK<<0)#define BLENDFUNC_ADD			0x0#define BLENDFUNC_SUBTRACT		0x1#define BLENDFUNC_REVERSE_SUBTRACT	0x2#define BLENDFUNC_MIN			0x3#define BLENDFUNC_MAX			0x4#define BLENDFUNC_MASK			0x7/* 3DSTATE_LOAD_INDIRECT, p180 */#define _3DSTATE_LOAD_INDIRECT	        (CMD_3D|(0x1d<<24)|(0x7<<16))#define LI0_STATE_STATIC_INDIRECT       (0x01<<8)#define LI0_STATE_DYNAMIC_INDIRECT      (0x02<<8)#define LI0_STATE_SAMPLER               (0x04<<8)#define LI0_STATE_MAP                   (0x08<<8)#define LI0_STATE_PROGRAM               (0x10<<8)#define LI0_STATE_CONSTANTS             (0x20<<8)#define SIS0_BUFFER_ADDRESS(x)          ((x)&~0x3)#define SIS0_FORCE_LOAD                 (1<<1)#define SIS0_BUFFER_VALID               (1<<0)#define SIS1_BUFFER_LENGTH(x)           ((x)&0xff)#define DIS0_BUFFER_ADDRESS(x)          ((x)&~0x3)#define DIS0_BUFFER_RESET               (1<<1)#define DIS0_BUFFER_VALID               (1<<0)#define SSB0_BUFFER_ADDRESS(x)          ((x)&~0x3)#define SSB0_FORCE_LOAD                 (1<<1)#define SSB0_BUFFER_VALID               (1<<0)#define SSB1_BUFFER_LENGTH(x)           ((x)&0xff)#define MSB0_BUFFER_ADDRESS(x)          ((x)&~0x3)#define MSB0_FORCE_LOAD                 (1<<1)#define MSB0_BUFFER_VALID               (1<<0)#define MSB1_BUFFER_LENGTH(x)           ((x)&0xff)#define PSP0_BUFFER_ADDRESS(x)          ((x)&~0x3)#define PSP0_FORCE_LOAD                 (1<<1)

⌨️ 快捷键说明

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