Freigeben über


DXGKDDI_CREATEMEMORYBASIS Rückruffunktion (d3dkmddi.h)

Die dxgkDdiCreateMemoryBasis-Funktion von KMD erstellt ein Handle für eine Sammlung von Speicherbereichen, die die Zuordnung darstellen, die während der schmutzigen Bitnachverfolgung ausgeführt wird.

Syntax

DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;

HANDLE DxgkddiCreatememorybasis(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}

Parameter

hAdapter

[in] Ein Handle zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. KMD hat dieses Handle zuvor für Dxgkrnl- im MiniportDeviceContext- Ausgabeparameter der DxgiDdiAddDevice--Funktion bereitgestellt.

pArgs

[in] Ein Zeiger auf eine DXGKARG_CREATEMEMORYBASIS Struktur, die Informationen für die zu erstellende Basis enthält.

Rückgabewert

DxgkDdiCreateMemoryBasis gibt einen HANDLE-Verweis auf KMD zurück, um die Auflistung von Bereichen nachzuverfolgen. KMD sollte diese Informationen in die Informationen der Grundlage in nachfolgenden Befehlen wie DxgkDdiDestroyMemoryBasisumwandeln können.

Bemerkungen

Die Nachverfolgung von Änderungsvorgängen auf VRAM ist für Zuordnungen vorgesehen, die möglicherweise nicht zusammenhängend unterstützt werden. Die physischen Adressen, die in der Nachverfolgung von schmutzigen Bits dargestellt werden, bestehen also aus einer Sammlung von Bereichen, die die zu verwendende Zuordnung darstellen. DxgkDdiCreateMemoryBasis gibt einen Handle für den KMD-Verweis zurück, um diese Bereiche nachzuverfolgen.

Der KMD kann sich auf die folgenden Invarianten verlassen:

  • Für jeden Bereich in Rangesstellen sowohl SegmentOffset als auch (SegmentOffset + SizeInBytes - 1) gültige Adressen für das Segment dar, auf das SegmentIdverwiesen wird.

  • Alle Bereiche sind gekoppelt; d. h. die Schnittmenge zwischen zwei Bereichen ist immer NULL.

Es ist auch üblich, dass SegmentOffset- und SizeInBytes- bestimmte Seitenausrichtung berücksichtigt, wenn die erstellte Speicherbasis in bestimmten schmutzigen Tracking-DDIs verwendet wird. Diese Werte werden auf der Referenzseite der DDI beschrieben und sind immer ein Vielfaches von DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize.

Dxgkrnl garantiert andernfalls nicht die Reihenfolge der Adressen in der Sammlung von Ranges oder damit verbundenen Zusicherungen.

Weitere Informationen finden Sie unter Dirty Bit Tracking.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 11, Version 24H2 (WDDM 3.2)
Header- d3dkmddi.h
IRQL- PASSIVE_LEVEL

Siehe auch

DXGKARG_CREATEMEMORYBASIS

DxgkDdiDestroyMemoryBasis