Définition de la taille et du pas de l'allocation de mémoire
Un pilote miniport d’affichage prenant en charge l’accélération matérielle GDI doit définir la taille et l’emplacement des allocations de mémoire système ou vidéo lorsqu’il traite les appels d’allocation suivants.
DxgkDdiCreateAllocation
Lorsque le pilote traite un appel à DxgkDdiCreateAllocation, il doit définir la taille, en octets, de l’allocation de mémoire système ou vidéo. La taille de l’allocation est définie via le membre pCreateAllocation-> pAllocationInfo-Size.> Si l’allocation est visible pour l’UC, la taille doit inclure la valeur de tangage, qui est la largeur de la surface, y compris le remplissage, en octets.
Les allocations sont visibles par l’UC si le membre pGetStandardAllocationDriverData>-pCreateGdiSurfaceData-Type> est défini sur D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE ou D3DKMDT_GDISURFACE_EXISTINGSYSMEM. Pour connaître les propriétés de ces types de surface, consultez les descriptions de D3DKMDT_GDISURFACETYPE.
DxgkDdiGetStandardAllocationDriverData
Lorsque le pilote traite un appel à DxgkDdiGetStandardAllocationDriverData pour une allocation visible par l’UC, elle doit :
Définissez le membre pGetStandardAllocationDriverData->StandardAllocationType sur D3DKMDT_STANDARDALLOCATION_GDISURFACE.
Définissez la description d’une surface qui peut être utilisée pour la redirection par l’accélération matérielle GDI et le Gestionnaire windows de bureau (DWM) via la structure D3DKMDT_GDISURFACEDATA pointée par le membre pGetStandardAllocationDriverData>-pCreateGdiSurfaceData. Par exemple, définissez le pitch de l’allocation par le biais du membre Pitch de D3DKMDT_GDISURFACEDATA.