Changeset 80876 in vbox for trunk/include/VBox/Graphics
- Timestamp:
- Sep 18, 2019 6:09:19 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 133448
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/Graphics/VBoxVideo.h
r80872 r80876 1407 1407 } VBOXVDMA_CTL; 1408 1408 1409 typedef struct VBOXVDMA_RECTL1410 {1411 int16_t left;1412 int16_t top;1413 uint16_t width;1414 uint16_t height;1415 } VBOXVDMA_RECTL, *PVBOXVDMA_RECTL;1416 1417 typedef enum1418 {1419 VBOXVDMA_PIXEL_FORMAT_UNKNOWN = 0,1420 VBOXVDMA_PIXEL_FORMAT_R8G8B8 = 20,1421 VBOXVDMA_PIXEL_FORMAT_A8R8G8B8 = 21,1422 VBOXVDMA_PIXEL_FORMAT_X8R8G8B8 = 22,1423 VBOXVDMA_PIXEL_FORMAT_R5G6B5 = 23,1424 VBOXVDMA_PIXEL_FORMAT_X1R5G5B5 = 24,1425 VBOXVDMA_PIXEL_FORMAT_A1R5G5B5 = 25,1426 VBOXVDMA_PIXEL_FORMAT_A4R4G4B4 = 26,1427 VBOXVDMA_PIXEL_FORMAT_R3G3B2 = 27,1428 VBOXVDMA_PIXEL_FORMAT_A8 = 28,1429 VBOXVDMA_PIXEL_FORMAT_A8R3G3B2 = 29,1430 VBOXVDMA_PIXEL_FORMAT_X4R4G4B4 = 30,1431 VBOXVDMA_PIXEL_FORMAT_A2B10G10R10 = 31,1432 VBOXVDMA_PIXEL_FORMAT_A8B8G8R8 = 32,1433 VBOXVDMA_PIXEL_FORMAT_X8B8G8R8 = 33,1434 VBOXVDMA_PIXEL_FORMAT_G16R16 = 34,1435 VBOXVDMA_PIXEL_FORMAT_A2R10G10B10 = 35,1436 VBOXVDMA_PIXEL_FORMAT_A16B16G16R16 = 36,1437 VBOXVDMA_PIXEL_FORMAT_A8P8 = 40,1438 VBOXVDMA_PIXEL_FORMAT_P8 = 41,1439 VBOXVDMA_PIXEL_FORMAT_L8 = 50,1440 VBOXVDMA_PIXEL_FORMAT_A8L8 = 51,1441 VBOXVDMA_PIXEL_FORMAT_A4L4 = 52,1442 VBOXVDMA_PIXEL_FORMAT_V8U8 = 60,1443 VBOXVDMA_PIXEL_FORMAT_L6V5U5 = 61,1444 VBOXVDMA_PIXEL_FORMAT_X8L8V8U8 = 62,1445 VBOXVDMA_PIXEL_FORMAT_Q8W8V8U8 = 63,1446 VBOXVDMA_PIXEL_FORMAT_V16U16 = 64,1447 VBOXVDMA_PIXEL_FORMAT_W11V11U10 = 65,1448 VBOXVDMA_PIXEL_FORMAT_A2W10V10U10 = 671449 } VBOXVDMA_PIXEL_FORMAT;1450 1451 typedef struct VBOXVDMA_SURF_DESC1452 {1453 uint32_t width;1454 uint32_t height;1455 VBOXVDMA_PIXEL_FORMAT format;1456 uint32_t bpp;1457 uint32_t pitch;1458 uint32_t fFlags;1459 } VBOXVDMA_SURF_DESC, *PVBOXVDMA_SURF_DESC;1460 1461 /*typedef uint64_t VBOXVDMAPHADDRESS;*/1462 typedef uint64_t VBOXVDMASURFHANDLE;1463 1464 /* region specified as a rectangle, otherwize it is a size of memory pointed to by phys address */1465 #define VBOXVDMAOPERAND_FLAGS_RECTL 0x11466 /* Surface handle is valid */1467 #define VBOXVDMAOPERAND_FLAGS_PRIMARY 0x21468 /* address is offset in VRAM */1469 #define VBOXVDMAOPERAND_FLAGS_VRAMOFFSET 0x41470 1471 1472 1409 /* VBOXVDMACBUF_DR::phBuf specifies offset in VRAM */ 1473 1410 #define VBOXVDMACBUF_FLAG_BUF_VRAM_OFFSET 0x00000001 … … 1521 1458 #define VBOXVDMACMD_BODY_FIELD_OFFSET(_ot, _t, _f) ( (_ot)(uintptr_t)( VBOXVDMACMD_BODY(0, uint8_t) + RT_UOFFSETOF_DYN(_t, _f) ) ) 1522 1459 1523 typedef struct VBOXVDMACMD_DMA_PRESENT_BLT 1524 { 1525 VBOXVIDEOOFFSET offSrc; 1526 VBOXVIDEOOFFSET offDst; 1527 VBOXVDMA_SURF_DESC srcDesc; 1528 VBOXVDMA_SURF_DESC dstDesc; 1529 VBOXVDMA_RECTL srcRectl; 1530 VBOXVDMA_RECTL dstRectl; 1531 uint32_t u32Reserved; 1532 uint32_t cDstSubRects; 1533 VBOXVDMA_RECTL aDstSubRects[1]; 1534 } VBOXVDMACMD_DMA_PRESENT_BLT, *PVBOXVDMACMD_DMA_PRESENT_BLT; 1535 1536 typedef struct VBOXVDMACMD_DMA_PRESENT_SHADOW2PRIMARY 1537 { 1538 VBOXVDMA_RECTL Rect; 1539 } VBOXVDMACMD_DMA_PRESENT_SHADOW2PRIMARY, *PVBOXVDMACMD_DMA_PRESENT_SHADOW2PRIMARY; 1540 1541 1542 #define VBOXVDMACMD_DMA_BPB_TRANSFER_F_SRC_VRAMOFFSET 0x00000001 1543 #define VBOXVDMACMD_DMA_BPB_TRANSFER_F_DST_VRAMOFFSET 0x00000002 1544 1545 typedef struct VBOXVDMACMD_DMA_BPB_TRANSFER 1546 { 1547 uint32_t cbTransferSize; 1548 uint32_t fFlags; 1549 union 1550 { 1551 uint64_t phBuf; 1552 VBOXVIDEOOFFSET offVramBuf; 1553 } Src; 1554 union 1555 { 1556 uint64_t phBuf; 1557 VBOXVIDEOOFFSET offVramBuf; 1558 } Dst; 1559 } VBOXVDMACMD_DMA_BPB_TRANSFER, *PVBOXVDMACMD_DMA_BPB_TRANSFER; 1560 1561 #define VBOXVDMACMD_SYSMEMEL_F_PAGELIST 0x00000001 1562 1563 typedef struct VBOXVDMACMD_SYSMEMEL 1564 { 1565 uint32_t cPages; 1566 uint32_t fFlags; 1567 uint64_t phBuf[1]; 1568 } VBOXVDMACMD_SYSMEMEL, *PVBOXVDMACMD_SYSMEMEL; 1569 1570 #define VBOXVDMACMD_SYSMEMEL_NEXT(_pEl) ( ((_pEl)->fFlags & VBOXVDMACMD_SYSMEMEL_F_PAGELIST) \ 1571 ? ((PVBOXVDMACMD_SYSMEMEL)(((uint8_t*)(_pEl)) + RT_UOFFSETOF_DYN(VBOXVDMACMD_SYSMEMEL, phBuf[(_pEl)->cPages]))) \ 1572 : ((_pEl) + 1) ) 1573 1574 #define VBOXVDMACMD_DMA_BPB_TRANSFER_VRAMSYS_SYS2VRAM 0x00000001 1575 1576 typedef struct VBOXVDMACMD_DMA_BPB_TRANSFER_VRAMSYS 1577 { 1578 uint32_t cTransferPages; 1579 uint32_t fFlags; 1580 VBOXVIDEOOFFSET offVramBuf; 1581 VBOXVDMACMD_SYSMEMEL FirstEl; 1582 } VBOXVDMACMD_DMA_BPB_TRANSFER_VRAMSYS, *PVBOXVDMACMD_DMA_BPB_TRANSFER_VRAMSYS; 1583 1584 typedef struct VBOXVDMACMD_DMA_BPB_FILL 1585 { 1586 VBOXVIDEOOFFSET offSurf; 1587 uint32_t cbFillSize; 1588 uint32_t u32FillPattern; 1589 } VBOXVDMACMD_DMA_BPB_FILL, *PVBOXVDMACMD_DMA_BPB_FILL; 1460 # pragma pack() 1461 #endif /* #ifdef VBOX_WITH_VDMA */ 1462 1590 1463 1591 1464 #define VBOXVDMA_CHILD_STATUS_F_CONNECTED 0x01 … … 1611 1484 } VBOXVDMACMD_CHILD_STATUS_IRQ, *PVBOXVDMACMD_CHILD_STATUS_IRQ; 1612 1485 1613 # pragma pack()1614 #endif /* #ifdef VBOX_WITH_VDMA */1615 1616 1486 #define VBOXCMDVBVA_SCREENMAP_SIZE(_elType) ((VBOX_VIDEO_MAX_SCREENS + sizeof (_elType) - 1) / sizeof (_elType)) 1617 1487 #define VBOXCMDVBVA_SCREENMAP_DECL(_elType, _name) _elType _name[VBOXCMDVBVA_SCREENMAP_SIZE(_elType)]
Note:
See TracChangeset
for help on using the changeset viewer.