Freigeben über


DXGI1_3_DDI_BASE_FUNCTIONS Struktur (dxgiddi.h)

Enthält Zeiger auf Funktionen, die ein Windows Display Driver Model (WDDM) 1.3 und höherer Benutzermodusanzeigetreiber implementieren kann, um Low-Level-Aufgaben auszuführen, z. B. das Darstellen von gerenderten Frames auf eine Ausgabe, die Steuerung von Gamma, das Abrufen von Benachrichtigungen zu gemeinsam genutzten und GDI-kompatiblen Oberflächen (Windows Graphics Device Interface, GDI) und das Verwalten eines Vollbildübergangs.

Syntax

typedef struct DXGI1_3_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;
  HRESULT()(DXGI_DDI_ARG_BLT1 *) * pfnBlt1;
  HRESULT()(DXGI_DDI_ARG_OFFERRESOURCES *) * pfnOfferResources;
  HRESULT()(DXGI_DDI_ARG_RECLAIMRESOURCES *) * pfnReclaimResources;
  HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYCAPS *) * pfnGetMultiplaneOverlayCaps;
  HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *) * pfnGetMultiplaneOverlayGroupCaps;
  HRESULT()(void *) * pfnReserved1;
  HRESULT()(DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *) * pfnPresentMultiplaneOverlay;
  HRESULT()(void *) * pfnReserved2;
  HRESULT()(DXGI_DDI_ARG_PRESENT1 *) * pfnPresent1;
  HRESULT()(DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT *) * pfnCheckPresentDurationSupport;
} DXGI1_3_DDI_BASE_FUNCTIONS;

Angehörige

pfnPresent

Ein Zeiger auf die PresentDXGI--Funktion des Treibers.

pfnGetGammaCaps

Ein Zeiger auf die GetGammaCapsDXGI--Funktion des Treibers.

pfnSetDisplayMode

Ein Zeiger auf die SetDisplayModeDXGI--Funktion des Treibers.

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

Ein Zeiger auf die ResolveSharedResourceDXGI-Funktion des Treibers.

pfnBlt1

Ein Zeiger auf die Blt1DXGI-Funktion des Treibers.

pfnOfferResources

Ein Zeiger auf die pfnOfferResources-Funktion des Treibers.

pfnReclaimResources

Ein Zeiger auf die pfnReclaimResources-Funktion des Treibers.

pfnGetMultiplaneOverlayCaps

Wird von der DXGI-Laufzeit aufgerufen, um anzufordern, dass der Anzeigetreiber für den Benutzermodus grundlegende Überlagerungsebenenfunktionen erhält. Optional implementiert von WDDM 1.3 und höher Benutzermodus-Anzeigetreibern.

pfnGetMultiplaneOverlayGroupCaps

Wird von der DXGI-Laufzeit aufgerufen, um anzufordern, dass der Anzeigetreiber für den Benutzermodus eine Gruppe von Überlagerungsebenenfunktionen erhält. Optional implementiert von WDDM 1.3 und höher Benutzermodus-Anzeigetreibern.

Hinweis Diese Funktion wird für jede der Funktionsgruppen aufgerufen, die der Treiber meldet.
 

Syntax

pfnGetMultiplaneOverlayGroupCaps GetMultiplaneOverlayGroupCaps;

HRESULT __stdcall* GetMultiplaneOverlayGroupCaps(
   DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *pGroupCaps
)
{ ... }

Parameter-

pGroupCaps Einen Zeiger auf eine DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS Struktur, die die Gruppe der Überlagerungsebenenfunktionen angibt.

Rückgabewert

Gibt einen der folgenden Werte zurück.

  • S_OK Der Treiber hat die Überlagerungsebenenfunktionen erfolgreich bereitgestellt.
  • D3DDDIERR_DEVICEREMOVED Der Treiber hat festgestellt, dass der Grafikkarte entfernt wurde, sodass der Treiber den Vorgang nicht abgeschlossen hat. Wenn der Treiber das Entfernen des Adapters nicht kennt, ist der Treiber nicht erforderlich, um diesen Fehlercode zurückzugeben.

pfnReserved1

Reserviert für die Systemverwendung.

pfnPresentMultiplaneOverlay

Wird von der Microsoft DirectX Graphics Infrastructure (DXGI)-Laufzeit aufgerufen, um den Anzeigetreiber für den Benutzermodus zu benachrichtigen, dass eine Anwendung das Rendering abgeschlossen hat, und fordert an, dass der Treiber die Quelloberfläche durch Kopieren oder Kippen anzeigt oder dass der Treiber einen Farbfüllvorgang ausführt. Muss von Windows Display Driver Model (WDDM) 1.3 oder höher implementiert werden, die Mehrplanüberlagerungen unterstützen.

Wenn der Benutzermodusanzeigetreiber die Verarbeitung eines Aufrufs dieser Funktion erfolgreich abgeschlossen hat, wird die Quelloberfläche für die Anzeige angezeigt, indem die pfnPresentMultiPlaneOverlayCb (DXGI) Funktion aufgerufen wird.

PFND3DDDI_PRESENTMULTIPLANEOVERLAY pfnPresentMultiPlaneOverlay;

HRESULT __stdcall* pfnPresentMultiPlaneOverlay(
   DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *pPresentDXGI
)
{ ... }

Parameter-

pPresentDXGI Ein Zeiger auf eine DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY Struktur, die beschreibt, wie die Zieloberfläche angezeigt wird.

Rückgabewert

Wenn diese Rückruffunktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

pfnReserved2

Reserviert für die Systemverwendung.

pfnPresent1

Benachrichtigt den Anzeigetreiber für den Benutzermodus, dass eine Anwendung das Rendern abgeschlossen hat und dass der gesamte Besitz der freigegebenen Ressource freigegeben wird, und fordert an, dass der Treiber auf der Zieloberfläche angezeigt wird.

Syntax

pfnPresent1 Present1DXGI;

HRESULT __stdcall* Present1DXGI(
   DXGI_DDI_ARG_PRESENT1 *pPresentData
)
{ ... }

Parameter-

pPresentData [in] Ein Zeiger auf eine DXGI_DDI_ARG_PRESENT1 Struktur, die beschreibt, wie die Zieloberfläche angezeigt wird.

Bemerkungen

Das hDevice Member der DXGI_DDI_ARG_PRESENT1 Struktur, auf das der pPresentData Parameter verweist, ist dasselbe Handle, auf das die CreateDevice(D3D10)- Funktion des Treibers zurück an die Laufzeit im hDrvDevice Member der D3D10DDIARG_CREATEDEVICE Struktur übergeben wird. Daher müssen Treiberautoren den Typ dieses Handle sorgfältig definieren. Darüber hinaus können Treiber unterschiedliche Implementierungen der pfnPresent1(DXGI) Funktion bereitstellen, basierend auf der DDI-Implementierung den Aufruf von CreateDevice(D3D10)-verarbeitet hat. Die Laufzeit kombiniert niemals Treiberhandles über DDI-Implementierungen hinweg.

Der pDXGIContext Mitglied von DXGI_DDI_ARG_PRESENT1 ist ein undurchsichtiger Kommunikationsmechanismus. Die Laufzeit übergibt diesen DXGI-Kontext an den Treiber. Der Treiber sollte diesen DXGI-Kontext unverändert in den pDXGIContext Member der DXGIDDICB_PRESENT Struktur kopieren, wenn der Treiber die pfnPresentCbDXGI--Funktion aufruft.

Der Treiber muss alle teilweise erstellten Renderdaten (Befehlspuffer) mithilfe der pfnRenderCb--Funktion übermitteln, und der Treiber muss einen einzelnen Aufruf an pfnPresentCbDXGIdurchführen. Beim Aufrufen eines dieser Rückrufe muss der Treiber den Threadingregeln der PresentDXGI--Funktion entsprechen.

Hinweis Wenn der pfnPresent1(DXGI) des Treibers-Funktion sRGB-formatierten Inhalt von einer Quelloberfläche auf eine Nicht-sRGB-Zieloberfläche kopiert, sollte der Treiber den sRGB-Inhalt unverändert kopieren (d. h. der Treiber sollte den sRGB nicht zur linearen Konvertierung ausführen).

Threadingregeln

Diese Regeln gelten unabhängig davon, ob der Treiber freie Threading unterstützt oder nicht:

  • Der Treiber gibt die Unterstützung für das freie Threading an, indem das Caps Member der D3D11DDI_THREADING_CAPS-Struktur auf D3D11DDICAPS_FREETHREADEDfestgelegt wird. In diesem Fall:
    • Nur ein einzelner Thread kann gleichzeitig mit einem HCONTEXT-Kontexthandle arbeiten.
    • Der Treiber muss pfnPresentCbDXGI- nur aufrufen, wenn die pfnPresent1(DXGI)--Funktion des Treibers aufgerufen wird, und durch denselben Thread, der pfnPresent1(DXGI)aufgerufen hat.
  • Wenn der Treiber keine Unterstützung für freethreading angibt, kann er nur die Rückruffunktionen aufrufen, wenn ein Thread in den Treiber aufgerufen wurde. Der Treiber muss auch den pfnPresentCbDXGI Callback im Kontext pfnPresent1(DXGI)aufrufen.
Weitere Informationen zum Threading finden Sie unter Änderungen von Direct3D 10.

pfnCheckPresentDurationSupport

Ein Zeiger auf die pfnCheckPresentDurationSupport(DXGI) Funktion des Treibers.

Bemerkungen

Weitere Informationen zur Verwendung dieser Struktur finden Sie unter Unterstützen der DXGI DDI-.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8.1,WDDM 1.3 und höher
mindestens unterstützte Server- Windows Server 2012 R2
Header- dxgiddi.h (include D3d10umddi.h)

Siehe auch

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE

DXGI1_2_DDI_BASE_FUNCTIONS

DXGI_DDI_BASE_ARGS

DXGI_DDI_BASE_FUNCTIONS