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