VirtualBox

Ignore:
Timestamp:
Feb 17, 2014 3:23:05 PM (11 years ago)
Author:
vboxsync
Message:

Build HGSMI memory allocator (unused)

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPHGSMI.cpp

    r44529 r50482  
    2020#include "VBoxMPCommon.h"
    2121#include <VBox/VMMDev.h>
     22#include <iprt/alloc.h>
     23
     24static DECLCALLBACK(void *) hgsmiEnvAlloc(void *pvEnv, HGSMISIZE cb)
     25{
     26    NOREF(pvEnv);
     27    return RTMemAlloc(cb);
     28}
     29
     30static DECLCALLBACK(void) hgsmiEnvFree(void *pvEnv, void *pv)
     31{
     32    NOREF(pvEnv);
     33    RTMemFree(pv);
     34}
     35
     36static HGSMIENV g_hgsmiEnvMP =
     37{
     38    NULL,
     39    hgsmiEnvAlloc,
     40    hgsmiEnvFree
     41};
    2242
    2343/**
     
    6888                                            cbGuestHeapMemory,
    6989                                              offVRAMBaseMapping
    70                                             + offGuestHeapMemory);
     90                                            + offGuestHeapMemory,
     91                                            &g_hgsmiEnvMP);
    7192
    7293            if (RT_FAILURE(rc))
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPShgsmi.cpp

    r44529 r50482  
    186186}
    187187
    188 int VBoxSHGSMIInit(PVBOXSHGSMI pHeap, void *pvBase, HGSMISIZE cbArea, HGSMIOFFSET offBase, bool fOffsetBased)
     188int VBoxSHGSMIInit(PVBOXSHGSMI pHeap, uint32_t u32HeapType, void *pvBase, HGSMISIZE cbArea, HGSMIOFFSET offBase,
     189                   const HGSMIENV *pEnv)
    189190{
    190191    KeInitializeSpinLock(&pHeap->HeapLock);
    191     return HGSMIHeapSetup(&pHeap->Heap, pvBase, cbArea, offBase, fOffsetBased);
     192    return HGSMIHeapSetup(&pHeap->Heap, u32HeapType, pvBase, cbArea, offBase, pEnv);
    192193}
    193194
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPShgsmi.h

    r46757 r50482  
    6161}
    6262
    63 int VBoxSHGSMIInit(PVBOXSHGSMI pHeap, void *pvBase, HGSMISIZE cbArea, HGSMIOFFSET offBase, bool fOffsetBased);
     63int VBoxSHGSMIInit(PVBOXSHGSMI pHeap, uint32_t u32HeapType, void *pvBase, HGSMISIZE cbArea, HGSMIOFFSET offBase, const HGSMIENV *pEnv);
    6464void VBoxSHGSMITerm(PVBOXSHGSMI pHeap);
    6565void* VBoxSHGSMIHeapAlloc(PVBOXSHGSMI pHeap, HGSMISIZE cbData, uint8_t u8Channel, uint16_t u16ChannelInfo);
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.cpp

    r49244 r50482  
    14511451#endif
    14521452
     1453static DECLCALLBACK(void *) hgsmiEnvAlloc(void *pvEnv, HGSMISIZE cb)
     1454{
     1455    NOREF(pvEnv);
     1456    return RTMemAlloc(cb);
     1457}
     1458
     1459static DECLCALLBACK(void) hgsmiEnvFree(void *pvEnv, void *pv)
     1460{
     1461    NOREF(pvEnv);
     1462    RTMemFree(pv);
     1463}
     1464
     1465static HGSMIENV g_hgsmiEnvVdma =
     1466{
     1467    NULL,
     1468    hgsmiEnvAlloc,
     1469    hgsmiEnvFree
     1470};
     1471
    14531472/* create a DMACommand buffer */
    14541473int vboxVdmaCreate(PVBOXMP_DEVEXT pDevExt, VBOXVDMAINFO *pInfo
     
    14861505        /* Setup a HGSMI heap within the adapter information area. */
    14871506        rc = VBoxSHGSMIInit(&pInfo->CmdHeap,
     1507                             HGSMI_HEAP_TYPE_POINTER,
    14881508                             pvBuffer,
    14891509                             cbBuffer,
    14901510                             offBuffer,
    1491                              false /*fOffsetBased*/);
     1511                             &g_hgsmiEnvVdma);
    14921512        Assert(RT_SUCCESS(rc));
    14931513        if(RT_SUCCESS(rc))
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