📄 register.h
字号:
#define FGSP_ATRBDEF_TEXTURE1 0x81
#define FGSP_ATRBDEF_TEXTURE2 0x82
#define FGSP_ATRBDEF_TEXTURE3 0x83
#define FGSP_ATRBDEF_TEXTURE4 0x84
#define FGSP_ATRBDEF_TEXTURE5 0x85
#define FGSP_ATRBDEF_TEXTURE6 0x86
#define FGSP_ATRBDEF_TEXTURE7 0x87
#define FGSP_ATRBDEF_POINTSIZE 0x01
#define FGSP_ATRBDEF_USERDEF0 0x02
#define FGSP_ATRBDEF_USERDEF1 0x03
#define FGSP_ATRBDEF_USERDEF2 0x04
#define FGSP_ATRBDEF_USERDEF3 0x05
/*****************************************************************************
* PRIMITIVE ENGINE REGISTER
*****************************************************************************/
/* R/W Vertex context format definition */
#define FGPE_VTX_CONTEXT (FIMG_BASE+0x30000)
/* R/W The X coord of viewport center */
#define FGPE_VIEWPORT_CENTER_XCOORD (FIMG_BASE+0x30004)
/* R/W The Y coord of viewport center */
#define FGPE_VIEWPORT_CENTER_YCOORD (FIMG_BASE+0x30008)
/* R/W The half of viewport width */
#define FGPE_VIEWPORT_HALF_WIDTH (FIMG_BASE+0x3000C)
/* R/W The negative half of viewport height */
#define FGPE_VIEWPORT_HALF_HEIGHT (FIMG_BASE+0x30010)
/* R/W The half of depth range far minus near 3F00_0000h */
#define FGPE_DEPTH_HALF_DISTANCE (FIMG_BASE+0x30014)
/* R/W The half of depth range far plus near 3F00_0000h */
#define FGPE_DEPTH_CENTER (FIMG_BASE+0x30018)
/*****************************************************************************
* RASTER REGISTER
*****************************************************************************/
/// Triangle Setup
/* RW Indicate sampling position */
#define FGRA_PIXEL_SAMPOS (FIMG_BASE+0x38000)
/* RW Depth offset enable */
#define FGRA_DEPTH_OFFSET_EN (FIMG_BASE+0x38004)
/* RW Depth offset factor */
#define FGRA_DEPTH_OFFSET_FACTOR (FIMG_BASE+0x38008)
/* RW Depth offset units */
#define FGRA_DEPTH_OFFSET_UNIT (FIMG_BASE+0x3800C)
/* RW Depth offset implementation constant r vlaue 3380_0002h */
#define FGRA_DEPTH_OFFSET_RVAL (FIMG_BASE+0x38010)
/* RW Back-face culling control */
#define FGRA_BACKFACE_CULL (FIMG_BASE+0x38014)
/* RW Y clip coordinate */
#define FGRA_CLIP_YCORD (FIMG_BASE+0x38018)
/// Raster
/* R/W Indicate LOD calculation control */
#define FGRA_LOD_CTRL (FIMG_BASE+0x3C000)
/* R/W X clip coordinate */
#define FGRA_CLIP_XCORD (FIMG_BASE+0x3C004)
/* RW Point width */
#define FGRA_POINT_WIDTH (FIMG_BASE+0x3801C)
#define FGRA_PWIDTH FGRA_POINT_WIDTH
/* RW Point width min. value */
#define FGRA_POINT_SIZE_MIN (FIMG_BASE+0x38020)
#define FGRA_PSIZE_MIN FGRA_POINT_SIZE_MIN
/* RW Point width max. value */
#define FGRA_POINT_SIZE_MAX (FIMG_BASE+0x38024)
#define FGRA_PSIZE_MAX FGRA_POINT_SIZE_MAX
/* RW Texture cood. replace control */
#define FGRA_COORD_REPLACE (FIMG_BASE+0x38028)
#define FGRA_LWIDTH FGRA_LINE_WIDTH
/* RW Line width */
#define FGRA_LINE_WIDTH (FIMG_BASE+0x3802C)
/// RASTER ENGINE definitions
#define BITSHIFT_RA_FACECULL_ENABLE 3
#define BITSHIFT_RA_FACECULL_FACEDIR 2
#define MAXVALUE_RA_COORD ((1 << 12) - 1)
#define BITSHIFT_RA_CLIP_MAX 16
#define MAXVALUE_RA_LOD ((1 << 24) - 1)
#define BITSHIFT_RA_LODCON7 21
#define BITSHIFT_RA_LODCON6 18
#define BITSHIFT_RA_LODCON5 15
#define BITSHIFT_RA_LODCON4 12
#define BITSHIFT_RA_LODCON3 9
#define BITSHIFT_RA_LODCON2 6
#define BITSHIFT_RA_LODCON1 3
#define MAXVALUE_RA_COODREPLACE 7
/**-----------------------------------------------------------------------------
RASTER ENGINE REGISTER(Include Triangle Setup Engine)
-----------------------------------------------------------------------------*/
/** X clip control bits. */
#define XCLIP_MIN_CLEAR 0xFFFFF800
#define XCLIP_MIN_SHIFT 0
#define XCLIP_MAX_CLEAR 0xF800FFFF
#define XCLIP_MAX_SHIFT 16
/** Y clip control bits. */
#define YCLIP_MIN_CLEAR 0xFFFFF800
#define YCLIP_MIN_SHIFT 0
#define YCLIP_MAX_CLEAR 0xF800FFFF
#define YCLIP_MAX_SHIFT 16
/*****************************************************************************
FRAGMENT(PIXEL) SHADER REGISTER
*****************************************************************************/
/* R/W Pixel shader execution mode control register */
#define FGPS_EXE_MODE (FIMG_BASE+0x4C800)
/* R/W Start address of the pixel shader program */
#define FGPS_PC_START (FIMG_BASE+0x4C804)
/* R/W End address of the pixel shader program */
#define FGPS_PC_END (FIMG_BASE+0x4C808)
/* R/W Copy FGPS_PCStart to program counter */
#define FGPS_PC_COPY (FIMG_BASE+0x4C80C)
/* R/W Num of attribute for current context */
#define FGPS_ATTRIB_NUM (FIMG_BASE+0x4C810)
/* R/W Stauts signal which means
* that PS Input Buffer initialization is not completed */
#define FGPS_INBUF_STATUS (FIMG_BASE+0x4C814)
/// Address Map of Vertex Shader
/* R/W Reseved[16KB] Actual[8KB] PS's instruction register xxxx_xxxxh */
#define FGPS_INSTMEM_SADDR (FIMG_BASE+0x40000)
#define FGPS_INSTMEM_EADDR (FIMG_BASE+0x41FFF)
/* R/W Reseved[16KB] Actual[4KB] PS's constant float register xxxx_xxxxh */
#define FGPS_CFLOAT_SADDR (FIMG_BASE+0x44000)
#define FGPS_CFLOAT_EADDR (FIMG_BASE+0x44FFF)
/* R/W Reseved[ 1KB] Actual[64B] PS's constant integer register xxxx_xxxxh */
#define FGPS_CINT_SADDR (FIMG_BASE+0x48000)
#define FGPS_CINT_EADDR (FIMG_BASE+0x4803F)
/* R/W Reseved[ 1KB] Actual[4B] PS's Boolean register xxxx_xxxxh */
#define FGPS_CBOOL_SADDR (FIMG_BASE+0x48400)
#define FGPS_CBOOL_EADDR (FIMG_BASE+0x48400)
/**-----------------------------------------------------------------------------
FRAGMENT SHADER FIELD
-----------------------------------------------------------------------------*/
#define FSIN_ATTRIB_MAX_SIZE 9
#define FSIN_ATTRIB_MIN_SIZE 1
#define FSOUT_ATTRIB_MAX_SIZE 1
#define FSOUT_ATTRIB_MIN_SIZE 1
/** 16*1024(Byte) = 4096(WORD) = 0x1000(Hex) */
#define FGPS_INSTMEM_SIZE 0x7FF
/** 4*1024(Byte) = 1024(WORD) = 0x400(Hex) */
#define FGPS_CFLOAT_SIZE 0x3FF
#define FGPS_CINT_SIZE 0xF /** 64(Byte) = 16(WORD) = 0x10(Hex) */
#define FGPS_CBOOL_SIZE 0x1 /** 4(Byte) = 1(WORD) = 0x1(Hex) */
/// Related to execution mode register
#define HOST_ACCESS_MODE 0
#define PS_EXECUTION_MODE 1
#define PS_ISNOT_EMPTY_MASK 0x00003717
/// Related to input buffer status register
#define INPUT_BUFFER_READY 0
#define INPUT_BUFFER_NOT_READY 1
#define PS_INBUF_STATUS_MASK 0x00000001
/*****************************************************************************
* TEXTURE UNITS REGISTER
*****************************************************************************/
#define FGTU_TEX0_CTRL (FIMG_BASE+0x60000) /* R/W */
#define FGTU_TEX0_USIZE (FIMG_BASE+0x60004) /* R/W */
#define FGTU_TEX0_VSIZE (FIMG_BASE+0x60008) /* R/W */
#define FGTU_TEX0_PSIZE (FIMG_BASE+0x6000C) /* R/W */
#define FGTU_TEX0_L1_OFFSET (FIMG_BASE+0x60010)
#define FGTU_TEX0_L2_OFFSET (FIMG_BASE+0x60014)
#define FGTU_TEX0_L3_OFFSET (FIMG_BASE+0x60018)
#define FGTU_TEX0_L4_OFFSET (FIMG_BASE+0x6001C)
#define FGTU_TEX0_L5_OFFSET (FIMG_BASE+0x60020)
#define FGTU_TEX0_L6_OFFSET (FIMG_BASE+0x60024)
#define FGTU_TEX0_L7_OFFSET (FIMG_BASE+0x60028)
#define FGTU_TEX0_L8_OFFSET (FIMG_BASE+0x6002C)
#define FGTU_TEX0_L9_OFFSET (FIMG_BASE+0x60030)
#define FGTU_TEX0_L10_OFFSET (FIMG_BASE+0x60034)
#define FGTU_TEX0_L11_OFFSET (FIMG_BASE+0x60038)
#define FGTU_TEX0_MIN_LEVEL (FIMG_BASE+0x6003C)
#define FGTU_TEX0_MAX_LEVEL (FIMG_BASE+0x60040)
#define FGTU_TEX0_BASE_ADDR (FIMG_BASE+0x60044)
#define FGTU_TEX1_CTRL (FIMG_BASE+0x60050)
#define FGTU_TEX1_USIZE (FIMG_BASE+0x60054)
#define FGTU_TEX1_VSIZE (FIMG_BASE+0x60058)
#define FGTU_TEX1_PSIZE (FIMG_BASE+0x6005C)
#define FGTU_TEX1_L1_OFFSET (FIMG_BASE+0x60060)
#define FGTU_TEX1_L2_OFFSET (FIMG_BASE+0x60064)
#define FGTU_TEX1_L3_OFFSET (FIMG_BASE+0x60068)
#define FGTU_TEX1_L4_OFFSET (FIMG_BASE+0x6006C)
#define FGTU_TEX1_L5_OFFSET (FIMG_BASE+0x60070)
#define FGTU_TEX1_L6_OFFSET (FIMG_BASE+0x60074)
#define FGTU_TEX1_L7_OFFSET (FIMG_BASE+0x60078)
#define FGTU_TEX1_L8_OFFSET (FIMG_BASE+0x6007C)
#define FGTU_TEX1_L9_OFFSET (FIMG_BASE+0x60080)
#define FGTU_TEX1_L10_OFFSET (FIMG_BASE+0x60084)
#define FGTU_TEX1_L11_OFFSET (FIMG_BASE+0x60088)
#define FGTU_TEX1_MIN_LEVEL (FIMG_BASE+0x6008C)
#define FGTU_TEX1_MAX_LEVEL (FIMG_BASE+0x60090)
#define FGTU_TEX1_BASE_ADDR (FIMG_BASE+0x60094)
#define FGTU_TEX2_CTRL (FIMG_BASE+0x600A0)
#define FGTU_TEX2_USIZE (FIMG_BASE+0x600A4)
#define FGTU_TEX2_VSIZE (FIMG_BASE+0x600A8)
#define FGTU_TEX2_PSIZE (FIMG_BASE+0x600AC)
#define FGTU_TEX2_L1_OFFSET (FIMG_BASE+0x600B0)
#define FGTU_TEX2_L2_OFFSET (FIMG_BASE+0x600B4)
#define FGTU_TEX2_L3_OFFSET (FIMG_BASE+0x600B8)
#define FGTU_TEX2_L4_OFFSET (FIMG_BASE+0x600BC)
#define FGTU_TEX2_L5_OFFSET (FIMG_BASE+0x600C0)
#define FGTU_TEX2_L6_OFFSET (FIMG_BASE+0x600C4)
#define FGTU_TEX2_L7_OFFSET (FIMG_BASE+0x600C8)
#define FGTU_TEX2_L8_OFFSET (FIMG_BASE+0x600CC)
#define FGTU_TEX2_L9_OFFSET (FIMG_BASE+0x600D0)
#define FGTU_TEX2_L10_OFFSET (FIMG_BASE+0x600D4)
#define FGTU_TEX2_L11_OFFSET (FIMG_BASE+0x600D8)
#define FGTU_TEX2_MIN_LEVEL (FIMG_BASE+0x600DC)
#define FGTU_TEX2_MAX_LEVEL (FIMG_BASE+0x600E0)
#define FGTU_TEX2_BASE_ADDR (FIMG_BASE+0x600E4)
#define FGTU_TEX3_CTRL (FIMG_BASE+0x600F0)
#define FGTU_TEX3_USIZE (FIMG_BASE+0x600F4)
#define FGTU_TEX3_VSIZE (FIMG_BASE+0x600F8)
#define FGTU_TEX3_PSIZE (FIMG_BASE+0x600FC)
#define FGTU_TEX3_L1_OFFSET (FIMG_BASE+0x60100)
#define FGTU_TEX3_L2_OFFSET (FIMG_BASE+0x60104)
#define FGTU_TEX3_L3_OFFSET (FIMG_BASE+0x60108)
#define FGTU_TEX3_L4_OFFSET (FIMG_BASE+0x6010C)
#define FGTU_TEX3_L5_OFFSET (FIMG_BASE+0x60110)
#define FGTU_TEX3_L6_OFFSET (FIMG_BASE+0x60114)
#define FGTU_TEX3_L7_OFFSET (FIMG_BASE+0x60118)
#define FGTU_TEX3_L8_OFFSET (FIMG_BASE+0x6011C)
#define FGTU_TEX3_L9_OFFSET (FIMG_BASE+0x60120)
#define FGTU_TEX3_L10_OFFSET (FIMG_BASE+0x60124)
#define FGTU_TEX3_L11_OFFSET (FIMG_BASE+0x60128)
#define FGTU_TEX3_MIN_LEVEL (FIMG_BASE+0x6012C)
#define FGTU_TEX3_MAX_LEVEL (FIMG_BASE+0x60130)
#define FGTU_TEX3_BASE_ADDR (FIMG_BASE+0x60134)
#define FGTU_TEX4_CTRL (FIMG_BASE+0x60140)
#define FGTU_TEX4_USIZE (FIMG_BASE+0x60144)
#define FGTU_TEX4_VSIZE (FIMG_BASE+0x60148)
#define FGTU_TEX4_PSIZE (FIMG_BASE+0x6014C)
#define FGTU_TEX4_L1_OFFSET (FIMG_BASE+0x60150)
#define FGTU_TEX4_L2_OFFSET (FIMG_BASE+0x60154)
#define FGTU_TEX4_L3_OFFSET (FIMG_BASE+0x60158)
#define FGTU_TEX4_L4_OFFSET (FIMG_BASE+0x6015C)
#define FGTU_TEX4_L5_OFFSET (FIMG_BASE+0x60160)
#define FGTU_TEX4_L6_OFFSET (FIMG_BASE+0x60164)
#define FGTU_TEX4_L7_OFFSET (FIMG_BASE+0x60168)
#define FGTU_TEX4_L8_OFFSET (FIMG_BASE+0x6016C)
#define FGTU_TEX4_L9_OFFSET (FIMG_BASE+0x60170)
#define FGTU_TEX4_L10_OFFSET (FIMG_BASE+0x60174)
#define FGTU_TEX4_L11_OFFSET (FIMG_BASE+0x60178)
#define FGTU_TEX4_MIN_LEVEL (FIMG_BASE+0x6017C)
#define FGTU_TEX4_MAX_LEVEL (FIMG_BASE+0x60180)
#define FGTU_TEX4_BASE_ADDR (FIMG_BASE+0x60184)
#define FGTU_TEX5_CTRL (FIMG_BASE+0x60190)
#define FGTU_TEX5_USIZE (FIMG_BASE+0x60194)
#define FGTU_TEX5_VSIZE (FIMG_BASE+0x60198)
#define FGTU_TEX5_PSIZE (FIMG_BASE+0x6019C)
#define FGTU_TEX5_L1_OFFSET (FIMG_BASE+0x601A0)
#define FGTU_TEX5_L2_OFFSET (FIMG_BASE+0x601A4)
#define FGTU_TEX5_L3_OFFSET (FIMG_BASE+0x601A8)
#define FGTU_TEX5_L4_OFFSET (FIMG_BASE+0x601AC)
#define FGTU_TEX5_L5_OFFSET (FIMG_BASE+0x601B0)
#define FGTU_TEX5_L6_OFFSET (FIMG_BASE+0x601B4)
#define FGTU_TEX5_L7_OFFSET (FIMG_BASE+0x601B8)
#define FGTU_TEX5_L8_OFFSET (FIMG_BASE+0x601BC)
#define FGTU_TEX5_L9_OFFSET (FIMG_BASE+0x601C0)
#define FGTU_TEX5_L10_OFFSET (FIMG_BASE+0x601C4)
#define FGTU_TEX5_L11_OFFSET (FIMG_BASE+0x601C8)
#define FGTU_TEX5_MIN_LEVEL (FIMG_BASE+0x601CC)
#define FGTU_TEX5_MAX_LEVEL (FIMG_BASE+0x601D0)
#define FGTU_TEX5_BASE_ADDR (FIMG_BASE+0x601D4)
#define FGTU_TEX6_CTRL (FIMG_BASE+0x601E0)
#define FGTU_TEX6_USIZE (FIMG_BASE+0x601E4)
#define FGTU_TEX6_VSIZE (FIMG_BASE+0x601E8)
#define FGTU_TEX6_PSIZE (FIMG_BASE+0x601EC)
#define FGTU_TEX6_L1_OFFSET (FIMG_BASE+0x601F0)
#define FGTU_TEX6_L2_OFFSET (FIMG_BASE+0x601F4)
#define FGTU_TEX6_L3_OFFSET (FIMG_BASE+0x601F8)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -