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
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
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) |