VirtualBox

Changeset 50957 in vbox for trunk/include


Ignore:
Timestamp:
Apr 2, 2014 8:26:07 PM (11 years ago)
Author:
vboxsync
Message:

wddm/crOpenGL/DevVGA: blitting enhancements and cleanup + bugfixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VBoxVideo.h

    r50928 r50957  
    15701570/* blit command that does blitting of allocations identified by VRAM offset or host id
    15711571 * for VRAM-offset ones the size and format are same as primary */
    1572 #define VBOXCMDVBVA_OPTYPE_BLT_OFFPRIMSZFMT_OR_ID       2
     1572#define VBOXCMDVBVA_OPTYPE_BLT                          2
    15731573/* flip */
    15741574#define VBOXCMDVBVA_OPTYPE_FLIP                         3
     
    15871587#define VBOXCMDVBVA_OPTYPE_NOP                          0x80
    15881588
    1589 /* u8Flags flags */
    1590 /* source allocation is specified with the host id. if not set - source allocation is specified with VRAM offset */
    1591 #define VBOXCMDVBVA_OPF_ALLOC_SRCID                     0x80
    1592 /* destination allocation is specified with the host id. if not set - destination allocation is specified with VRAM offset */
    1593 #define VBOXCMDVBVA_OPF_ALLOC_DSTID                     0x40
    1594 
    1595 /* transfer from RAM to Allocation */
    1596 #define VBOXCMDVBVA_OPF_PAGING_TRANSFER_IN              0x20
    1597 
    1598 /* VBOXCMDVBVA_OPTYPE_BLT_PRIMARY specific flags*/
    1599 /* if set - src is a primary id */
    1600 #define VBOXCMDVBVA_OPF_ALLOC_SRCPRIMARY               0x20
    1601 /* if set - dst is a primary id */
    1602 #define VBOXCMDVBVA_OPF_ALLOC_DSTPRIMARY               0x10
    1603 
     1589///* u8Flags flags */
     1590///* source allocation is specified with the host id. if not set - source allocation is specified with VRAM offset */
     1591//#define VBOXCMDVBVA_OPF_ALLOC_SRCID                     0x80
     1592///* destination allocation is specified with the host id. if not set - destination allocation is specified with VRAM offset */
     1593//#define VBOXCMDVBVA_OPF_ALLOC_DSTID                     0x40
     1594//
     1595///* transfer from RAM to Allocation */
     1596#define VBOXCMDVBVA_OPF_PAGING_TRANSFER_IN                  0x80
     1597//
     1598///* VBOXCMDVBVA_OPTYPE_BLT_PRIMARY specific flags*/
     1599///* if set - src is a primary id */
     1600//#define VBOXCMDVBVA_OPF_ALLOC_SRCPRIMARY               0x20
     1601///* if set - dst is a primary id */
     1602//#define VBOXCMDVBVA_OPF_ALLOC_DSTPRIMARY               0x10
     1603
     1604#define VBOXCMDVBVA_OPF_BLT_TYPE_PRIMARY                    0
     1605#define VBOXCMDVBVA_OPF_BLT_TYPE_PRIMARY_GENERIC_A8R8G8B8   1
     1606#define VBOXCMDVBVA_OPF_BLT_TYPE_OFFPRIMSZFMT_OR_ID         2
     1607#define VBOXCMDVBVA_OPF_BLT_TYPE_GENERIC_A8R8G8B8           3
     1608#define VBOXCMDVBVA_OPF_BLT_TYPE_PRIMARY_PRIMARY            4
     1609
     1610#define VBOXCMDVBVA_OPF_BLT_TYPE_MASK                       7
     1611/* blit direction is from first operand to second */
     1612#define VBOXCMDVBVA_OPF_BLT_DIR_IN_2                        0x10
     1613/* operand 1 contains host id */
     1614#define VBOXCMDVBVA_OPF_OPERAND1_ISID                       0x20
     1615/* operand 2 contains host id */
     1616#define VBOXCMDVBVA_OPF_OPERAND2_ISID                       0x40
    16041617
    16051618/* trying to make the header as small as possible,
     
    16121625    /* command-specific
    16131626     * VBOXCMDVBVA_OPTYPE_CRCMD                     - must be null
    1614      * VBOXCMDVBVA_OPTYPE_BLT_PRIMARY             - OR-ed VBOXCMDVBVA_OPF_ALLOC_XXX flags
    1615      * VBOXCMDVBVA_OPTYPE_BLT_OFFPRIMSZFMT_OR_ID    - OR-ed VBOXCMDVBVA_OPF_ALLOC_XXX flags
     1627     * VBOXCMDVBVA_OPTYPE_BLT                       - OR-ed VBOXCMDVBVA_OPF_ALLOC_XXX flags
    16161628     * VBOXCMDVBVA_OPTYPE_PAGING_TRANSFER           - must be null
    16171629     * VBOXCMDVBVA_OPTYPE_PAGING_FILL               - must be null
     
    16621674} VBOXCMDVBVA_ALLOCINFO;
    16631675
     1676typedef struct VBOXCMDVBVA_ALLOCDESC
     1677{
     1678    VBOXCMDVBVA_ALLOCINFO Info;
     1679    uint16_t width;
     1680    uint16_t height;
     1681} VBOXCMDVBVA_ALLOCDESC;
     1682
    16641683typedef struct VBOXCMDVBVA_RECT
    16651684{
     
    16771696} VBOXCMDVBVA_POINT;
    16781697
     1698typedef struct VBOXCMDVBVA_BLT_HDR
     1699{
     1700    VBOXCMDVBVA_HDR Hdr;
     1701    VBOXCMDVBVA_POINT Pos;
     1702} VBOXCMDVBVA_BLT_HDR;
     1703
    16791704typedef struct VBOXCMDVBVA_BLT_PRIMARY
    16801705{
    1681     VBOXCMDVBVA_HDR Hdr;
     1706    VBOXCMDVBVA_BLT_HDR Hdr;
    16821707    VBOXCMDVBVA_ALLOCINFO alloc;
    1683     VBOXCMDVBVA_POINT Pos;
    16841708    /* the rects count is determined from the command size */
    16851709    VBOXCMDVBVA_RECT aRects[1];
    16861710} VBOXCMDVBVA_BLT_PRIMARY;
    16871711
     1712typedef struct VBOXCMDVBVA_BLT_PRIMARY_GENERIC_A8R8G8B8
     1713{
     1714    VBOXCMDVBVA_BLT_HDR Hdr;
     1715    VBOXCMDVBVA_ALLOCDESC alloc;
     1716    /* the rects count is determined from the command size */
     1717    VBOXCMDVBVA_RECT aRects[1];
     1718} VBOXCMDVBVA_BLT_PRIMARY_GENERIC_A8R8G8B8;
     1719
    16881720typedef struct VBOXCMDVBVA_BLT_OFFPRIMSZFMT_OR_ID
    16891721{
    1690     VBOXCMDVBVA_HDR Hdr;
    1691     VBOXCMDVBVA_ALLOCINFO src;
    1692     VBOXCMDVBVA_ALLOCINFO dst;
    1693     VBOXCMDVBVA_POINT Pos;
     1722    VBOXCMDVBVA_BLT_HDR Hdr;
     1723    VBOXCMDVBVA_ALLOCINFO alloc;
     1724    uint32_t id;
    16941725    /* the rects count is determined from the command size */
    16951726    VBOXCMDVBVA_RECT aRects[1];
    16961727} VBOXCMDVBVA_BLT_OFFPRIMSZFMT_OR_ID;
     1728
     1729typedef struct VBOXCMDVBVA_BLT_GENERIC_A8R8G8B8
     1730{
     1731    VBOXCMDVBVA_BLT_HDR Hdr;
     1732    VBOXCMDVBVA_ALLOCDESC alloc1;
     1733    VBOXCMDVBVA_ALLOCDESC alloc2;
     1734    /* the rects count is determined from the command size */
     1735    VBOXCMDVBVA_RECT aRects[1];
     1736} VBOXCMDVBVA_BLT_GENERIC_A8R8G8B8;
     1737
     1738#define VBOXCMDVBVA_SIZEOF_BLTSTRUCT_MAX (sizeof (VBOXCMDVBVA_BLT_GENERIC_A8R8G8B8))
    16971739
    16981740typedef struct VBOXCMDVBVA_FLIP
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette