VirtualBox

Changeset 22189 in vbox


Ignore:
Timestamp:
Aug 11, 2009 7:28:42 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
50975
Message:

video hw accel: propper report supported functionality, some code cleaning

Location:
trunk
Files:
5 edited

Legend:

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

    r22028 r22189  
    254254# ifdef VBOX_WITH_VIDEOHWACCEL
    255255#pragma pack(1)
     256
     257#define VBOXVHWA_VERSION_MAJ 0
     258#define VBOXVHWA_VERSION_MIN 0
     259#define VBOXVHWA_VERSION_BLD 1
     260#define VBOXVHWA_VERSION_RSV 0
    256261
    257262typedef enum
     
    511516#define VBOXVHWA_OFFSET64_VOID        (~0L)
    512517
     518typedef struct _VBOXVHWA_VERSION
     519{
     520    uint32_t maj;
     521    uint32_t min;
     522    uint32_t bld;
     523    uint32_t reserved;
     524} VBOXVHWA_VERSION;
     525
    513526typedef struct _VBOXVHWACMD_QUERYINFO1
    514527{
    515     uint32_t cfgFlags;
    516     uint32_t caps;
    517     uint32_t caps2;
    518     uint32_t colorKeyCaps;
    519     uint32_t stretchCaps;
    520     uint32_t surfaceCaps;
    521     uint32_t numOverlays;
    522     uint32_t numFourCC;
    523 
     528    union
     529    {
     530        struct
     531        {
     532            VBOXVHWA_VERSION guestVersion;
     533        } in;
     534
     535        struct
     536        {
     537            uint32_t cfgFlags;
     538            uint32_t caps;
     539
     540            uint32_t caps2;
     541            uint32_t colorKeyCaps;
     542
     543            uint32_t stretchCaps;
     544            uint32_t surfaceCaps;
     545
     546            uint32_t numOverlays;
     547            uint32_t curOverlays;
     548
     549            uint32_t numFourCC;
     550            uint32_t reserved;
     551        } out;
     552    } u;
    524553} VBOXVHWACMD_QUERYINFO1;
    525554
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c

    r22136 r22189  
    878878{
    879879    VBOXVHWACMD* pCmd = vboxVHWACommandCreate (ppdev, VBOXVHWACMD_TYPE_QUERY_INFO1, sizeof(VBOXVHWACMD_QUERYINFO1));
     880    VBOXVHWACMD_QUERYINFO1 *pInfo1;
    880881    if (!pCmd)
    881882    {
     
    883884        return NULL;
    884885    }
     886
     887    if (!pCmd)
     888    {
     889        DISPDBG((0, "VBoxDISP::vboxVHWAQueryHostInfo1: vboxVHWACommandCreate failed\n"));
     890        return NULL;
     891    }
     892
     893    pInfo1 = VBOXVHWACMD_BODY(pCmd, VBOXVHWACMD_QUERYINFO1);
     894    pInfo1->u.in.guestVersion.maj = VBOXVHWA_VERSION_MAJ;
     895    pInfo1->u.in.guestVersion.min = VBOXVHWA_VERSION_MIN;
     896    pInfo1->u.in.guestVersion.bld = VBOXVHWA_VERSION_BLD;
     897    pInfo1->u.in.guestVersion.reserved = VBOXVHWA_VERSION_RSV;
    885898
    886899    if(vboxVHWACommandSubmit (ppdev, pCmd))
     
    933946    }
    934947
    935     ppdev->vhwaInfo.caps = pInfo->caps;
    936     ppdev->vhwaInfo.caps2 = pInfo->caps2;
    937     ppdev->vhwaInfo.colorKeyCaps = pInfo->colorKeyCaps;
    938     ppdev->vhwaInfo.stretchCaps = pInfo->stretchCaps;
    939     ppdev->vhwaInfo.surfaceCaps = pInfo->surfaceCaps;
    940     ppdev->vhwaInfo.numOverlays = pInfo->numOverlays;
    941     ppdev->vhwaInfo.numFourCC = pInfo->numFourCC;
    942     ppdev->vhwaInfo.bVHWAEnabled = (pInfo->cfgFlags & VBOXVHWA_CFG_ENABLED);
     948    ppdev->vhwaInfo.caps = pInfo->u.out.caps;
     949    ppdev->vhwaInfo.caps2 = pInfo->u.out.caps2;
     950    ppdev->vhwaInfo.colorKeyCaps = pInfo->u.out.colorKeyCaps;
     951    ppdev->vhwaInfo.stretchCaps = pInfo->u.out.stretchCaps;
     952    ppdev->vhwaInfo.surfaceCaps = pInfo->u.out.surfaceCaps;
     953    ppdev->vhwaInfo.numOverlays = pInfo->u.out.numOverlays;
     954    ppdev->vhwaInfo.numFourCC = pInfo->u.out.numFourCC;
     955    ppdev->vhwaInfo.bVHWAEnabled = (pInfo->u.out.cfgFlags & VBOXVHWA_CFG_ENABLED);
    943956    vboxVHWAFreeHostInfo1(ppdev, pInfo);
    944957    return VINF_SUCCESS;
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxFrameBuffer.h

    r22136 r22189  
    13871387#ifdef VBOX_WITH_VIDEOHWACCEL
    13881388    STDMETHOD(ProcessVHWACommand)(BYTE *pCommand);
     1389
     1390
     1391    static bool isAcceleration2DVideoAvailable();
    13891392#endif
    13901393
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxGlobal.h

    r22173 r22189  
    749749
    750750#ifdef VBOX_WITH_VIDEOHWACCEL
    751     static bool isAcceleration2DVideoAvailable() { /* TODO: */ return true; }
     751    static bool isAcceleration2DVideoAvailable();
    752752    VBoxDefs::RenderMode vmAcceleration2DVideoRenderMode() { return VBoxDefs::QGLMode; }
    753753#endif
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobal.cpp

    r22173 r22189  
    3636#endif
    3737#include "VBoxUpdateDlg.h"
     38
     39#ifdef VBOX_WITH_VIDEOHWACCEL
     40#include "VBoxFrameBuffer.h"
     41#endif
    3842
    3943/* Qt includes */
     
    40654069    }
    40664070}
     4071
     4072#ifdef VBOX_WITH_VIDEOHWACCEL
     4073/* static */
     4074bool VBoxGlobal::isAcceleration2DVideoAvailable()
     4075{
     4076    return VBoxQGLFrameBuffer::isAcceleration2DVideoAvailable();
     4077}
     4078#endif
    40674079
    40684080// Public slots
Note: See TracChangeset for help on using the changeset viewer.

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