VirtualBox

Changeset 19464 in vbox for trunk/src/VBox/Additions/WINNT


Ignore:
Timestamp:
May 6, 2009 9:12:09 PM (16 years ago)
Author:
vboxsync
Message:

HGSMI support makefile fixes, basics for passing ddraw command to host

Location:
trunk/src/VBox/Additions/WINNT/Graphics
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/Makefile.kmk

    r17610 r19464  
    3333VBoxDisp_DEFS        += VBOX_VBVA_ADJUST_RECT
    3434#VBoxDisp_DEFS        += LOG_ENABLED
     35ifdef VBOX_WITH_VIDEOHWACCEL
     36VBoxDisp_DEFS        += VBOX_WITH_VIDEOHWACCEL
     37endif
    3538#VBoxDisp_DEFS        += STAT_sunlover
    3639VBoxDisp_SOURCES     = \
     
    5962VBoxDisp_LIBS         += \
    6063        $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
     64VBoxDisp_DEFS += VBOX_WITH_HGSMI
    6165endif
    6266
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/driver.h

    r18246 r19464  
    7575{
    7676    ULONG cbVRAM;
    77    
     77
    7878    ULONG offFrameBuffer;
    7979    ULONG cbFrameBuffer;
    80    
     80
    8181    ULONG offDDRAWHeap; //@todo
    8282    ULONG cbDDRAWHeap;
    83    
     83
    8484    ULONG offVBVABuffer;
    8585    ULONG cbVBVABuffer;
    86    
     86
    8787    ULONG offDisplayInformation;
    8888    ULONG cbDisplayInformation;
     
    111111    ULONG   ulMode;                     // Mode the mini-port driver is in.
    112112    LONG    lDeltaScreen;               // Distance from one scan to the next.
    113    
     113
    114114    PVOID   pOffscreenList;             // linked list of DCI offscreen surfaces.
    115115    FLONG   flRed;                      // For bitfields device, Red Mask
     
    128128    BOOL    bSupportDCI;                // Does the miniport support DCI?
    129129    FLONG   flHooks;
    130    
     130
    131131#ifndef VBOX_WITH_HGSMI
    132132    VBVAENABLERESULT vbva;
     
    165165    VBVABUFFER *pVBVA; /* Pointer to the pjScreen + layout->offVBVABuffer. NULL if VBVA is not enabled. */
    166166#endif /* VBOX_WITH_HGSMI */
     167
     168#ifdef VBOX_WITH_VIDEOHWACCEL
     169    BOOLEAN bVHWAEnabled;
     170#endif
    167171};
    168172
    169 #ifdef VBOX_WITH_OPENGL 
    170 typedef struct 
    171 { 
    172     DWORD dwVersion; 
    173     DWORD dwDriverVersion; 
    174     WCHAR szDriverName[256]; 
    175 } OPENGL_INFO, *POPENGL_INFO; 
    176 #endif 
     173#ifdef VBOX_WITH_OPENGL
     174typedef struct
     175{
     176    DWORD dwVersion;
     177    DWORD dwDriverVersion;
     178    WCHAR szDriverName[256];
     179} OPENGL_INFO, *POPENGL_INFO;
     180#endif
    177181
    178182#ifndef VBOX_WITH_HGSMI
     
    245249void drvLoadEng (void);
    246250
     251#ifdef VBOX_WITH_VIDEOHWACCEL
     252VBVAVHWACMD_HDR* vboxVHWACreateCommand (PPDEV ppdev, VBVAVHWACMD_LENGTH cbCmd);
     253void vboxVHWAFreeCommand (PPDEV ppdev, VBVAVHWACMD_HDR* pCmd);
     254void vboxVHWASubmitCommand (PPDEV ppdev, VBVAVHWACMD_HDR* pCmd);
     255#endif
     256
    247257BOOL bIsScreenSurface (SURFOBJ *pso);
    248258
     
    252262    {
    253263        PPDEV ppdev = (PPDEV)pso->dhpdev;
    254    
     264
    255265        if (ppdev)
    256266        {
     
    262272        }
    263273    }
    264    
     274
    265275    return pso;
    266276}
     
    276286        case BMF_32BPP: return 4;
    277287    }
    278    
     288
    279289    return 0;
    280290}
     
    290300#define VRDP_TEXT_MAX_GLYPH_SIZE 0x100
    291301#define VRDP_TEXT_MAX_GLYPHS     0xfe
    292  
     302
    293303BOOL vboxReportText (PPDEV ppdev,
    294304                     VRDPCLIPRECTS *pClipRects,
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c

    r19430 r19464  
    5555
    5656    DISPDBG((1, "VBoxDisp::vboxVbvaEnable called\n"));
    57    
     57
    5858    if (!ghsemHwBuffer)
    5959    {
     
    388388
    389389    DISPDBG((1, "VBoxDisp::vboxVbvaEnable called\n"));
    390    
     390
    391391    if (ppdev->bHGSMISupported)
    392392    {
    393393        VBVABUFFER *pVBVA = (VBVABUFFER *)((uint8_t *)ppdev->pjScreen + ppdev->layout.offVBVABuffer);
    394        
     394
    395395        pVBVA->u32HostEvents      = 0;
    396396        pVBVA->u32SupportedOrders = 0;
     
    406406        ppdev->pRecord           = NULL;
    407407        ppdev->pVBVA             = pVBVA;
    408        
     408
    409409        bRc = vboxVBVAInformHost (ppdev, TRUE);
    410410    }
     
    689689    return;
    690690}
     691
     692# ifdef VBOX_WITH_VIDEOHWACCEL
     693
     694VBVAVHWACMD_HDR* vboxVHWACreateCommand (PPDEV ppdev, VBVAVHWACMD_LENGTH cbCmd)
     695{
     696    VBVAVHWACMD_HDR* pHdr = (VBVAVHWACMD_HDR*)HGSMIHeapAlloc (&ppdev->hgsmiDisplayHeap,
     697                              cbCmd,
     698                              HGSMI_CH_VBVA,
     699                              VBVA_VHWA_CMD);
     700    if (!pHdr)
     701    {
     702        DISPDBG((0, "VBoxDISP::vboxVHWACreateCommand: HGSMIHeapAlloc failed\n"));
     703    }
     704
     705    return pHdr;
     706}
     707
     708void vboxVHWAFreeCommand (PPDEV ppdev, VBVAVHWACMD_HDR* pCmd)
     709{
     710    HGSMIHeapFree (&ppdev->hgsmiDisplayHeap, pCmd);
     711}
     712
     713void vboxVHWASubmitCommand (PPDEV ppdev, VBVAVHWACMD_HDR* pCmd)
     714{
     715    vboxHGSMIBufferSubmit (ppdev, pCmd);
     716}
     717
     718# endif
     719
    691720#endif /* VBOX_WITH_HGSMI */
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/Makefile.kmk

    r17583 r19464  
    5959VBoxVideo_LIBS         += \
    6060        $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
     61VBoxVideo_DEFS += VBOX_WITH_HGSMI
    6162endif
    6263
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