📄 mbx12ddef.h
字号:
/*
// MBX2D_SRC_CTRL
*/
/* WORD 0 */
#define MBX2D_SRCMEMTYPE_MASK 0x0C000000
#define MBX2D_SRCMEMTYPE_CLRMASK 0xF3FFFFFF
#define MBX2D_SRC_SYSTEMMEM 0x00000000
#define MBX2D_SRC_FBMEM 0x04000000
#define MBX2D_SRC_FBMEM_RESERVE 0x08000000
#define MBX2D_SRC_FORMAT_MASK 0x00078000
#define MBX2D_SRC_1_PAL 0x00000000
#define MBX2D_SRC_2_PAL 0x00008000
#define MBX2D_SRC_4_PAL 0x00010000
#define MBX2D_SRC_8_PAL 0x00018000
#define MBX2D_SRC_RESERVED0 0x00020000
#define MBX2D_SRC_4_ALPHA 0x00028000
#define MBX2D_SRC_332RGB 0x00030000
#define MBX2D_SRC_4444ARGB 0x00038000
#define MBX2D_SRC_555RGB 0x00040000
#define MBX2D_SRC_1555ARGB 0x00048000
#define MBX2D_SRC_565RGB 0x00050000
#define MBX2D_SRC_888RGB 0x00058000
#define MBX2D_SRC_8888ARGB 0x00060000
#define MBX2D_SRC_STRIDE_MASK 0x00007FFF
#define MBX2D_SRC_STRIDE_CLRMASK 0xFFFF8000
#define MBX2D_SRC_STRIDE_SHIFT 0
/* WORD 1
- If the surface is sourced from the frame buffer
then a base address is required. This word is only
present for frame buffer base sources.
*/
#define MBX2D_SRC_ADDR_MASK 0x03FFFFFC
#define MBX2D_SRC_ADDR_CLRMASK 0xFC000003
#define MBX2D_SRC_ADDR_SHIFT 2
#define MBX2D_SRC_ADDR_ALIGNSHIFT 2
/* WORD 2
- If the data needs to be loaded into frame buffer
then there are two more words which define
a rectangular sub-region.
*/
#define MBX2D_SRC_STRIDEALIGN_MASK 0xC0000000
#define MBX2D_SRC_STRIDEALIGN_CLRMASK 0x3FFFFFFF
#define MBX2D_SRC_STRIDEALIGN_SHIFT 30
#define MBX2D_SRC_STRIDEALIGN_DWORD 0x00000000
#define MBX2D_SRC_STRIDEALIGN_ONE 0x40000000
#define MBX2D_SRC_STRIDEALIGN_TWO 0x80000000
#define MBX2D_SRC_STRIDEALIGN_THREE 0xC0000000
#define MBX2D_SRC_YSTART_MASK 0x1FFF0000
#define MBX2D_SRC_YSTART_CLRMASK 0xE000FFFF
#define MBX2D_SRC_YSTART_SHIFT 16
#define MBX2D_SRC_XSTART_MASK 0x00001FFF
#define MBX2D_SRC_XSTART_CLRMASK 0xFFFFE000
#define MBX2D_SRC_XSTART_SHIFT 0
/* WORD 3
- End points
*/
#define MBX2D_SRC_YEND_MASK 0x1FFF0000
#define MBX2D_SRC_YEND_CLRMASK 0xE000FFFF
#define MBX2D_SRC_YEND_SHIFT 16
#define MBX2D_SRC_XEND_MASK 0x00001FFF
#define MBX2D_SRC_XEND_CLRMASK 0xFFFFE000
#define MBX2D_SRC_XEND_SHIFT 0
/*
The subsequent words contain the pixel data for the surface.
Not to be confused with system pixel data sent with the blit BH!
*/
/*
// MBX2D_PAT_CTRL
*/
/* WORD 0 */
#define MBX2D_PATMEMTYPE_MASK 0x0C000000
#define MBX2D_PATMEMTYPE_CLRMASK 0xF3FFFFFF
#define MBX2D_PAT_FBMEM 0x04000000
#define MBX2D_PAT_FBMEM_RESERVE 0x08000000
#define MBX2D_PAT_FORMAT_MASK 0x00078000
#define MBX2D_PAT_1_PAL 0x00000000
#define MBX2D_PAT_2_PAL 0x00008000
#define MBX2D_PAT_4_PAL 0x00010000
#define MBX2D_PAT_8_PAL 0x00018000
#define MBX2D_PAT_RESERVED0 0x00020000
#define MBX2D_PAT_4_ALPHA 0x00028000
#define MBX2D_PAT_332RGB 0x00030000
#define MBX2D_PAT_4444ARGB 0x00038000
#define MBX2D_PAT_555RGB 0x00040000
#define MBX2D_PAT_1555ARGB 0x00048000
#define MBX2D_PAT_565RGB 0x00050000
#define MBX2D_PAT_888RGB 0x00058000
#define MBX2D_PAT_8888ARGB 0x00060000
#define MBX2D_PAT_STRIDE_MASK 0x00007FFF
#define MBX2D_PAT_STRIDE_CLRMASK 0xFFFF8000
#define MBX2D_PAT_STRIDE_SHIFT 0
/*
Unlike a system memory Source, the pattern data must be saved
to memory since it may be referenced repeatedly at different
line and pixel positions. We cannot therefore support system
memory patterns. The driver must reserve a portion of framebuffer
for the HW to store the pattern (256x256xMaxBytesPP bytes).
*/
/* WORD 1 */
#define MBX2D_PAT_ADDR_MASK 0x03FFFFFC
#define MBX2D_PAT_ADDR_CLRMASK 0xFC000003
#define MBX2D_PAT_ADDR_SHIFT 2
#define MBX2D_PAT_ADDR_ALIGNSHIFT 2
/*
WORD 2
- If the data needs to be loaded into frame buffer then there
is a third word which defines the size in pixels. Obviously
the effective x size must be a multiple of bytes and must be
less than or equal to the stride. This is especially important
for pixel formats which have less than 8 bits as it implies a
granularity of more than 1 pixel.
*/
#define MBX2D_PAT_STRIDEALIGN_MASK 0xC0000000
#define MBX2D_PAT_STRIDEALIGN_CLRMASK 0x3FFFFFFF
#define MBX2D_PAT_STRIDEALIGN_SHIFT 30
#define MBX2D_PAT_STRIDEALIGN_DWORD 0x00000000
#define MBX2D_PAT_STRIDEALIGN_ONE 0x40000000
#define MBX2D_PAT_STRIDEALIGN_TWO 0x80000000
#define MBX2D_PAT_STRIDEALIGN_THREE 0xC0000000
#define MBX2D_PAT_YSIZE_MASK 0x1FFF0000
#define MBX2D_PAT_YSIZE_CLRMASK 0xE000FFFF
#define MBX2D_PAT_YSIZE_SHIFT 16
#define MBX2D_PAT_XSIZE_MASK 0x00001FFF
#define MBX2D_PAT_XSIZE_CLRMASK 0xFFFFE000
#define MBX2D_PAT_XSIZE_SHIFT 0
/* The subsequent words contain the pixel data for the surface. */
/*
// MBX2D_DST_CTRL
*/
/* WORD 0 */
#define MBX2D_DST_332RGB 0x00030000
#define MBX2D_DST_4444ARGB 0x00038000
#define MBX2D_DST_555RGB 0x00040000
#define MBX2D_DST_1555ARGB 0x00048000
#define MBX2D_DST_565RGB 0x00050000
#define MBX2D_DST_888RGB 0x00058000
#define MBX2D_DST_8888ARGB 0x00060000
#define MBX2D_DST_STRIDE_MASK 0x00007FFF
#define MBX2D_DST_STRIDE_CLRMASK 0xFFFF8000
#define MBX2D_DST_STRIDE_SHIFT 0
/* WORD 1 */
#define MBX2D_DST_ADDR_MASK 0x03FFFFFC
#define MBX2D_DST_ADDR_CLRMASK 0xFC000003
#define MBX2D_DST_ADDR_SHIFT 2
#define MBX2D_DST_ADDR_ALIGNSHIFT 2
/*
// MBX2D_MASK_CTRL
*/
/* WORD 0 */
#define MBX2D_MASKMEMTYPE_MASK 0x0C000000
#define MBX2D_MASKMEMTYPE_CLRMASK 0xF3FFFFFF
#define MBX2D_MASK_SYSTEMMEM 0x00000000
#define MBX2D_MASK_FBMEM 0x04000000
#define MBX2D_MASK_FBMEM_RESERVE 0x08000000
#define MBX2D_MASK_STRIDE_MASK 0x00007FFF
#define MBX2D_MASK_STRIDE_CLRMASK 0xFFFF8000
#define MBX2D_MASK_STRIDE_SHIFT 0
/* WORD 1
- If the surface is sourced from the frame buffer
then a base address is required. This word is only
present for frame buffer base mask.
*/
#define MBX2D_MASK_ADDR_MASK 0x03FFFFFC
#define MBX2D_MASK_ADDR_CLRMASK 0xFC000003
#define MBX2D_MASK_ADDR_SHIFT 2
#define MBX2D_MASK_ADDR_ALIGNSHIFT 2
/* WORD 2
- If the data needs to be loaded into frame buffer
then there is a third and fourth word which defines
a rectangular sub-region
*/
#define MBX2D_MASK_STRIDEALIGN_MASK 0xC0000000
#define MBX2D_MASK_STRIDEALIGN_CLRMASK 0x3FFFFFFF
#define MBX2D_MASK_STRIDEALIGN_SHIFT 30
#define MBX2D_MASK_STRIDEALIGN_DWORD 0x00000000
#define MBX2D_MASK_STRIDEALIGN_ONE 0x40000000
#define MBX2D_MASK_STRIDEALIGN_TWO 0x80000000
#define MBX2D_MASK_STRIDEALIGN_THREE 0xC0000000
#define MBX2D_MASK_YSTART_MASK 0x1FFF0000
#define MBX2D_MASK_YSTART_CLRMASK 0xE000FFFF
#define MBX2D_MASK_YSTART_SHIFT 16
#define MBX2D_MASK_XSTART_MASK 0x00001FFF
#define MBX2D_MASK_XSTART_CLRMASK 0xFFFFE000
#define MBX2D_MASK_XSTART_SHIFT 0
/* WORD 3
- End points
*/
#define MBX2D_MASK_YEND_MASK 0x1FFF0000
#define MBX2D_MASK_YEND_CLRMASK 0xE000FFFF
#define MBX2D_MASK_YEND_SHIFT 16
#define MBX2D_MASK_XEND_MASK 0x00001FFF
#define MBX2D_MASK_XEND_CLRMASK 0xFFFFE000
#define MBX2D_MASK_XEND_SHIFT 0
/*
The subsequent words contain the pixel data for the surface.
Not to be confused with system pixel data sent with the blit BH!
*/
/*
// MBX2D_SRC_PAL
*/
#define MBX2D_SRCPAL_PIX_ENTRIES_MASK 0x0001FF00
#define MBX2D_SRCPAL_PIX_ENTRIES_CLRMASK 0xFFFE00FF
#define MBX2D_SRCPAL_PIX_ENTRIES_SHIFT 8
#define MBX2D_SRCPAL_OFFSET_MASK 0x0000007F
#define MBX2D_SRCPAL_OFFSET_CLRMASK 0xFFFFFF80
#define MBX2D_SRCPAL_OFFSET_SHIFT 0
/*
//address
*/
#define MBX2D_SRCPAL_ADDR_SHIFT 0
#define MBX2D_SRCPAL_ADDR_CLRMASK 0xFC0003FF
#define MBX2D_SRCPAL_ADDR_MASK 0x07FFFC00
#define MBX2D_SRCPAL_BYTEALIGN 1024
/* N.B. write granularity is one DWORD */
/*
// MBX2D_PAT_PAL
*/
#define MBX2D_PATPAL_PIX_ENTRIES_MASK 0x0001FF00
#define MBX2D_PATPAL_PIX_ENTRIES_CLRMASK 0xFFFE00FF
#define MBX2D_PATPAL_PIX_ENTRIES_SHIFT 8
#define MBX2D_PATPAL_OFFSET_MASK 0x0000007F
#define MBX2D_PATPAL_OFFSET_CLRMASK 0xFFFFFF80
#define MBX2D_PATPAL_OFFSET_SHIFT 0
/*
//address
*/
#define MBX2D_PATPAL_ADDR_SHIFT 0
#define MBX2D_PATPAL_ADDR_CLRMASK 0xFC0003FF
#define MBX2D_PATPAL_ADDR_MASK 0x07FFFC00
#define MBX2D_PATPAL_BYTEALIGN 1024
/* N.B. write granularity is one DWORD */
/*
Doug: put these ROP3 (i.e. 2 LS byte) defines here for now.
*/
#define MBX2D_ROP3_SRCCOPY 0xCCCC
#define MBX2D_ROP3_PATCOPY 0xF0F0
#define MBX2D_ROP3_WHITENESS 0xFFFF
#define MBX2D_ROP3_BLACKNESS 0x0000
#endif /* __MBX12DDEF_H__ */
/*****************************************************************************
End of file (mbx12ddef.h)
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -