Freigeben über


DXGI1_1_DDI_BASE_FUNCTIONS Struktur (dxgiddi.h)

Die DXGI1_1_DDI_BASE_FUNCTIONS-Struktur enthält Zeiger auf Funktionen, die der Anzeigetreiber für den Benutzermodus implementieren kann, um Vorgänge auf niedriger Ebene auszuführen, z. B. das Darstellen von gerenderten Frames auf einer Ausgabe, die Steuerung von Gamma, das Abrufen von Benachrichtigungen zu gemeinsam genutzten und GDI-interoperablen Oberflächen und das Verwalten eines Vollbildübergangs.

Syntax

typedef struct DXGI1_1_DDI_BASE_FUNCTIONS {
  HRESULT()(DXGI_DDI_ARG_PRESENT *) * pfnPresent;
  HRESULT()(DXGI_DDI_ARG_GET_GAMMA_CONTROL_CAPS *) * pfnGetGammaCaps;
  HRESULT()(DXGI_DDI_ARG_SETDISPLAYMODE *) * pfnSetDisplayMode;
  HRESULT()(DXGI_DDI_ARG_SETRESOURCEPRIORITY *) * pfnSetResourcePriority;
  HRESULT()(DXGI_DDI_ARG_QUERYRESOURCERESIDENCY *) * pfnQueryResourceResidency;
  HRESULT()(DXGI_DDI_ARG_ROTATE_RESOURCE_IDENTITIES *) * pfnRotateResourceIdentities;
  HRESULT()(DXGI_DDI_ARG_BLT *) * pfnBlt;
  HRESULT()(DXGI_DDI_ARG_RESOLVESHAREDRESOURCE *) * pfnResolveSharedResource;
} DXGI1_1_DDI_BASE_FUNCTIONS;

Angehörige

pfnPresent

Ein Zeiger auf die PresentDXGI--Funktion des Treibers.

pfnGetGammaCaps

Ein Zeiger auf die GetGammaCapsDXGI--Funktion des Treibers.

pfnSetDisplayMode

Die SetDisplayModeDXGI--Funktion wechselt in einen Anzeigemodus oder eine primäre Funktion, die der GDI-Desktop nicht unterstützt.

Die Microsoft Direct3D-Laufzeit ruft SetDisplayModeDXGI- auf, um zu einem Anzeigemodus oder primär zu wechseln, der vom GDI-Desktop nicht unterstützt wird. Die folgende Liste beschreibt Beispiele für solche Primarien:

  • Primaries, die mit 10-Bit-pro-Kanal-Formaten (10:10:10:2) erstellt werden, zeigen und rendern Zielformate an (z. B. D3DFMT_A2R10G10B10)
  • Mehrfachbeispiele, bei denen das Mehrfach-Sampling beim Scannen durchgeführt wird
  • Beständige Primärlisten, die von Microsoft DirectX-Anwendungen mit Vollbildversion 10 verwendet werden
Die Direct3D-Laufzeit ruft die CreateResource(D3D10) Funktion des Benutzermodus auf, um die primäre zu scannende Funktion zu erstellen. Der Treiber sollte die Hardware jedoch nur so programmieren, dass sie ausgecheckt wird, wenn die SetDisplayModeDXGI--Funktion aufgerufen wird. Daher legt die Laufzeit die hResource und SubResourceIndex Member der DXGI_DDI_ARG_SETDISPLAYMODE-Struktur fest, auf die der pDisplayModeData Parameter verweist, auf die primäre, die über den Aufruf der CreateResourceD3D10-Funktion des Treibers erstellt wurde. Der Treiber sollte dann den primären hResource- und SubResourceIndex- in ein primäres Zuordnungshandle übersetzen. Nachdem der Treiber diese Übersetzung ausgeführt hat, sollte der Treiber das resultierende Handle in einem Aufruf der pfnSetDisplayModeCb--Funktion übergeben, wodurch dann ein Aufruf der DxgkDdiCommitVidPn--Funktion des Anzeigeminiporttreibers initiiert wird.

Der Anzeigetreiber für den Benutzermodus kann den hPrimaryAllocation- Member der D3DDDICB_SETDISPLAYMODE Struktur im Aufruf von pfnSetDisplayModeCb festlegen, um alle Zuordnungen zu scannen. Die Zuordnung muss jedoch als primär gekennzeichnet werden (d. a. der Benutzermodusanzeigetreiber muss das Primäre Bitfeldflagge im Flags Mitglied der D3DDDI_ALLOCATIONINFO Struktur in einem Aufruf der pfnAllocateCb--Funktion festgelegt haben, um die Zuordnung zu erstellen).

pDisplayModeData

Ein Zeiger auf eine DXGI_DDI_ARG_SETDISPLAYMODE Struktur, die Parameter zum Festlegen des Anzeigemodus angibt.

pfnSetResourcePriority

Ein Zeiger auf die SetResourcePriorityDXGI--Funktion des Treibers.

pfnQueryResourceResidency

Ein Zeiger auf die QueryResourceResidencyDXGI-Funktion des Treibers.

pfnRotateResourceIdentities

Ein Zeiger auf die RotateResourceIdentitiesDXGI-Funktion des Treibers.

pfnBlt

Ein Zeiger auf die BltDXGI--Funktion des Treibers.

pfnResolveSharedResource

Die ResolveSharedResourceDXGI--Funktion informiert einen Anzeigetreiber im Benutzermodus, dass der Besitz einer gemeinsam genutzten Oberfläche geändert wurde oder dass eine Oberfläche für die GDI-Interoperabilität verwendet wird.

Die Direct3D-Laufzeit ruft ResolveSharedResourceDXGI- auf, wenn eine Anwendung eine der folgenden Funktionen aufruft:

  • IDXGIKeyedMutex::ReleaseSynch auf einer synchronisierten freigegebenen Oberfläche
  • IDXGISurface1::GetDC für eine interoperable GDI-Oberfläche
Die Laufzeit ruft die ResolveSharedResourceDXGI Funktion des Treibers bei jeder Änderung eines gemeinsam genutzten Oberflächenbesitzers oder bei Verwendung einer Oberfläche für die GDI-Interoperabilität auf.

Der Treiber implementiert ResolveSharedResourceDXGI-, um Ressourcen für mehrere GPU-Szenarien entsprechend zu verwalten. Jede Ressource kann über mehrere GPUs verteilt werden, auf denen sie gerendert werden können. Der Treiber kann ResolveSharedResourceDXGI- implementieren, um jede Ressource zu überführen, sodass der neue Ressourcenbesitzer über die zusammengeführte Ressource verfügt. Der Treiber muss alle teilweise erstellten Befehlspuffer leeren, die die Ressource ändern können.

Windows 7 stellt das IS_DXGI1_1_BASE_FUNCTIONS Makro bereit (das in der D3D10umddi.h Headerdatei definiert ist), damit der Benutzermodusanzeigetreiber bestimmen kann, ob er einen Zeiger auf eine DXGI1_1_DDI_BASE_FUNCTIONS oder DXGI_DDI_BASE_FUNCTIONS Struktur in einem Aufruf seiner CreateDevice(D3D10)--Funktion empfängt. Die DXGI1_1_DDI_BASE_FUNCTIONS-Struktur enthält das pfnResolveSharedResource Member, das der Treiber mit einem Zeiger auf seine ResolveSharedResourceDXGI-Funktion ausfüllen kann. Wenn IS_DXGI1_1_BASE_FUNCTIONS TRUE-zurückgibt, erwartet der Treiber, dass er einen Zeiger auf eine DXGI1_1_DDI_BASE_FUNCTIONS Struktur in der pDXGIDDIBaseFunctions Member der DXGI_DDI_BASE_ARGS Struktur empfängt, die der DXGIBaseDDI- Member der D3D10DDIARG_CREATEDEVICE Struktur angibt. Andernfalls erwartet der Treiber, dass der Treiber einen Zeiger auf eine DXGI_DDI_BASE_FUNCTIONS Struktur erhält, wenn IS_DXGI1_1_BASE_FUNCTIONS FALSE-zurückgibt. Windows 7 stellt das IS_DXGI1_1_BASE_FUNCTIONS-Makro bereit, um neueren Versionstreibern die Arbeit an älteren Versionslaufzeiten zu ermöglichen. Die Treiber können dann ermitteln, ob der Speicher beschädigt wird, wenn sie versuchen, die pfnResolveSharedResource Mitglied von DXGI1_1_DDI_BASE_FUNCTIONS mit einem Zeiger auf die ResolveSharedResourceDXGI--Funktion auszufüllen.

pResourceData

Ein Zeiger auf eine DXGI_DDI_ARG_RESOLVESHAREDRESOURCE Struktur, die Parameter für das Anzeigegerät und die Oberfläche angibt, die dem Anzeigegerät zugeordnet ist.

Bemerkungen

Windows 7 stellt das IS_DXGI1_1_BASE_FUNCTIONS-Makro bereit (das in der D3D10umddi.h Headerdatei definiert ist), damit der Benutzermodusanzeigetreiber bestimmen kann, ob er einen Zeiger auf eine DXGI1_1_DDI_BASE_FUNCTIONS oder DXGI_DDI_BASE_FUNCTIONS Struktur in einem Aufruf seiner CreateDevice(D3D10)--Funktion empfängt. Die DXGI1_1_DDI_BASE_FUNCTIONS-Struktur enthält das pfnResolveSharedResource Member, das der Treiber mit einem Zeiger auf seine ResolveSharedResourceDXGI-Funktion ausfüllen kann. Wenn IS_DXGI1_1_BASE_FUNCTIONS TRUE-zurückgibt, erwartet der Treiber, dass er einen Zeiger auf eine DXGI1_1_DDI_BASE_FUNCTIONS Struktur in der pDXGIDDIBaseFunctions Member der DXGI_DDI_BASE_ARGS Struktur empfängt, die der DXGIBaseDDI- Member der D3D10DDIARG_CREATEDEVICE Struktur angibt. Andernfalls erwartet der Treiber, dass der Treiber einen Zeiger auf eine DXGI_DDI_BASE_FUNCTIONS Struktur erhält, wenn IS_DXGI1_1_BASE_FUNCTIONS FALSE-zurückgibt. Windows 7 stellt das IS_DXGI1_1_BASE_FUNCTIONS-Makro bereit, um neueren Versionstreibern die Arbeit an älteren Versionslaufzeiten zu ermöglichen. Die Treiber können dann ermitteln, ob der Speicher beschädigt wird, wenn sie versuchen, die pfnResolveSharedResource Mitglied von DXGI1_1_DDI_BASE_FUNCTIONS mit einem Zeiger auf eine ResolveSharedResourceDXGI--Funktion auszufüllen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- DXGI1_1_DDI_BASE_FUNCTIONS wird ab dem Windows 7-Betriebssystem unterstützt.
Header- dxgiddi.h (include D3d10umddi.h)

Siehe auch

BltDXGI-

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE

DXGI_DDI_BASE_ARGS

DXGI_DDI_BASE_FUNCTIONS

GetGammaCapsDXGI

PresentDXGI-

QueryResourceResidencyDXGI-

ResolveSharedResource-

ResolveSharedResourceDXGI-

RotateResourceIdentitiesDXGI-

SetDisplayModeDXGI-

SetResourcePriorityDXGI-