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

📄 i915_reg.h

📁 Mesa is an open-source implementation of the OpenGL specification - a system for rendering interacti
💻 H
📖 第 1 页 / 共 3 页
字号:
#define PSP0_BUFFER_VALID               (1<<0)#define PSP1_BUFFER_LENGTH(x)           ((x)&0xff)#define PSC0_BUFFER_ADDRESS(x)          ((x)&~0x3)#define PSC0_FORCE_LOAD                 (1<<1)#define PSC0_BUFFER_VALID               (1<<0)#define PSC1_BUFFER_LENGTH(x)           ((x)&0xff)/* _3DSTATE_RASTERIZATION_RULES */#define _3DSTATE_RASTER_RULES_CMD	(CMD_3D|(0x07<<24))#define ENABLE_POINT_RASTER_RULE	(1<<15)#define OGL_POINT_RASTER_RULE		(1<<13)#define ENABLE_TEXKILL_3D_4D            (1<<10)#define TEXKILL_3D                      (0<<9)#define TEXKILL_4D                      (1<<9)#define ENABLE_LINE_STRIP_PROVOKE_VRTX	(1<<8)#define ENABLE_TRI_FAN_PROVOKE_VRTX	(1<<5)#define LINE_STRIP_PROVOKE_VRTX(x)	((x)<<6)#define TRI_FAN_PROVOKE_VRTX(x) 	((x)<<3)/* _3DSTATE_SCISSOR_ENABLE, p256 */#define _3DSTATE_SCISSOR_ENABLE_CMD	(CMD_3D|(0x1c<<24)|(0x10<<19))#define ENABLE_SCISSOR_RECT		((1<<1) | 1)#define DISABLE_SCISSOR_RECT		(1<<1)/* _3DSTATE_SCISSOR_RECTANGLE_0, p257 */#define _3DSTATE_SCISSOR_RECT_0_CMD	(CMD_3D|(0x1d<<24)|(0x81<<16)|1)/* Dword 1 */#define SCISSOR_RECT_0_YMIN(x)		((x)<<16)#define SCISSOR_RECT_0_XMIN(x)		(x)/* Dword 2 */#define SCISSOR_RECT_0_YMAX(x)		((x)<<16)#define SCISSOR_RECT_0_XMAX(x)		(x)/* p189 */#define _3DSTATE_LOAD_STATE_IMMEDIATE_1   ((0x3<<29)|(0x1d<<24)|(0x04<<16))#define I1_LOAD_S(n)                      (1<<(4+n))#define S0_VB_OFFSET_MASK              0xffffffc#define S0_AUTO_CACHE_INV_DISABLE      (1<<0)#define S1_VERTEX_WIDTH_SHIFT          24#define S1_VERTEX_WIDTH_MASK           (0x3f<<24)#define S1_VERTEX_PITCH_SHIFT          16#define S1_VERTEX_PITCH_MASK           (0x3f<<16)#define TEXCOORDFMT_2D                 0x0#define TEXCOORDFMT_3D                 0x1#define TEXCOORDFMT_4D                 0x2#define TEXCOORDFMT_1D                 0x3#define TEXCOORDFMT_2D_16              0x4#define TEXCOORDFMT_4D_16              0x5#define TEXCOORDFMT_NOT_PRESENT        0xf#define S2_TEXCOORD_FMT0_MASK            0xf#define S2_TEXCOORD_FMT1_SHIFT           4#define S2_TEXCOORD_FMT(unit, type)    ((type)<<(unit*4))#define S2_TEXCOORD_NONE               (~0)/* S3 not interesting */#define S4_POINT_WIDTH_SHIFT           23#define S4_POINT_WIDTH_MASK            (0x1ff<<23)#define S4_LINE_WIDTH_SHIFT            19#define S4_LINE_WIDTH_ONE              (0x2<<19)#define S4_LINE_WIDTH_MASK             (0xf<<19)#define S4_FLATSHADE_ALPHA             (1<<18)#define S4_FLATSHADE_FOG               (1<<17)#define S4_FLATSHADE_SPECULAR          (1<<16)#define S4_FLATSHADE_COLOR             (1<<15)#define S4_CULLMODE_BOTH	       (0<<13)#define S4_CULLMODE_NONE	       (1<<13)#define S4_CULLMODE_CW		       (2<<13)#define S4_CULLMODE_CCW		       (3<<13)#define S4_CULLMODE_MASK	       (3<<13)#define S4_VFMT_POINT_WIDTH            (1<<12)#define S4_VFMT_SPEC_FOG               (1<<11)#define S4_VFMT_COLOR                  (1<<10)#define S4_VFMT_DEPTH_OFFSET           (1<<9)#define S4_VFMT_XYZ     	       (1<<6)#define S4_VFMT_XYZW     	       (2<<6)#define S4_VFMT_XY     		       (3<<6)#define S4_VFMT_XYW     	       (4<<6)#define S4_VFMT_XYZW_MASK              (7<<6)#define S4_FORCE_DEFAULT_DIFFUSE       (1<<5)#define S4_FORCE_DEFAULT_SPECULAR      (1<<4)#define S4_LOCAL_DEPTH_OFFSET_ENABLE   (1<<3)#define S4_VFMT_FOG_PARAM              (1<<2)#define S4_SPRITE_POINT_ENABLE         (1<<1)#define S4_LINE_ANTIALIAS_ENABLE       (1<<0)#define S4_VFMT_MASK (S4_VFMT_POINT_WIDTH   | 	\		      S4_VFMT_SPEC_FOG      |	\		      S4_VFMT_COLOR         |	\		      S4_VFMT_DEPTH_OFFSET  |	\		      S4_VFMT_XYZW_MASK     |	\		      S4_VFMT_FOG_PARAM)#define S5_WRITEDISABLE_ALPHA          (1<<31)#define S5_WRITEDISABLE_RED            (1<<30)#define S5_WRITEDISABLE_GREEN          (1<<29)#define S5_WRITEDISABLE_BLUE           (1<<28)#define S5_WRITEDISABLE_MASK           (0xf<<28)#define S5_FORCE_DEFAULT_POINT_SIZE    (1<<27)#define S5_LAST_PIXEL_ENABLE           (1<<26)#define S5_GLOBAL_DEPTH_OFFSET_ENABLE  (1<<25)#define S5_FOG_ENABLE                  (1<<24)#define S5_STENCIL_REF_SHIFT           16#define S5_STENCIL_REF_MASK            (0xff<<16)#define S5_STENCIL_TEST_FUNC_SHIFT     13#define S5_STENCIL_TEST_FUNC_MASK      (0x7<<13)#define S5_STENCIL_FAIL_SHIFT          10#define S5_STENCIL_FAIL_MASK           (0x7<<10)#define S5_STENCIL_PASS_Z_FAIL_SHIFT   7#define S5_STENCIL_PASS_Z_FAIL_MASK    (0x7<<7)#define S5_STENCIL_PASS_Z_PASS_SHIFT   4#define S5_STENCIL_PASS_Z_PASS_MASK    (0x7<<4)#define S5_STENCIL_WRITE_ENABLE        (1<<3)#define S5_STENCIL_TEST_ENABLE         (1<<2)#define S5_COLOR_DITHER_ENABLE         (1<<1)#define S5_LOGICOP_ENABLE              (1<<0)#define S6_ALPHA_TEST_ENABLE           (1<<31)#define S6_ALPHA_TEST_FUNC_SHIFT       28#define S6_ALPHA_TEST_FUNC_MASK        (0x7<<28)#define S6_ALPHA_REF_SHIFT             20#define S6_ALPHA_REF_MASK              (0xff<<20)#define S6_DEPTH_TEST_ENABLE           (1<<19)#define S6_DEPTH_TEST_FUNC_SHIFT       16#define S6_DEPTH_TEST_FUNC_MASK        (0x7<<16)#define S6_CBUF_BLEND_ENABLE           (1<<15)#define S6_CBUF_BLEND_FUNC_SHIFT       12#define S6_CBUF_BLEND_FUNC_MASK        (0x7<<12)#define S6_CBUF_SRC_BLEND_FACT_SHIFT   8#define S6_CBUF_SRC_BLEND_FACT_MASK    (0xf<<8)#define S6_CBUF_DST_BLEND_FACT_SHIFT   4#define S6_CBUF_DST_BLEND_FACT_MASK    (0xf<<4)#define S6_DEPTH_WRITE_ENABLE          (1<<3)#define S6_COLOR_WRITE_ENABLE          (1<<2)#define S6_TRISTRIP_PV_SHIFT           0#define S6_TRISTRIP_PV_MASK            (0x3<<0)#define S7_DEPTH_OFFSET_CONST_MASK     ~0/* Helper macros for blend factors */#define DST_BLND_FACT(f) ((f)<<S6_CBUF_DST_BLEND_FACT_SHIFT)#define SRC_BLND_FACT(f) ((f)<<S6_CBUF_SRC_BLEND_FACT_SHIFT)#define DST_ABLND_FACT(f) ((f)<<IAB_DST_FACTOR_SHIFT)#define SRC_ABLND_FACT(f) ((f)<<IAB_SRC_FACTOR_SHIFT)/* 3DSTATE_MAP_DEINTERLACER_PARAMETERS *//* 3DSTATE_MAP_PALETTE_LOAD_32, p206 */#define _3DSTATE_MAP_PALETTE_LOAD_32    (CMD_3D|(0x1d<<24)|(0x8f<<16))/* subsequent dwords up to length (max 16) are ARGB8888 color values *//* _3DSTATE_MODES_4, p218 */#define _3DSTATE_MODES_4_CMD		(CMD_3D|(0x0d<<24))#define ENABLE_LOGIC_OP_FUNC		(1<<23)#define LOGIC_OP_FUNC(x)		((x)<<18)#define LOGICOP_MASK			(0xf<<18)#define MODE4_ENABLE_STENCIL_TEST_MASK	((1<<17)|(0xff00))#define ENABLE_STENCIL_TEST_MASK	(1<<17)#define STENCIL_TEST_MASK(x)		(((x)&0xff)<<8)#define MODE4_ENABLE_STENCIL_WRITE_MASK	((1<<16)|(0x00ff))#define ENABLE_STENCIL_WRITE_MASK	(1<<16)#define STENCIL_WRITE_MASK(x)		((x)&0xff)/* _3DSTATE_MODES_5, p220 */#define _3DSTATE_MODES_5_CMD		(CMD_3D|(0x0c<<24))#define PIPELINE_FLUSH_RENDER_CACHE	(1<<18)#define PIPELINE_FLUSH_TEXTURE_CACHE	(1<<16)/* p221 */#define _3DSTATE_PIXEL_SHADER_CONSTANTS  (CMD_3D|(0x1d<<24)|(0x6<<16))#define PS1_REG(n)                      (1<<(n))#define PS2_CONST_X(n)                  (n)#define PS3_CONST_Y(n)                  (n)#define PS4_CONST_Z(n)                  (n)#define PS5_CONST_W(n)                  (n)/* p222 */#define I915_MAX_TEX_INDIRECT 4#define I915_MAX_TEX_INSN     32#define I915_MAX_ALU_INSN     64#define I915_MAX_DECL_INSN    27#define I915_MAX_TEMPORARY    16/* Each instruction is 3 dwords long, though most don't require all * this space.  Maximum of 123 instructions.  Smaller maxes per insn * type. */#define _3DSTATE_PIXEL_SHADER_PROGRAM    (CMD_3D|(0x1d<<24)|(0x5<<16))#define REG_TYPE_R                 0    /* temporary regs, no need to                                         * dcl, must be written before                                         * read -- Preserved between                                         * phases.                                          */#define REG_TYPE_T                 1    /* Interpolated values, must be                                         * dcl'ed before use.                                         *                                         * 0..7: texture coord,                                         * 8: diffuse spec,                                         * 9: specular color,                                         * 10: fog parameter in w.                                         */#define REG_TYPE_CONST             2    /* Restriction: only one const                                         * can be referenced per                                         * instruction, though it may be                                         * selected for multiple inputs.                                         * Constants not initialized                                         * default to zero.                                         */#define REG_TYPE_S                 3    /* sampler */#define REG_TYPE_OC                4    /* output color (rgba) */#define REG_TYPE_OD                5    /* output depth (w), xyz are                                         * temporaries.  If not written,                                         * interpolated depth is used?                                         */#define REG_TYPE_U                 6    /* unpreserved temporaries */#define REG_TYPE_MASK              0x7#define REG_NR_MASK                0xf/* REG_TYPE_T: */#define T_TEX0     0#define T_TEX1     1#define T_TEX2     2#define T_TEX3     3#define T_TEX4     4#define T_TEX5     5#define T_TEX6     6#define T_TEX7     7#define T_DIFFUSE  8#define T_SPECULAR 9#define T_FOG_W    10           /* interpolated fog is in W coord *//* Arithmetic instructions *//* .replicate_swizzle == selection and replication of a particular * scalar channel, ie., .xxxx, .yyyy, .zzzz or .wwww  */#define A0_NOP    (0x0<<24)     /* no operation */#define A0_ADD    (0x1<<24)     /* dst = src0 + src1 */#define A0_MOV    (0x2<<24)     /* dst = src0 */#define A0_MUL    (0x3<<24)     /* dst = src0 * src1 */#define A0_MAD    (0x4<<24)     /* dst = src0 * src1 + src2 */#define A0_DP2ADD (0x5<<24)     /* dst.xyzw = src0.xy dot src1.xy + src2.replicate_swizzle */#define A0_DP3    (0x6<<24)     /* dst.xyzw = src0.xyz dot src1.xyz */#define A0_DP4    (0x7<<24)     /* dst.xyzw = src0.xyzw dot src1.xyzw */#define A0_FRC    (0x8<<24)     /* dst = src0 - floor(src0) */#define A0_RCP    (0x9<<24)     /* dst.xyzw = 1/(src0.replicate_swizzle) */#define A0_RSQ    (0xa<<24)     /* dst.xyzw = 1/(sqrt(abs(src0.replicate_swizzle))) */#define A0_EXP    (0xb<<24)     /* dst.xyzw = exp2(src0.replicate_swizzle) */#define A0_LOG    (0xc<<24)     /* dst.xyzw = log2(abs(src0.replicate_swizzle)) */#define A0_CMP    (0xd<<24)     /* dst = (src0 >= 0.0) ? src1 : src2 */#define A0_MIN    (0xe<<24)     /* dst = (src0 < src1) ? src0 : src1 */#define A0_MAX    (0xf<<24)     /* dst = (src0 >= src1) ? src0 : src1 */#define A0_FLR    (0x10<<24)    /* dst = floor(src0) */#define A0_MOD    (0x11<<24)    /* dst = src0 fmod 1.0 */#define A0_TRC    (0x12<<24)    /* dst = int(src0) */#define A0_SGE    (0x13<<24)    /* dst = src0 >= src1 ? 1.0 : 0.0 */#define A0_SLT    (0x14<<24)    /* dst = src0 < src1 ? 1.0 : 0.0 */#define A0_DEST_SATURATE                 (1<<22)#define A0_DEST_TYPE_SHIFT                19/* Allow: R, OC, OD, U */#define A0_DEST_NR_SHIFT                 14/* Allow R: 0..15, OC,OD: 0..0, U: 0..2 */#define A0_DEST_CHANNEL_X                (1<<10)#define A0_DEST_CHANNEL_Y                (2<<10)#define A0_DEST_CHANNEL_Z                (4<<10)#define A0_DEST_CHANNEL_W                (8<<10)#define A0_DEST_CHANNEL_ALL              (0xf<<10)

⌨️ 快捷键说明

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