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