xref: /utopia/UTPA2-700.0.x/mxlib/include/apiGFX_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi #include "UFO.h"
2*53ee8cc1Swenshuai.xi 
3*53ee8cc1Swenshuai.xi typedef enum {
4*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_INIT           =0,
5*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_GET_INFO       ,
6*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_LINEDRAW       ,
7*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_RECTFILL       ,
8*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_BITBLT         ,
9*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_SET_ABL        ,
10*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_SET_CONFIG     ,
11*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_GET_CONFIG     ,
12*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_BITMAP         ,
13*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_FONT           ,
14*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_POWERSTATE     ,
15*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_CB             ,
16*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_MISC           ,
17*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_TWOSRCBITBLT   ,
18*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_TLB            ,
19*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_GET_CAPS       ,
20*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_DRAW_OVAL      ,
21*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_212)
22*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_SRC            ,
23*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_DST            ,
24*53ee8cc1Swenshuai.xi #endif
25*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_TRIFILL        ,
26*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_SPANFILL        ,
27*53ee8cc1Swenshuai.xi     MAPI_CMD_GFX_BATCHRECTFILL  ,
28*53ee8cc1Swenshuai.xi } eGFXIoctlOpt;
29*53ee8cc1Swenshuai.xi 
30*53ee8cc1Swenshuai.xi typedef enum
31*53ee8cc1Swenshuai.xi {
32*53ee8cc1Swenshuai.xi     E_GFX_GET_BUFFERINFO        =0,
33*53ee8cc1Swenshuai.xi     E_GFX_GET_TAGID             ,
34*53ee8cc1Swenshuai.xi     E_GFX_GET_NEXTTAGID         ,
35*53ee8cc1Swenshuai.xi     E_GFX_GET_CLIP              ,
36*53ee8cc1Swenshuai.xi     E_GFX_GET_INTENSITY         ,
37*53ee8cc1Swenshuai.xi     E_GFX_GET_DBGINFO           ,
38*53ee8cc1Swenshuai.xi     E_GFX_GET_INIT              ,
39*53ee8cc1Swenshuai.xi }EN_GFX_GET_CONFIG;
40*53ee8cc1Swenshuai.xi 
41*53ee8cc1Swenshuai.xi typedef enum
42*53ee8cc1Swenshuai.xi {
43*53ee8cc1Swenshuai.xi     E_GFX_SET_POWERON           =0,
44*53ee8cc1Swenshuai.xi     E_GFX_SET_FLUSHQUEUE        ,
45*53ee8cc1Swenshuai.xi     E_GFX_SET_TAGID             ,
46*53ee8cc1Swenshuai.xi     E_GFX_SET_NEXTTAGID         ,
47*53ee8cc1Swenshuai.xi     E_GFX_SET_WAITFORTAGID      ,
48*53ee8cc1Swenshuai.xi     E_GFX_SET_ONEPIXELMODE      ,
49*53ee8cc1Swenshuai.xi     E_GFX_SET_DITHER            ,
50*53ee8cc1Swenshuai.xi     E_GFX_SET_VQ                ,
51*53ee8cc1Swenshuai.xi     E_GFX_SET_MIRROR            ,
52*53ee8cc1Swenshuai.xi     E_GFX_SET_DST_MIRROR        ,
53*53ee8cc1Swenshuai.xi     E_GFX_SET_ROTATE            ,
54*53ee8cc1Swenshuai.xi     E_GFX_SET_ITALIC            ,
55*53ee8cc1Swenshuai.xi     E_GFX_SET_NEARESTMODE       ,
56*53ee8cc1Swenshuai.xi     E_GFX_SET_PALETTEOPT        ,
57*53ee8cc1Swenshuai.xi     E_GFX_SET_CLIP              ,
58*53ee8cc1Swenshuai.xi     E_GFX_SET_WRITEPROTECT      ,
59*53ee8cc1Swenshuai.xi     E_GFX_SET_ALPHA_COMPARE     ,
60*53ee8cc1Swenshuai.xi     E_GFX_SET_CSC               ,
61*53ee8cc1Swenshuai.xi     E_GFX_SET_BURSTMIULEN       ,
62*53ee8cc1Swenshuai.xi     E_GFX_SET_POLLINGTAGID      ,
63*53ee8cc1Swenshuai.xi }EN_GFX_SET_CONFIG;
64*53ee8cc1Swenshuai.xi 
65*53ee8cc1Swenshuai.xi typedef enum
66*53ee8cc1Swenshuai.xi {
67*53ee8cc1Swenshuai.xi     E_GFX_SET_ABL               =0,
68*53ee8cc1Swenshuai.xi     E_GFX_SET_COLORKEY          ,
69*53ee8cc1Swenshuai.xi     E_GFX_SET_ROP               ,
70*53ee8cc1Swenshuai.xi     E_GFX_SET_DFB               ,
71*53ee8cc1Swenshuai.xi     E_GFX_SET_INTENSITY         ,
72*53ee8cc1Swenshuai.xi }EN_GFX_SET_ABL;
73*53ee8cc1Swenshuai.xi 
74*53ee8cc1Swenshuai.xi typedef enum
75*53ee8cc1Swenshuai.xi {
76*53ee8cc1Swenshuai.xi     E_SRC_COLORKEY              =0x1,
77*53ee8cc1Swenshuai.xi     E_DST_COLORKEY              =0x2,
78*53ee8cc1Swenshuai.xi }GFX_ColorKeyType;
79*53ee8cc1Swenshuai.xi 
80*53ee8cc1Swenshuai.xi typedef enum
81*53ee8cc1Swenshuai.xi {
82*53ee8cc1Swenshuai.xi     E_LOADTEXTOUT               =0x1,
83*53ee8cc1Swenshuai.xi     E_CHARACTEROUT              =0x2,
84*53ee8cc1Swenshuai.xi }GFX_TEXTTYPE;
85*53ee8cc1Swenshuai.xi 
86*53ee8cc1Swenshuai.xi typedef enum
87*53ee8cc1Swenshuai.xi {
88*53ee8cc1Swenshuai.xi     E_CB_GETFONT                =0x1,
89*53ee8cc1Swenshuai.xi     E_CB_GETBMP                 =0x2,
90*53ee8cc1Swenshuai.xi }EN_GFX_CB_MODE;
91*53ee8cc1Swenshuai.xi 
92*53ee8cc1Swenshuai.xi typedef enum
93*53ee8cc1Swenshuai.xi {
94*53ee8cc1Swenshuai.xi     E_MISC_EXIT                 =1,
95*53ee8cc1Swenshuai.xi     E_MISC_CLEAR_FRAME_BY_WORLD   ,
96*53ee8cc1Swenshuai.xi     E_MISC_CLEAR_FRAME            ,
97*53ee8cc1Swenshuai.xi     E_MISC_LINE_PATTERN_RESET     ,
98*53ee8cc1Swenshuai.xi     E_MISC_LINE_PATTERN           ,
99*53ee8cc1Swenshuai.xi     E_MISC_BEGINE_DRAW            ,
100*53ee8cc1Swenshuai.xi     E_MISC_END_DRAW               ,
101*53ee8cc1Swenshuai.xi     E_MISC_DEBUG_LEVEL            ,
102*53ee8cc1Swenshuai.xi     E_MISC_SET_HK                 ,
103*53ee8cc1Swenshuai.xi     E_MISC_GET_HK                 ,
104*53ee8cc1Swenshuai.xi     E_MISC_PATCH_MODE             ,
105*53ee8cc1Swenshuai.xi     E_MISC_STR_BLT_SCK_TYPE       ,
106*53ee8cc1Swenshuai.xi     E_MISC_SET_ALB_1555           ,
107*53ee8cc1Swenshuai.xi     E_MISC_GET_ALB_1555           ,
108*53ee8cc1Swenshuai.xi }EN_GFX_MISC_MODE;
109*53ee8cc1Swenshuai.xi 
110*53ee8cc1Swenshuai.xi typedef enum
111*53ee8cc1Swenshuai.xi {
112*53ee8cc1Swenshuai.xi     E_SET_PARA_0            =0x1,
113*53ee8cc1Swenshuai.xi     E_SET_PARA_1            =0x2,
114*53ee8cc1Swenshuai.xi     E_SET_PARA_2            =0x4,
115*53ee8cc1Swenshuai.xi     E_SET_PARA_3            =0x8,
116*53ee8cc1Swenshuai.xi     E_SET_PARA_4            =0x10,
117*53ee8cc1Swenshuai.xi }E_GFX_SET_PARA;
118*53ee8cc1Swenshuai.xi 
119*53ee8cc1Swenshuai.xi typedef enum
120*53ee8cc1Swenshuai.xi {
121*53ee8cc1Swenshuai.xi     GFX_SRC_INFO            = 0x1,
122*53ee8cc1Swenshuai.xi     GFX_DST_INFO            = 0x2,
123*53ee8cc1Swenshuai.xi     GFX_DFB_INFO            = 0x4,
124*53ee8cc1Swenshuai.xi     GFX_ABL_INFO            = 0x8,
125*53ee8cc1Swenshuai.xi     GFX_SRC_CLRKEY_INFO     = 0x10,
126*53ee8cc1Swenshuai.xi     GFX_DST_CLRKEY_INFO     = 0x20,
127*53ee8cc1Swenshuai.xi     GFX_ALPHA_CMP_INFO      = 0x40,
128*53ee8cc1Swenshuai.xi     GFX_CLIP_INFO           = 0x80,
129*53ee8cc1Swenshuai.xi     GFX_SRC_MIRROR_INFO     = 0x100,
130*53ee8cc1Swenshuai.xi     GFX_DST_MIRROR_INFO     = 0x200,
131*53ee8cc1Swenshuai.xi     GFX_ROTATE_INFO         = 0x400,
132*53ee8cc1Swenshuai.xi     GFX_CSC_INFO            = 0x800,
133*53ee8cc1Swenshuai.xi     GFX_STR_BLT_SCK_INFO    = 0x1000,
134*53ee8cc1Swenshuai.xi     GFX_NEAREST_INFO        = 0x2000,
135*53ee8cc1Swenshuai.xi     GFX_DITHER_INFO         = 0x4000,
136*53ee8cc1Swenshuai.xi } GFX_FireInfo_Enum;
137*53ee8cc1Swenshuai.xi 
138*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
139*53ee8cc1Swenshuai.xi {
140*53ee8cc1Swenshuai.xi     GFX_BufferInfo*             pBufInfo;
141*53ee8cc1Swenshuai.xi     MS_U32                      u32OffsetByte;
142*53ee8cc1Swenshuai.xi }GFX_Src_BufferInfo, GFX_Dst_BufferInfo;
143*53ee8cc1Swenshuai.xi 
144*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED _GFX_GET_BUFFERINFO
145*53ee8cc1Swenshuai.xi {
146*53ee8cc1Swenshuai.xi     GFX_Src_BufferInfo*         pSrcbufInfo;
147*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
148*53ee8cc1Swenshuai.xi }GFX_Get_BufferInfo;
149*53ee8cc1Swenshuai.xi 
150*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
151*53ee8cc1Swenshuai.xi {
152*53ee8cc1Swenshuai.xi     MS_BOOL                     bEnable;
153*53ee8cc1Swenshuai.xi     GFX_ColorKeyMode            eOpMode;
154*53ee8cc1Swenshuai.xi     GFX_Buffer_Format           eFmt;
155*53ee8cc1Swenshuai.xi     void*                       pS_color;
156*53ee8cc1Swenshuai.xi     void*                       pE_color;
157*53ee8cc1Swenshuai.xi }GFX_Set_Src_ColorKey, GFX_Set_Dst_ColorKey;
158*53ee8cc1Swenshuai.xi 
159*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
160*53ee8cc1Swenshuai.xi {
161*53ee8cc1Swenshuai.xi     MS_BOOL                     bEnable;
162*53ee8cc1Swenshuai.xi     GFX_ColorKeyMode            eOpMode;
163*53ee8cc1Swenshuai.xi     GFX_Buffer_Format           eFmt;
164*53ee8cc1Swenshuai.xi     MS_U32                      S_color;
165*53ee8cc1Swenshuai.xi     MS_U32                      E_color;
166*53ee8cc1Swenshuai.xi }GFX_Set_Src_ColorKey_Ex, GFX_Set_Dst_ColorKey_Ex;
167*53ee8cc1Swenshuai.xi 
168*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED DLL_PACKED
169*53ee8cc1Swenshuai.xi {
170*53ee8cc1Swenshuai.xi     GFX_StretchCKType type;
171*53ee8cc1Swenshuai.xi     GFX_RgbColor     color;
172*53ee8cc1Swenshuai.xi }GFX_SetStrBltSckType;
173*53ee8cc1Swenshuai.xi 
174*53ee8cc1Swenshuai.xi /*=================================================================================================================
175*53ee8cc1Swenshuai.xi     GFX Init
176*53ee8cc1Swenshuai.xi =================================================================================================================*/
177*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
178*53ee8cc1Swenshuai.xi {
179*53ee8cc1Swenshuai.xi     MS_U32                          u32VCmdQSize;                       /// MIN:4K, MAX:512K, <MIN:Disable
180*53ee8cc1Swenshuai.xi     MS_PHY                          u32VCmdQAddr;                       //  8-byte aligned
181*53ee8cc1Swenshuai.xi     MS_BOOL                         bIsHK;                              /// Running as HK or Co-processor
182*53ee8cc1Swenshuai.xi     MS_BOOL                         bIsCompt;                           /// Running as compatible mode. In compatible mode, the parameter checking loose for NOS APP compatibility.  TRUE=>compatible with 51/Chakra , FALSE=>linux OS style
183*53ee8cc1Swenshuai.xi }GFX_Init_Config;
184*53ee8cc1Swenshuai.xi 
185*53ee8cc1Swenshuai.xi /*=================================================================================================================
186*53ee8cc1Swenshuai.xi     GFX GetInfo
187*53ee8cc1Swenshuai.xi =================================================================================================================*/
188*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
189*53ee8cc1Swenshuai.xi {
190*53ee8cc1Swenshuai.xi     MS_U32                      u32Id;
191*53ee8cc1Swenshuai.xi     MS_U32*                     pColor;
192*53ee8cc1Swenshuai.xi }GFX_Get_Intensity;
193*53ee8cc1Swenshuai.xi 
194*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
195*53ee8cc1Swenshuai.xi {
196*53ee8cc1Swenshuai.xi     EN_GFX_CAPS                 eCapType;
197*53ee8cc1Swenshuai.xi     MS_U32*                     pRet;
198*53ee8cc1Swenshuai.xi     MS_U32                      Ret_Size;
199*53ee8cc1Swenshuai.xi }GFX_Get_CAPS;
200*53ee8cc1Swenshuai.xi 
201*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
202*53ee8cc1Swenshuai.xi {
203*53ee8cc1Swenshuai.xi     MS_BOOL                     bStepTagBefore;
204*53ee8cc1Swenshuai.xi     MS_U16*                     pTagID;
205*53ee8cc1Swenshuai.xi }GFX_Get_NextTagID;
206*53ee8cc1Swenshuai.xi 
207*53ee8cc1Swenshuai.xi /*=================================================================================================================
208*53ee8cc1Swenshuai.xi     GFX SetFunction
209*53ee8cc1Swenshuai.xi        *Rotate
210*53ee8cc1Swenshuai.xi        *ColorKey
211*53ee8cc1Swenshuai.xi =================================================================================================================*/
212*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
213*53ee8cc1Swenshuai.xi {
214*53ee8cc1Swenshuai.xi     MS_BOOL                     bEnable;
215*53ee8cc1Swenshuai.xi     GFX_BlendCoef               eABLCoef;
216*53ee8cc1Swenshuai.xi     GFX_AlphaSrcFrom            eDb_abl;
217*53ee8cc1Swenshuai.xi     MS_U8                       u8Alpha_Const;
218*53ee8cc1Swenshuai.xi }GFX_Set_ABL;
219*53ee8cc1Swenshuai.xi 
220*53ee8cc1Swenshuai.xi typedef struct _GFX_SET_COLORKEY
221*53ee8cc1Swenshuai.xi {
222*53ee8cc1Swenshuai.xi     MS_U32                      ColorKey_Type;
223*53ee8cc1Swenshuai.xi     GFX_Set_Src_ColorKey*       pSrcbufInfo;
224*53ee8cc1Swenshuai.xi     GFX_Set_Dst_ColorKey*       pDstbufInfo;
225*53ee8cc1Swenshuai.xi }GFX_Set_Colorkey;
226*53ee8cc1Swenshuai.xi 
227*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
228*53ee8cc1Swenshuai.xi {
229*53ee8cc1Swenshuai.xi     MS_BOOL                     bEnable;
230*53ee8cc1Swenshuai.xi     GFX_ROP2_Op                 eRopMode;
231*53ee8cc1Swenshuai.xi }GFX_Set_ROP;
232*53ee8cc1Swenshuai.xi 
233*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
234*53ee8cc1Swenshuai.xi {
235*53ee8cc1Swenshuai.xi     MS_BOOL                     bEnable;
236*53ee8cc1Swenshuai.xi     GFX_DFBBldOP                eSrcBldOP;
237*53ee8cc1Swenshuai.xi     GFX_DFBBldOP                eDstBldOP;
238*53ee8cc1Swenshuai.xi     GFX_RgbColor                sRGBColor;
239*53ee8cc1Swenshuai.xi     MS_U16                      u16DFBBldFlags;
240*53ee8cc1Swenshuai.xi }GFX_Set_DFB;
241*53ee8cc1Swenshuai.xi 
242*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
243*53ee8cc1Swenshuai.xi {
244*53ee8cc1Swenshuai.xi     MS_U32                      u32Id;
245*53ee8cc1Swenshuai.xi     GFX_Buffer_Format           eFmt;
246*53ee8cc1Swenshuai.xi     MS_U32*                     pColor;
247*53ee8cc1Swenshuai.xi }GFX_Set_Intensity;
248*53ee8cc1Swenshuai.xi 
249*53ee8cc1Swenshuai.xi 
250*53ee8cc1Swenshuai.xi 
251*53ee8cc1Swenshuai.xi /*=================================================================================================================
252*53ee8cc1Swenshuai.xi     GFX SetConfig
253*53ee8cc1Swenshuai.xi         *OnePixel
254*53ee8cc1Swenshuai.xi         *VQ
255*53ee8cc1Swenshuai.xi         *Clip
256*53ee8cc1Swenshuai.xi =================================================================================================================*/
257*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
258*53ee8cc1Swenshuai.xi {
259*53ee8cc1Swenshuai.xi     MS_BOOL                     bEnable;
260*53ee8cc1Swenshuai.xi     MS_PHY                      u32Addr;
261*53ee8cc1Swenshuai.xi     GFX_VcmqBufSize             enBufSize;
262*53ee8cc1Swenshuai.xi     MS_U8                       u8R_Threshold;
263*53ee8cc1Swenshuai.xi     MS_U8                       u8W_Threshold;
264*53ee8cc1Swenshuai.xi }GFX_Set_VQ;
265*53ee8cc1Swenshuai.xi 
266*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
267*53ee8cc1Swenshuai.xi {
268*53ee8cc1Swenshuai.xi     MS_BOOL                     bMirrorX;
269*53ee8cc1Swenshuai.xi     MS_BOOL                     bMirrorY;
270*53ee8cc1Swenshuai.xi }GFX_Set_Mirror;
271*53ee8cc1Swenshuai.xi 
272*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
273*53ee8cc1Swenshuai.xi {
274*53ee8cc1Swenshuai.xi     MS_BOOL                     bEnable;
275*53ee8cc1Swenshuai.xi     MS_U8                       u8Ini_line;
276*53ee8cc1Swenshuai.xi     MS_U8                       u8Ini_dis;
277*53ee8cc1Swenshuai.xi     MS_U8                       u8Delta;
278*53ee8cc1Swenshuai.xi }GFX_Set_Italic;
279*53ee8cc1Swenshuai.xi 
280*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
281*53ee8cc1Swenshuai.xi {
282*53ee8cc1Swenshuai.xi     MS_U8                       u8Miu;
283*53ee8cc1Swenshuai.xi     MS_PHY                      u32Addr_Low;
284*53ee8cc1Swenshuai.xi     MS_PHY                      u32Addr_High;
285*53ee8cc1Swenshuai.xi     GFX_WPType                  eWPType;
286*53ee8cc1Swenshuai.xi }GFX_Set_WriteProtect;
287*53ee8cc1Swenshuai.xi 
288*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
289*53ee8cc1Swenshuai.xi {
290*53ee8cc1Swenshuai.xi     MS_BOOL enable;
291*53ee8cc1Swenshuai.xi     GFX_ACmpOp eMode;
292*53ee8cc1Swenshuai.xi }GFX_Set_AlphaCompare;
293*53ee8cc1Swenshuai.xi 
294*53ee8cc1Swenshuai.xi typedef struct
295*53ee8cc1Swenshuai.xi {
296*53ee8cc1Swenshuai.xi     GFX_PaletteEntry*           pPalArray;
297*53ee8cc1Swenshuai.xi     MS_U16                      u32PalStart;
298*53ee8cc1Swenshuai.xi     MS_U16                      u32PalEnd;
299*53ee8cc1Swenshuai.xi }GFX_Set_PaletteOpt;
300*53ee8cc1Swenshuai.xi 
301*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
302*53ee8cc1Swenshuai.xi {
303*53ee8cc1Swenshuai.xi     GFX_PaletteEntry            PalArray[256];
304*53ee8cc1Swenshuai.xi     MS_U16                      u32PalStart;
305*53ee8cc1Swenshuai.xi     MS_U16                      u32PalEnd;
306*53ee8cc1Swenshuai.xi }GFX_Set_PaletteOpt_ARRY;
307*53ee8cc1Swenshuai.xi 
308*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
309*53ee8cc1Swenshuai.xi {
310*53ee8cc1Swenshuai.xi     GFX_YUV_Rgb2Yuv mode;
311*53ee8cc1Swenshuai.xi     GFX_YUV_OutRange yuv_out_range;
312*53ee8cc1Swenshuai.xi     GFX_YUV_InRange uv_in_range;
313*53ee8cc1Swenshuai.xi     GFX_YUV_422 srcfmt;
314*53ee8cc1Swenshuai.xi     GFX_YUV_422 dstfmt;
315*53ee8cc1Swenshuai.xi }GFX_Set_CSC;
316*53ee8cc1Swenshuai.xi 
317*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
318*53ee8cc1Swenshuai.xi {
319*53ee8cc1Swenshuai.xi    GFX_Point*                   pV0;
320*53ee8cc1Swenshuai.xi    GFX_Point*                   pV1;
321*53ee8cc1Swenshuai.xi }GFX_Set_Clip_Property, GFX_Get_Clip_Property;
322*53ee8cc1Swenshuai.xi 
323*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
324*53ee8cc1Swenshuai.xi {
325*53ee8cc1Swenshuai.xi    GFX_Point                   V0;
326*53ee8cc1Swenshuai.xi    GFX_Point                   V1;
327*53ee8cc1Swenshuai.xi }GFX_Set_Clip_Property_Ex, GFX_Get_Clip_Property_Ex;
328*53ee8cc1Swenshuai.xi 
329*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
330*53ee8cc1Swenshuai.xi {
331*53ee8cc1Swenshuai.xi     GFX_FireInfo_Enum           eFireInfo;
332*53ee8cc1Swenshuai.xi     GFX_BufferInfo              SrcbufInfo;
333*53ee8cc1Swenshuai.xi     MS_U32                      u32SrcOffsetofByte;
334*53ee8cc1Swenshuai.xi     GFX_BufferInfo              DstbufInfo;
335*53ee8cc1Swenshuai.xi     MS_U32                      u32DstOffsetofByte;
336*53ee8cc1Swenshuai.xi     GFX_Set_DFB                 GFXSetDFB;
337*53ee8cc1Swenshuai.xi     GFX_Set_ABL                 GFXSetABL;
338*53ee8cc1Swenshuai.xi     GFX_Set_Src_ColorKey_Ex     GFXSetSrcColorKey;
339*53ee8cc1Swenshuai.xi     GFX_Set_Dst_ColorKey_Ex     GFXSetDstColorKey;
340*53ee8cc1Swenshuai.xi     GFX_Set_AlphaCompare        GFXSetAlphaCmp;
341*53ee8cc1Swenshuai.xi     GFX_Set_Clip_Property_Ex    GFXSetClip;
342*53ee8cc1Swenshuai.xi     GFX_Set_Mirror              GFXSetMirror;
343*53ee8cc1Swenshuai.xi     GFX_Set_Mirror              GFXSetDstMirror;
344*53ee8cc1Swenshuai.xi     GFX_RotateAngle             GFXSetAngle;
345*53ee8cc1Swenshuai.xi     GFX_Set_CSC                 GFXSetCSC;
346*53ee8cc1Swenshuai.xi     GFX_SetStrBltSckType        sttype;
347*53ee8cc1Swenshuai.xi     MS_BOOL                     bNearest;
348*53ee8cc1Swenshuai.xi     MS_BOOL                     bDither;
349*53ee8cc1Swenshuai.xi }GFX_FireInfo;
350*53ee8cc1Swenshuai.xi 
351*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
352*53ee8cc1Swenshuai.xi {
353*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_212)
354*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
355*53ee8cc1Swenshuai.xi #else
356*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
357*53ee8cc1Swenshuai.xi #endif
358*53ee8cc1Swenshuai.xi     GFX_RectFillInfo*           pRectFillInfo;
359*53ee8cc1Swenshuai.xi }GFX_Set_RectFillInfo;
360*53ee8cc1Swenshuai.xi 
361*53ee8cc1Swenshuai.xi typedef struct
362*53ee8cc1Swenshuai.xi {
363*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
364*53ee8cc1Swenshuai.xi     GFX_BatchRectFillInfo*      pBatchRectFillInfo;
365*53ee8cc1Swenshuai.xi }GFX_Set_BatchRectFillInfo;
366*53ee8cc1Swenshuai.xi 
367*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
368*53ee8cc1Swenshuai.xi {
369*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_212)
370*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
371*53ee8cc1Swenshuai.xi #else
372*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
373*53ee8cc1Swenshuai.xi #endif
374*53ee8cc1Swenshuai.xi     GFX_TriFillInfo*           pTriFillInfo;
375*53ee8cc1Swenshuai.xi }GFX_Set_TriFillInfo;
376*53ee8cc1Swenshuai.xi 
377*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
378*53ee8cc1Swenshuai.xi {
379*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_212)
380*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
381*53ee8cc1Swenshuai.xi #else
382*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
383*53ee8cc1Swenshuai.xi #endif
384*53ee8cc1Swenshuai.xi     GFX_SpanFillInfo*           pSpanFillInfo;
385*53ee8cc1Swenshuai.xi }GFX_Set_SpanFillInfo;
386*53ee8cc1Swenshuai.xi 
387*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
388*53ee8cc1Swenshuai.xi {
389*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_212)
390*53ee8cc1Swenshuai.xi     GFX_Src_BufferInfo*         pSrcbufInfo;
391*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
392*53ee8cc1Swenshuai.xi #else
393*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
394*53ee8cc1Swenshuai.xi #endif
395*53ee8cc1Swenshuai.xi     GFX_DrawRect*               pDrawRect;              ///Position
396*53ee8cc1Swenshuai.xi     GFX_ScaleInfo*              pScaleInfo;             ///ScaleInfo
397*53ee8cc1Swenshuai.xi     MS_U32                      u32DrawFlag;
398*53ee8cc1Swenshuai.xi     void*                       pIntensity;             ///I1/I2/I4
399*53ee8cc1Swenshuai.xi }GFX_BitBltInfo;
400*53ee8cc1Swenshuai.xi 
401*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
402*53ee8cc1Swenshuai.xi {
403*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_212)
404*53ee8cc1Swenshuai.xi     GFX_Src_BufferInfo*         pSrcbufInfo_0;
405*53ee8cc1Swenshuai.xi     GFX_Src_BufferInfo*         pSrcbufInfo_1;
406*53ee8cc1Swenshuai.xi #else
407*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
408*53ee8cc1Swenshuai.xi #endif
409*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
410*53ee8cc1Swenshuai.xi     GFX_DrawTwoSourceRect*      pDrawTwoSrcRect;              ///Position
411*53ee8cc1Swenshuai.xi     MS_U32                      u32DrawFlag;
412*53ee8cc1Swenshuai.xi }GFX_TwoSrc_BitBltInfo;
413*53ee8cc1Swenshuai.xi 
414*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
415*53ee8cc1Swenshuai.xi {
416*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_212)
417*53ee8cc1Swenshuai.xi     GFX_Src_BufferInfo*         pSrcbufInfo;
418*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
419*53ee8cc1Swenshuai.xi #else
420*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
421*53ee8cc1Swenshuai.xi #endif
422*53ee8cc1Swenshuai.xi     MS_S32                      handle;
423*53ee8cc1Swenshuai.xi     GFX_DrawBmpInfo*            pBmpInfo;
424*53ee8cc1Swenshuai.xi }GFX_Bitmap;
425*53ee8cc1Swenshuai.xi 
426*53ee8cc1Swenshuai.xi typedef struct
427*53ee8cc1Swenshuai.xi {
428*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_212)
429*53ee8cc1Swenshuai.xi     GFX_Src_BufferInfo*         pSrcbufInfo;
430*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
431*53ee8cc1Swenshuai.xi #else
432*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
433*53ee8cc1Swenshuai.xi #endif
434*53ee8cc1Swenshuai.xi     MS_S32                      fHandle;
435*53ee8cc1Swenshuai.xi     MS_U32*                     pIndex;
436*53ee8cc1Swenshuai.xi     MS_U32                      u32StrWidth;
437*53ee8cc1Swenshuai.xi     GFX_TextOutInfo*            pTextInfo;
438*53ee8cc1Swenshuai.xi }GFX_TextOut;
439*53ee8cc1Swenshuai.xi 
440*53ee8cc1Swenshuai.xi typedef struct
441*53ee8cc1Swenshuai.xi {
442*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_212)
443*53ee8cc1Swenshuai.xi     GFX_Src_BufferInfo*         pSrcbufInfo;
444*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
445*53ee8cc1Swenshuai.xi #else
446*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
447*53ee8cc1Swenshuai.xi #endif
448*53ee8cc1Swenshuai.xi     GFX_CharInfo*               pChar;
449*53ee8cc1Swenshuai.xi     GFX_TextOutInfo*            pTextInfo;
450*53ee8cc1Swenshuai.xi }GFX_CharacterOut;
451*53ee8cc1Swenshuai.xi 
452*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
453*53ee8cc1Swenshuai.xi {
454*53ee8cc1Swenshuai.xi     MS_PHY StrAddr;
455*53ee8cc1Swenshuai.xi     MS_U32 length;
456*53ee8cc1Swenshuai.xi     MS_U32 ClearValue;
457*53ee8cc1Swenshuai.xi }GFX_ClearFrameBuffer;
458*53ee8cc1Swenshuai.xi 
459*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
460*53ee8cc1Swenshuai.xi {
461*53ee8cc1Swenshuai.xi     MS_BOOL enable;
462*53ee8cc1Swenshuai.xi     MS_U8 linePattern;
463*53ee8cc1Swenshuai.xi     MS_U8 repeatFactor;
464*53ee8cc1Swenshuai.xi }GFX_SetLinePattern;
465*53ee8cc1Swenshuai.xi 
466*53ee8cc1Swenshuai.xi typedef struct
467*53ee8cc1Swenshuai.xi {
468*53ee8cc1Swenshuai.xi     MS_PHY tlb_src_addr;
469*53ee8cc1Swenshuai.xi     MS_PHY tlb_dst_addr;
470*53ee8cc1Swenshuai.xi }GFX_SetTLB_Addr;
471*53ee8cc1Swenshuai.xi 
472*53ee8cc1Swenshuai.xi /*===================================================================================================================
473*53ee8cc1Swenshuai.xi      Input Strucure
474*53ee8cc1Swenshuai.xi ====================================================================================================================*/
475*53ee8cc1Swenshuai.xi typedef enum
476*53ee8cc1Swenshuai.xi {
477*53ee8cc1Swenshuai.xi     E_GFX_INIT_VER0             =0,
478*53ee8cc1Swenshuai.xi }EN_GFX_INIT_VER;
479*53ee8cc1Swenshuai.xi 
480*53ee8cc1Swenshuai.xi typedef enum
481*53ee8cc1Swenshuai.xi {
482*53ee8cc1Swenshuai.xi     E_GFX_GET_INFO_VER0         =0,
483*53ee8cc1Swenshuai.xi }EN_GFX_GET_INFO_VER;
484*53ee8cc1Swenshuai.xi 
485*53ee8cc1Swenshuai.xi typedef enum
486*53ee8cc1Swenshuai.xi {
487*53ee8cc1Swenshuai.xi     E_GFX_GET_CAPS_VER0         =0,
488*53ee8cc1Swenshuai.xi }EN_GFX_GET_CAPS_VER;
489*53ee8cc1Swenshuai.xi 
490*53ee8cc1Swenshuai.xi typedef enum
491*53ee8cc1Swenshuai.xi {
492*53ee8cc1Swenshuai.xi     E_GFX_LINEDRAW_VER0         =0,
493*53ee8cc1Swenshuai.xi }EN_GFX_LINEDRAW_VER;
494*53ee8cc1Swenshuai.xi 
495*53ee8cc1Swenshuai.xi typedef enum
496*53ee8cc1Swenshuai.xi {
497*53ee8cc1Swenshuai.xi     E_GFX_RECTFILL_VER0         =0,
498*53ee8cc1Swenshuai.xi }EN_GFX_RECTFILL_VER;
499*53ee8cc1Swenshuai.xi 
500*53ee8cc1Swenshuai.xi typedef enum
501*53ee8cc1Swenshuai.xi {
502*53ee8cc1Swenshuai.xi     E_GFX_TRIFILL_VER0         =0,
503*53ee8cc1Swenshuai.xi }EN_GFX_TRIFILL_VER;
504*53ee8cc1Swenshuai.xi 
505*53ee8cc1Swenshuai.xi typedef enum
506*53ee8cc1Swenshuai.xi {
507*53ee8cc1Swenshuai.xi     E_GFX_SPANFILL_VER0         =0,
508*53ee8cc1Swenshuai.xi }EN_GFX_SPANFILL_VER;
509*53ee8cc1Swenshuai.xi 
510*53ee8cc1Swenshuai.xi typedef enum
511*53ee8cc1Swenshuai.xi {
512*53ee8cc1Swenshuai.xi     E_GFX_BITBLT_VER0           =0,
513*53ee8cc1Swenshuai.xi }EN_GFX_BITBLT_VER;
514*53ee8cc1Swenshuai.xi 
515*53ee8cc1Swenshuai.xi typedef enum
516*53ee8cc1Swenshuai.xi {
517*53ee8cc1Swenshuai.xi     E_GFX_ABL_VER0              =0,
518*53ee8cc1Swenshuai.xi }EN_GFX_ABL_VER;
519*53ee8cc1Swenshuai.xi 
520*53ee8cc1Swenshuai.xi typedef enum
521*53ee8cc1Swenshuai.xi {
522*53ee8cc1Swenshuai.xi     E_GFX_SET_CONFIG_VER0       =0,
523*53ee8cc1Swenshuai.xi }EN_GFX_SET_CONFIG_VER;
524*53ee8cc1Swenshuai.xi 
525*53ee8cc1Swenshuai.xi typedef enum
526*53ee8cc1Swenshuai.xi {
527*53ee8cc1Swenshuai.xi     E_GFX_GET_CONFIG_VER0       =0,
528*53ee8cc1Swenshuai.xi }EN_GFX_GET_CONFIG_VER;
529*53ee8cc1Swenshuai.xi 
530*53ee8cc1Swenshuai.xi typedef enum
531*53ee8cc1Swenshuai.xi {
532*53ee8cc1Swenshuai.xi     E_GFX_BITMAP_VER0           =0,
533*53ee8cc1Swenshuai.xi }EN_GFX_BITMAP_VER;
534*53ee8cc1Swenshuai.xi 
535*53ee8cc1Swenshuai.xi typedef enum
536*53ee8cc1Swenshuai.xi {
537*53ee8cc1Swenshuai.xi     E_GFX_TEXT_VER0             =0,
538*53ee8cc1Swenshuai.xi }EN_GFX_TEXTOUT_VER;
539*53ee8cc1Swenshuai.xi 
540*53ee8cc1Swenshuai.xi typedef enum
541*53ee8cc1Swenshuai.xi {
542*53ee8cc1Swenshuai.xi     E_GFX_POWERSTATE_VER0       =0,
543*53ee8cc1Swenshuai.xi }EN_GFX_POWERSTATE_VER;
544*53ee8cc1Swenshuai.xi 
545*53ee8cc1Swenshuai.xi typedef enum
546*53ee8cc1Swenshuai.xi {
547*53ee8cc1Swenshuai.xi     E_GFX_CB_VER0               =0,
548*53ee8cc1Swenshuai.xi }EN_GFX_CB_VER;
549*53ee8cc1Swenshuai.xi 
550*53ee8cc1Swenshuai.xi typedef enum
551*53ee8cc1Swenshuai.xi {
552*53ee8cc1Swenshuai.xi     E_GFX_MISC_VER0             =0,
553*53ee8cc1Swenshuai.xi }EN_GFX_MISC_VER;
554*53ee8cc1Swenshuai.xi 
555*53ee8cc1Swenshuai.xi typedef enum
556*53ee8cc1Swenshuai.xi {
557*53ee8cc1Swenshuai.xi     E_GFX_TLB_VER0              =0,
558*53ee8cc1Swenshuai.xi }EN_GFX_TLB_VER;
559*53ee8cc1Swenshuai.xi 
560*53ee8cc1Swenshuai.xi typedef enum
561*53ee8cc1Swenshuai.xi {
562*53ee8cc1Swenshuai.xi     E_GFX_DRAW_OVAL_VER0              =0,
563*53ee8cc1Swenshuai.xi }EN_GFX_DRAW_OVAL_VER;
564*53ee8cc1Swenshuai.xi 
565*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
566*53ee8cc1Swenshuai.xi {
567*53ee8cc1Swenshuai.xi     EN_GFX_INIT_VER             eVerType;
568*53ee8cc1Swenshuai.xi     GFX_Init_Config*            pGFX_Init;
569*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
570*53ee8cc1Swenshuai.xi }GFX_INIT_ARGS;
571*53ee8cc1Swenshuai.xi 
572*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
573*53ee8cc1Swenshuai.xi {
574*53ee8cc1Swenshuai.xi     EN_GFX_GET_INFO_VER         eVerType;
575*53ee8cc1Swenshuai.xi     EN_GFX_GET_CONFIG           eGFX_GetConfig;
576*53ee8cc1Swenshuai.xi     void*                       pGFX_GetInfo;
577*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
578*53ee8cc1Swenshuai.xi }GFX_GETINFO_ARGS;
579*53ee8cc1Swenshuai.xi 
580*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
581*53ee8cc1Swenshuai.xi {
582*53ee8cc1Swenshuai.xi     EN_GFX_GET_CAPS_VER         eVerType;
583*53ee8cc1Swenshuai.xi     EN_GFX_CAPS                 eCaps;
584*53ee8cc1Swenshuai.xi     void*                       pGFX_GetCaps;
585*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
586*53ee8cc1Swenshuai.xi }GFX_GETCAPS_ARGS;
587*53ee8cc1Swenshuai.xi 
588*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
589*53ee8cc1Swenshuai.xi {
590*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_500) || defined(UFO_PUBLIC_HEADER_500_3) || defined(UFO_PUBLIC_HEADER_212)
591*53ee8cc1Swenshuai.xi     GFX_Dst_BufferInfo*         pDstbufInfo;
592*53ee8cc1Swenshuai.xi #else
593*53ee8cc1Swenshuai.xi     GFX_FireInfo*               pFireInfo;
594*53ee8cc1Swenshuai.xi #endif
595*53ee8cc1Swenshuai.xi     GFX_DrawLineInfo*           pDrawLineInfo;
596*53ee8cc1Swenshuai.xi }GFX_Set_DrawLineInfo;
597*53ee8cc1Swenshuai.xi 
598*53ee8cc1Swenshuai.xi 
599*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
600*53ee8cc1Swenshuai.xi {
601*53ee8cc1Swenshuai.xi     EN_GFX_LINEDRAW_VER         eVerType;
602*53ee8cc1Swenshuai.xi     GFX_Set_DrawLineInfo*       pLineInfo;
603*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
604*53ee8cc1Swenshuai.xi }GFX_LINEDRAW_ARGS;
605*53ee8cc1Swenshuai.xi 
606*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
607*53ee8cc1Swenshuai.xi {
608*53ee8cc1Swenshuai.xi     EN_GFX_RECTFILL_VER         eVerType;
609*53ee8cc1Swenshuai.xi     GFX_Set_RectFillInfo*       pFillBlock;
610*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
611*53ee8cc1Swenshuai.xi }GFX_RECTFILL_ARGS;
612*53ee8cc1Swenshuai.xi 
613*53ee8cc1Swenshuai.xi typedef struct
614*53ee8cc1Swenshuai.xi {
615*53ee8cc1Swenshuai.xi     EN_GFX_RECTFILL_VER         eVerType;
616*53ee8cc1Swenshuai.xi     GFX_Set_BatchRectFillInfo*  pBatchFillBlock;
617*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
618*53ee8cc1Swenshuai.xi }GFX_BATCHRECTFILL_ARGS;
619*53ee8cc1Swenshuai.xi 
620*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
621*53ee8cc1Swenshuai.xi {
622*53ee8cc1Swenshuai.xi     EN_GFX_TRIFILL_VER         eVerType;
623*53ee8cc1Swenshuai.xi     GFX_Set_TriFillInfo*       pFillBlock;
624*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
625*53ee8cc1Swenshuai.xi }GFX_TRIFILL_ARGS;
626*53ee8cc1Swenshuai.xi 
627*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
628*53ee8cc1Swenshuai.xi {
629*53ee8cc1Swenshuai.xi     EN_GFX_SPANFILL_VER         eVerType;
630*53ee8cc1Swenshuai.xi     GFX_Set_SpanFillInfo*       pFillBlock;
631*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
632*53ee8cc1Swenshuai.xi }GFX_SPANFILL_ARGS;
633*53ee8cc1Swenshuai.xi 
634*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
635*53ee8cc1Swenshuai.xi {
636*53ee8cc1Swenshuai.xi     EN_GFX_BITBLT_VER           eVerType;
637*53ee8cc1Swenshuai.xi     GFX_BitBltInfo*             pGFX_BitBlt;
638*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
639*53ee8cc1Swenshuai.xi }GFX_BITBLT_ARGS;
640*53ee8cc1Swenshuai.xi 
641*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
642*53ee8cc1Swenshuai.xi {
643*53ee8cc1Swenshuai.xi     EN_GFX_BITBLT_VER           eVerType;
644*53ee8cc1Swenshuai.xi     GFX_TwoSrc_BitBltInfo*      pGFX_TwoSrc_BitBlt;
645*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
646*53ee8cc1Swenshuai.xi }GFX_TWOSRC_BITBLT_ARGS;
647*53ee8cc1Swenshuai.xi 
648*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
649*53ee8cc1Swenshuai.xi {
650*53ee8cc1Swenshuai.xi     EN_GFX_ABL_VER              eVerType;
651*53ee8cc1Swenshuai.xi     EN_GFX_SET_ABL              eGFX_SetABL;
652*53ee8cc1Swenshuai.xi     void*                       pGFX_ABL;
653*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
654*53ee8cc1Swenshuai.xi }GFX_ABL_ARGS;
655*53ee8cc1Swenshuai.xi 
656*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
657*53ee8cc1Swenshuai.xi {
658*53ee8cc1Swenshuai.xi     EN_GFX_SET_CONFIG_VER       eVerType;
659*53ee8cc1Swenshuai.xi     EN_GFX_SET_CONFIG           eGFX_SetConfig;
660*53ee8cc1Swenshuai.xi     void*                       pGFX_ConfigInfo;
661*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
662*53ee8cc1Swenshuai.xi }GFX_SETCONFIG_ARGS;
663*53ee8cc1Swenshuai.xi 
664*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
665*53ee8cc1Swenshuai.xi {
666*53ee8cc1Swenshuai.xi     EN_GFX_GET_CONFIG_VER       eVerType;
667*53ee8cc1Swenshuai.xi     EN_GFX_GET_CONFIG           eGFX_GetConfig;
668*53ee8cc1Swenshuai.xi     void*                       pGFX_ConfigInfo;
669*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
670*53ee8cc1Swenshuai.xi }GFX_GETCONFIG_ARGS;
671*53ee8cc1Swenshuai.xi 
672*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
673*53ee8cc1Swenshuai.xi {
674*53ee8cc1Swenshuai.xi     EN_GFX_BITMAP_VER           eVerType;
675*53ee8cc1Swenshuai.xi     GFX_Bitmap*                 pGFX_Bitmap;
676*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
677*53ee8cc1Swenshuai.xi }GFX_BITMAP_ARGS;
678*53ee8cc1Swenshuai.xi 
679*53ee8cc1Swenshuai.xi typedef struct
680*53ee8cc1Swenshuai.xi {
681*53ee8cc1Swenshuai.xi     EN_GFX_TEXTOUT_VER          eVerType;
682*53ee8cc1Swenshuai.xi     GFX_TEXTTYPE                eGFX_TextType;
683*53ee8cc1Swenshuai.xi     void*                       pGFX_TextOut;
684*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
685*53ee8cc1Swenshuai.xi }GFX_TEXTOUT_ARGS;
686*53ee8cc1Swenshuai.xi 
687*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
688*53ee8cc1Swenshuai.xi {
689*53ee8cc1Swenshuai.xi     EN_GFX_POWERSTATE_VER       eVerType;
690*53ee8cc1Swenshuai.xi     EN_POWER_MODE               eGFX_PowerStateType;
691*53ee8cc1Swenshuai.xi     void*                       pGFX_PowerState;
692*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
693*53ee8cc1Swenshuai.xi }GFX_POWERSTATE_ARGS;
694*53ee8cc1Swenshuai.xi 
695*53ee8cc1Swenshuai.xi typedef struct
696*53ee8cc1Swenshuai.xi {
697*53ee8cc1Swenshuai.xi     EN_GFX_CB_VER               eVerType;
698*53ee8cc1Swenshuai.xi     EN_GFX_CB_MODE              eGFX_CBType;
699*53ee8cc1Swenshuai.xi     void*                       pGFX_CBInfo;
700*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
701*53ee8cc1Swenshuai.xi }GFX_CB_ARGS;
702*53ee8cc1Swenshuai.xi 
703*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED
704*53ee8cc1Swenshuai.xi {
705*53ee8cc1Swenshuai.xi     EN_GFX_MISC_VER             eVerType;
706*53ee8cc1Swenshuai.xi     EN_GFX_MISC_MODE            eGFX_MISCType;
707*53ee8cc1Swenshuai.xi     void*                       pGFX_Info;
708*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
709*53ee8cc1Swenshuai.xi }GFX_MISC_ARGS;
710*53ee8cc1Swenshuai.xi 
711*53ee8cc1Swenshuai.xi typedef enum
712*53ee8cc1Swenshuai.xi {
713*53ee8cc1Swenshuai.xi     E_GFX_TLB_SET_MODE,
714*53ee8cc1Swenshuai.xi     E_GFX_TLB_SET_ADDR,
715*53ee8cc1Swenshuai.xi     E_GFX_TLB_FLUSH_TABLE,
716*53ee8cc1Swenshuai.xi     E_GFX_TLB_TAG,
717*53ee8cc1Swenshuai.xi }EN_GFX_TLB_CMD;
718*53ee8cc1Swenshuai.xi 
719*53ee8cc1Swenshuai.xi typedef struct _GFX_TLB_ARGS
720*53ee8cc1Swenshuai.xi {
721*53ee8cc1Swenshuai.xi     EN_GFX_TLB_CMD              en_cmd;
722*53ee8cc1Swenshuai.xi     EN_GFX_TLB_VER              eVerType;
723*53ee8cc1Swenshuai.xi     EN_GFX_TLB_Mode             TLB_mode;
724*53ee8cc1Swenshuai.xi     void*                       psetting;
725*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
726*53ee8cc1Swenshuai.xi }GFX_TLB_ARGS, *PGFX_TLB_ARGS;
727*53ee8cc1Swenshuai.xi 
728*53ee8cc1Swenshuai.xi typedef struct
729*53ee8cc1Swenshuai.xi {
730*53ee8cc1Swenshuai.xi     EN_GFX_DRAW_OVAL_VER        eVerType;
731*53ee8cc1Swenshuai.xi     void*                       psetting;
732*53ee8cc1Swenshuai.xi     MS_U32                      u32Size;
733*53ee8cc1Swenshuai.xi }GFX_DRAW_OVAL_ARGS;
734*53ee8cc1Swenshuai.xi 
735*53ee8cc1Swenshuai.xi 
736